Skripting der Computer-Beschreibungen
28. Februar 2010Wenn Anwender das Netzwerk durchsuchen, bekommen sie für die gefundenen Computer eine mehr oder weniger passende Beschreibung geliefert. Das Erstellen dieser Beschreibungen lässt sich üblicherweise nicht sonderlich gut zentral abhandeln. Doch aussagekräftige Informationen helfen in Netzwerkumgebungen den Anwendern weiter.
Mit Hilfe der MMC (Microsoft Management Console) kann der Administrator diese Aufgabe ausführen. Doch da wird es schnell sehr aufwändig, wenn man auch entfernte Systeme zu bearbeiten hat. Hier setzt das Skript NetComment.vbs an (Abonnenten können dieses Programm hier als Download beziehen). Mit ihm lassen sich sehr schnell die Beschreibungen gleich für mehrere Computer – die lokalen Systeme ebenso wie die entfernten – anzeigen, neu erstellen oder auch ganz löschen.
Das Ändern der Beschreibung eines Computers erledigt üblicherweise das Kommando Net Config Server – dazu muss der Administrator noch den Parameter /srvcomment verwenden. Auf diese Weise ist das Abfragen, Erstellen und Löschen der Computer-Beschreibungen zu machen. Doch dieser Befehl schreibt die aktuellen Daten des LAN Manager Service in die Registry.
Allerdings wird damit der Dienst nicht mehr das „auto tuning“ bieten. Möchte man das „auto tuning“ wieder aktivieren, muss man die Tuning-Parameter unter dem Registry-Schlüssel
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\parameters
von Hand löschen. Von Microsoft gibt es dazu einen Beitrag der sich mit dem Auto-Tuning-Verhalten des LAN Manager Service auseinandersetzt.
Das Abfragen der Computer-Beschreibung
Das Ermitteln der aktuellen Computerbeschreibung mit dem Skript NetComment.vbs eines entfernten Systems kann durch die Angabe der IP-Adresse oder des Computernamens erfolgen. Die folgenden Befehle liefern die Computer-Beschreibung eines entfernten Systems, so hier etwas eingetragen ist:
NetComment 192.168.0.23
NetComment PrintServer02
Die zurückgelieferte Information kommt im Format
Computer name = computer beschreibung
Sollte für ein System keine Beschreibung angegeben sein, bekommt man die Nachricht
net error 1
geliefert. Das ist durchaus normal, denn man möchte ja auf einen Registry-Wert zugreifen der nicht existiert. Es wird aber auch eine Fehlermeldung geliefert, wenn ein entfernter Computer nicht erreicht werden kann.
Der Administrator kann die Beschreibung des lokalen Computers prüfen. Dazu muss er dessen Namen oder seine IP-Adresse, oder eine Punkt oder auch gar keine zusätzliche Info angeben. Die folgenden Kommandos liefern alle die Beschreibung, die für das lokale System zutrifft:
NetComment Angel1
NetComment 127.0.0.1
NetComment .
NetComment
Da das Skript ohne Angabe von Argumenten gestartet werden kann, lässt es sich auch als ein Werkzeug verwenden, um schnell die Beschreibung des lokalen Computers zu erhalten. Dazu arbeitet NetComment.vbs auch sehr gut in WScript- und CScript-Umgebungen.
Setzen und Löschen der Beschreibung
Um eine Beschreibung für einen entfernten Computer zu setzen, muss der Administrator nur die gewünschte Beschreibung als das zweite Argument übergeben. Diese Information muss von doppelten Hochkommata eingerahmt werden. Angenommen man möchte beim System PrintServer02 als Beschreibung „Engineering Printers“ angeben, eignet sich das folgende Kommando dazu:
NetComment PrintServer02 "Engineering Printers"
Dieser Befehl ist auf einer Zeile einzugeben. Um die Beschreibung für den lokalen Computer zu setzen, bedarf es des Computernamens und der zugehörigen Beschreibung, wie der folgende Befehl zeigt:
NetComment 127.0.0.1 "Test PC"
Mit derselben Vorgehensweise lässt sich auch die Beschreibung eines Computers (entweder das lokale System oder eine entfernte Maschine) löschen. Dazu braucht man dem Skript nur den Namen des Systems mitgeben und dann noch eine leere Beschreibung (das wird mit Hilfe von zwei aufeinander folgenden doppelten Hochkommata erreicht) mitgeben. Die Beispiele dazu sehen wie folgt aus:
NetComment PrintServer ""
NetComment 127.0.0.1 ""
Diese Beispiele zeigen sehr schön, dass nur der Computername angegeben werden muss sowie ein Paar von doppelten Hochkommata mit nichts dazwischen, um die Beschreibung zu löschen – ganz egal ob es sich um das lokale System oder einen entfernten Computer handelt.
Der Einsatz von Batch-Vorgängen mit NetComment.vbs
Das Skript NetComment.vbs lässt sich aber auch in eine Stapelverarbeitungsdatei einbinden. Dazu ist ein Batch-File-Wrapper nötig, um mehrere Computer in einer Batch-Operation zu behandeln. Hierzu sind zwei Wrapper-Skripts vorgesehen:
- BatchNetComment.cmd prüft die Beschreibungen für mehrere Systeme und
- BatchCVlearNetComments.cmd löscht die Beschreibung für mehrere Computer.
Um diese Wrapper-Skripts einsetzen zu können, müssen die Dateien BatchNetComment.cmd und BatchClearNetComment.cmd im selben Verzeichnis liegen wie NetComment.vbs. Die beiden Wrapper-Skripts sind ebenfalls in der Download-Datei am Ende dieses Beitrags enthalten.
Angenommen die Liste mit den Computernamen liegt in einer Textdatei namens C:\tmp\nodes.txt (immer ein Name in einer Zeile), kann man eines der beiden folgenden Kommandos verwenden. Das Überprüfen der Beschreibung für jedes System, das in der Textdatei benannt ist, wird mit dem folgenden Kommando geliefert:
BatchNetCommand c:\tmp\nodes.txt
Möchte der Administrator die Beschreibung für jeden Computer in dieser Textdatei löschen, muss er das folgende Kommando nehmen:
BatchClearNetComment c:\tmp\nodes.txt
Beim Einsatz des Skripts NetComment.vbs und der zugehörigen Wrapper-Skripts sind einige Punkte zu beachten:
- Es sind Administratorberechtigungen nötig, um eine Beschreibung erfolgreich zu ändern.
- Änderungen an der Beschreibung können unter Umständen erst nach einem Neustart des Systems in Kraft treten – und erst da wird dann die Beschreibung über das Netzwerk an die anderen Systeme gemeldet.
- Das Skript NetComment.vbs verwendet den WMI-Registry-Provider (Windows Management Instrumentation), um einige Probleme zu vermeiden, die auftreten, wenn man andere WMI-Klassen für diese Aufgaben verwendet. Das bedeutet aber auch, dass man den remoten Zugriff auf WMI auf dem system haben muss, das man prüfen oder ändern möchte.
- NetComment.vbs funktioniert mit Systemen ab Windows 2000 (und aktuelleren). Auf früheren versionen kann es nur funktionieren, wenn WMI installiert ist.
- Die Batch-Dateien BatchNetComment.cmd und BatchClearNetComment.cmd arbeiten nur ab Windows 2000 (und neueren Versionen), denn sie verwenden die Option usebackq – frühere Versionen von Windows kommen damit nicht klar.
- Beim Setzen der Beschreibung wird netComments.vbs die Beschreibung auf maximal 48 Zeichen eingrenzen – ohne dazu eine Fehlermeldung auszugeben. Längere Beschreibungen könnten Probleme verursachen. Windows-Server unterdrücken üblicherweise lange Beschreibungen. Doch Nicht-Windows-Systeme leiten sie weiter – dadurch können unter Umständen Netzwerkdienste von Windows sogar zum Absturz gebracht werden. Ist bereits eine längere Bescvhreibung gesetzt worden, wird sie NetComment.vbs anzeigen, wie sie ist (also nichts abschneiden).
Mit Hilfe des Skripts NetComment.vbs lassen sich sehr schnell die Beschreibungstexte eines Computers abholen, neu setzen oder löschen – egal ob es sich um ein entferntes oder um das lokale System handelt. Mit den Stapelverarbeitungsdateien BatchNetComment.cmd und BatchClearNetComment.vbs lassen sich diese Beschreibungen elegant für mehrere Computer ermitteln oder entfernen. Wer die Aktionen der Skripts anpassen möchte, kann dies nach seinen Anforderungen über einfache Modifikationen am Skriptcode schnell machen.