我有一个以太网适配器和一个无线适配器,在我的生命中,我无法找到用于在TCP/IP上为系统上的所有适配器禁用Netbios的命令行(或powershell)。如果能对此提出意见,我将不胜感激。

发布于 2015-12-21 02:06:37
根据安德烈·维奥特的博客:
$adapters=(gwmi win32_networkadapterconfiguration )
Foreach ($adapter in $adapters){
Write-Host $adapter
$adapter.settcpipnetbios(0)
}应该禁用每个适配器上的Netbios。但是,您可能希望更有洞察力,并确保在正确的接口上禁用Netbios,因此我将首先运行Get-WmiObject Win32_NetworkAdapterConfiguration | Where IPAddress,以查看当前连接的适配器列表。
ServiceName DHCPEnabled Index Description
----------- ----------- ----- -----------
VMSMP True 14 Intel Wireless Adapter
VMSMP True 29 Intel Ethernet Adapter使用为Where对象提供的筛选器选择要禁用的对象,如下所示。我想关掉局域网上的NetBios。
$adapter = Get-WmiObject Win32_NetworkAdapterConfiguration | Where Description -like "*Ethernet*"
$adapter.SetTcpIPNetbios(0) | Select ReturnValue
ReturnValue
-----------
0但是有很多可能的返回码,就像很多。确保查一下这里的清单,不要懒惰地假设该功能将在每个设备上工作。您一定要先测试这一点,并了解其后果。
http://www.alexandreviot.net/2014/10/09/powershell-disable-netbios-interface/
发布于 2018-07-21 19:51:46
如果试图在没有连接的适配器上设置NetBIOS配置,则可以更改注册表中的设置,而不是直接使用SetTcpIPNetbios。
我遍历每个适配器端口(我有16个),然后关闭所有这些端口的NetBIOS:
$i = 'HKLM:\SYSTEM\CurrentControlSet\Services\netbt\Parameters\interfaces'
Get-ChildItem $i | ForEach-Object {
Set-ItemProperty -Path "$i\$($_.pschildname)" -name NetBiosOptions -value 2
}发布于 2020-06-07 05:19:52
从其他答案和评论中,我将其用作一行命令来禁用NetBIOS:
(Get-WmiObject Win32_NetworkAdapterConfiguration -Filter IpEnabled="true").SetTcpipNetbios(2)
https://stackoverflow.com/questions/34387413
复制相似问题