SCCM 構成項目/ベースラインを使用して NetBIOS を無効にする

SCCM 構成項目/ベースラインを使用して NetBIOS を無効にする

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

関連情報