Я пытаюсь отключить 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», то соответствие конфигурации показывает «ошибку» при оценке в Configuration Manager, и исправление не запускается автоматически. Если я сам запустил сценарий, конфигурация вернется в соответствие с требованиями.
Что-то мне не хватает?
редактировать Я вижу сообщение об ошибке
Ошибка обнаружения 0x80070001 Неправильная функция. Windows
$adapter.settcpipnetbios(2)
должно быть
$nic.settcpipnetbios(2)
Иначе не было бы причин для foreach
петля.