有没有办法在计算机列表上运行并启用NetBios?

我正在寻找一种方法来在域中的所有服务器上启用NetBios约一个月的有限时间,然后我应该再次禁用它(由我们使用的一些库存应用程序使用)。 你有什么想法如何实现这个目标? PowerShell脚本将是很好的。

以下脚本将通过PowerShell完成所需的任务。 您将需要一个文本文件,每个服务器的名称在一行上。 该脚本假定每个系统上都有一个活动的NIC。 如果你有多个活动的网卡,你需要在它们之间循环,设置每个网卡。

$computers = Get-Content -Path "S:\ome path\to text file.txt" foreach ($computer in $computers) { $NIC = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled = true" -ComputerName $computer $NIC.SetTcpipNetbios("1") } 

如果将所有服务器都放在一个OU中,则可以使用QuestAD cmdlet将其全部放入$ computersvariables中,然后通过该名称。

使用Wmic

创build一个单独的文本文件,其中包含一个名为somefile.txt的计算机名称的CSV列表或回车定界列表

然后从适当的权限帐户运行以下命令:

 wmic /node:@somefile.txt /interactive:off nicconfig where TcpipNetbiosOptions=0 call SetTcpipNetbios 1 wmic /node:@somefile.txt /interactive:off nicconfig where TcpipNetbiosOptions=2 call SetTcpipNetbios 1 

完成后,将上面的代码更改为SetTcpipNetbios为2(禁用)。 (0通过DHCP设置)