Nachdem Daniel Neumann im März in „NetBIOS und der Failover-Cluster“ eine Problemlösung im Zusammenhang mit Failover Cluster und deaktiviertem NetBIOS beschrieben hat, möchte ich hier noch einmal darauf eingehen, wie NetBIOS in den Netzwerkverbindungen sowie in der Cluster Ressource mit der Windows PowerShell deaktiviert werden kann. Dieses ist z.B. bei einer skriptbasierten Cluster-Konfiguration hilfreich. Dieser Artikel soll jedoch keine generelle Empfehlung sein, NetBIOS zu deaktivieren, dieses hängt vom Einzelfall und der Serverkonfiguration ab und sollte im Vorfeld genau überprüft werden! Empfehlenswert wäre hier z.B. der Artikel „Brauche ich noch WINS, wenn ich ein AD betreibe?“ von Nils Kaczenski.
Eine Übersicht über die aktuell vorhandenen Netzwerkadapter bekommt man mit Get-WmiObject über die Klasse Win32_NetworkAdapterConfiguration. Aufgrund der umfangreichen Eigenschaften, die man dadurch erhält, ist eine gezielte Filterung der für uns relevanten Informationen über ein Select-Object möglich.
gwmi Win32_NetworkAdapterConfiguration | select Caption,Index,IPAddress,TcpipNetbiosOptions,WINSEnableLMHostsLookup | ft -a
Der nächste Skriptbefehl deaktiviert die Option “NetBIOS über TCP/IP deaktivieren” im Netzwerkadapter mit dem Filter für den Index 7.
(gwmi Win32_NetworkAdapterConfiguration -f Index=7).SetTcpipNetbios(2)
Folgende SetTcpipNetbios-Optionen stehen zur Verfügung:
- 0 = Standard, NetBIOS-Einstellungen des DHCP-Servers verwenden
- 1 = NetBIOS über TCP/IP aktivieren
- 2 = NetBIOS über TCP/IP deaktivieren
Möchte man auf allen Netzwerkadaptern welche NetBIOS aktiviert haben, eine Deaktivierung durchführen, kann man als Filter z.B. TcpipNetbiosOptions=0 einsetzen. Oder man nutzt ein ForEach-Object, um in einem Durchlauf beide Optionen einzubeziehen.
0,1 | %{(gwmi Win32_NetworkAdapterConfiguration -f TcpipNetbiosOptions=$_).SetTcpipNetbios(2)}
Möchte man auch noch LMHOSTS abschalten, also die Option “LMHOSTS-Abfrage aktivieren” deaktivieren, geht das über nachfolgenden Befehl. Zu beachten ist, dass diese Einstellung nur global für alle Netzwerkadapter durchgeführt werden kann. Das erfordert den Zugriff über den WMI Type Accelerators [WMICLASS], dieser sogenannte Shortcut bietet einen umfangreicheren Zugriff als das Cmdlet gwmi an.
([wmiclass]"Win32_NetworkAdapterConfiguration").EnableWINS($null,0)
Eine Auswahl der Netzwerk Ressourcen erfolgt über Get-ClusterResource. Das Ergebnis wird dann nach Set-ClusterParamter gepipt. Die Deaktivierung erfolgt über den Parameter EnableNetBIOS, welcher auf 0 (FALSE) gesetzt wird.
Get-ClusterResource "IP-Adresse 192.168.0.1","IP-Adresse 192.168.0.2" | Set-ClusterParameter EnableNetBIOS 0
Eine andere Variante wäre es, über ein Where-Object nach allen „IP Address“ Ressourcen zu filtern.
Get-ClusterResource | ?{$_.ResourceType -like "IP Address"} | Set-ClusterParameter EnableNetBIOS 0
Als Letztes muss noch ein Neustart der Cluster Gruppen erfolgen, welche die oben geänderten Cluster Ressourcen verwenden. Dieses erreichen wir über Get-ClusterGroup, Stop-ClusterGroup und Start-ClusterGroup. Hier ist zu beachten, dass es eine kurze Downtime der Dienste gibt!
Get-ClusterGroup TEST-DHCP,TEST-FS | Stop-ClusterGroup | Start-ClusterGroup
http://faq-o-matic.net/?p=5599