我正在寻找一种方法,在约一个月的有限时间内在我的域中的所有服务器上启用 NetBios,然后我应该再次禁用它(它被我们正在使用的某些库存应用程序使用)。你知道如何实现这个目标吗?Powershell 脚本会很好。
答案1
以下脚本将通过 PowerShell 执行您想要的操作。您需要一个文本文件,其中每行包含每个服务器的名称。该脚本假定每个系统上都有一个活动 NIC。如果您有多个活动 NIC,则需要循环遍历它们,并在每个 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 将它们全部拉入 $computers 变量,然后通过这种方式传递名称。
答案2
使用 Wmic
创建一个单独的文本文件,其中包含 CSV 列表或以回车符分隔的计算机名称列表,名为somefile.txt
然后从适当的权限帐户运行以下命令:
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 设置)