
Ich versuche, NetBIOS zu deaktivieren und muss dies über SCCM für mehrere Clients tun.
Ich versuche, dies über Compliance-Einstellungen zu tun und habe Folgendes eingerichtet (und es funktioniert, wenn es lokal ausgeführt wird):
Discovery-Skript
$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)
Korrekturskript
$adapter=(gwmi win32_networkadapterconfiguration | where {$_.ipenabled -eq "1"})
Foreach ($nic in $adapter) {
$adapter.settcpipnetbios(2)
}
Das Ausführen des Skripts funktioniert also auf jedem Rechner lokal und SCCM gibt, sofern es bereits kompatibel ist, die richtige Antwort.
ABER
Wenn die Registrierungswerte als $adapter.TcpIPNetBiosOptions -ne "2" zurückgegeben werden, zeigt die Konfigurationskonformität bei der Auswertung im Configuration Manager "Fehler" an und die Behebung wird nicht automatisch ausgelöst. Wenn ich das Skript selbst ausführe, wird die Konfiguration als konform zurückgegeben.
Gibt es etwas, das ich übersehe?
BearbeitenIch sehe, dass der folgende Fehler gemeldet wird
Einstellungserkennungsfehler 0x80070001 Falsche Funktion. Windows
Antwort1
$adapter.settcpipnetbios(2)
sollte sein
$nic.settcpipnetbios(2)
Sonst gäbe es keinen Grund für die foreach
Schleife.