我正在尝试禁用 NetBIOS,并需要通过 SCCM 对多个客户端执行此操作。
我正在尝试通过合规性设置来执行此操作,并已实施以下内容(并且它们在本地运行时有效)
发现脚本
$adapter=(gwmi win32_networkadapterconfiguration | where {$_.ipenabled -eq "1"})
Foreach ($nic in $adapter) {if ($adapter.TcpIPNetBiosOptions -ne "2") {[System.Environment]::Exit(1)}} [System.Environment]::Exit(0)
补救脚本
$adapter=(gwmi win32_networkadapterconfiguration | where {$_.ipenabled -eq "1"})
Foreach ($nic in $adapter) {
$adapter.settcpipnetbios(2)
}
因此,在本地的每台机器上运行该脚本都是可行的,如果已经符合要求,SCCM 就会给出正确的响应
但
如果注册表值返回为 $adapter.TcpIPNetBiosOptions -ne "2",则在配置管理器中评估配置合规性时显示“错误”,并且补救措施不会自动触发。如果我自己运行脚本,则配置将返回合规性。
我是否遗漏了什么?
编辑我看到报告了以下错误
设置发现错误 0x80070001 功能不正确。Windows
答案1
$adapter.settcpipnetbios(2)
应该
$nic.settcpipnetbios(2)
否则就没有理由出现foreach
循环。