Bents Blog

 

Ein IT Blog mit Themen aus dem Windows Server Umfeld.

Update meiner Skripterweiterungen für BGinfo

BGinfo von Sysinternals zählt ja zu den von mir absolut bevorzugten Werkzeugen für die Administration einer Serverlandschaft. Die Auflistung aller (aus meiner Sicht) relevanten Informationen eines Servers als Hintergrundbild mit automatischer Aktualisierung bei der Anmeldung ist für mich ein extrem wichtiges und mittlerweile unverzichtbares Hilfsmittel geworden.

Allerdings bedurfte es einiger Änderungen meiner bereits veröffentlichten BGInfo-Erweiterungen, um die folgenden Wünsche umzusetzen:

  • Vereinfachung beim Ausrollen der Erweiterungen
  • Beseitigung von Problemen bei der Ermittlung des Arbeitsspeichers
  • Anzeige aller Speicher-Controller

Alle Änderungen befinden sich im folgenden Packet bginfo_server.zip. Für die Ausführung wird das Programm bginfo.exe (aktuell in Version 4.16 4.20) benötigt, welches hier heruntergeladen werden kann.

Dokumentation der Änderungen

BGInfo benötigt zur Darstellung der gewünschten Werte im Hintergrundbild ein Template (BGI-Datei). In diesem Template ist nicht nur die Anordnung der Werte (Systemname, IP-Adresse, Betriebssystem etc.) sondern auch deren Herkunft (Registry, Umgebungsvariable, WMI-Abfrage, VBS-Skript) verankert. In meinem Paket lautet dieses Template

Server.bgi

und beinhaltet folgende Konfiguration (mit bginfo.exe geöffnet):

Hier sind alle später dargestellten Werte aufgelistet, auf der linken Seite befindet sich die Bezeichnung, auf der rechten Seite die zugehörige Variable. Leider sind nicht alle vordefinierten Variablen in BGInfo uneingeschränkt sinnvoll nutzbar, weswegen ich für die mit roten Punkten markierten Werte eigene VBS-Skripte geschrieben und im Template Server.bgi eingebunden habe:

  1. <IP Adress Detail> – ipadress.vbs: zeigt die IP-Adressen aller Netzwerkadapter des Systems an, die eine gültige IP-Adresse besitzen
  2. <DNS Server Complete> – dnsserver.vbs: zeigt alle eingetragenen DNS Server für aktivierte Netzwerkadapter mit gültigen IP-Adressen an
  3. <Network> – network.vbs: zeigt alle aktiven Netzwerkadapter, deren Verbindungsgeschwindigkeit und MAC-Adresse an
  4. <Memory Details> – memory.vbs: zeigt den physisch vorhandenen Arbeitsspeicher in MByte und in Prozent den freien Bereich an
  5. <Controller> – controller.vbs: zeigt alle SCSI- und IDE-Controller des Systems an
  6. <Diskspace> – diskspace.vbs: zeigt alle Volumes mit Laufwerksbuchstaben, Label, Gesamtgröße und prozentualen freien Speicherplatz an
  7. <Uptime> – uptime.vbs: zeigt die Betriebszeit des Servers seit dem letzten Reboot in Tagen, Stunden und Minuten an

Neu hinzugekommen ist das Skript controller.vbs, da der bisherige ausgelesene Wert <SCSI Controller> keine IDE-Controller berücksichtigte, die beispielsweise in mit Hyper-V virtualisierten Maschinen benutzt werden (dort muss die primäre Festplatte an einen IDE-Controller gebunden werden).

Außerdem wurde das Skript memory.vbs geändert, welches auf einigen virtuellen Systemen den physischen Arbeitsspeicher nicht korrekt ermitteln konnte.

Wichtigste und komfortabelste Änderung jedoch betrifft das Template Server.bgi selbst, in dem nun alle auf die VBS-Skripte verweisenden Pfade durch Nutzung einer Systemvariable (%userdnsdomain%) keiner Änderung beim Ausrollen bedürfen: Für die Ausführung meiner Erweiterung ist ein Verzeichnis innerhalb der Domäne nötig:

\\<FQDN>\Netlogon\BGinfo\

In diesem Verzeichnis muss das Tool bginfo.exe kopiert und der Inhalt meines ZIP-Paketes extrahiert werden. Anschließend kann der Aufruf sofort und ohne Anpassung des Templates erfolgen, da alle Skripte über den Pfad

\\%userdnsdomain%\netlogon\bginfo\<skriptname>.vbs

referenziert werden. Bei einem erneuten Update der Skripte bzw. des Templates können diese so zukünftig einfach und flexibel an dieser zentralen Stelle ersetzt werden.

Update vom April 2014

Inzwischen habe ich mein Skript um einige Informationen erweitert, sowie Änderungen bzw. Anpassungen vorgenommen. Ebenfalls geändert hat sich die Version von BGinfo selbst – hier ist nun die Version 4.20 vom 30.7.2013 aktuell.

Im Folgenden möchte ich kurz auf die Änderungen eingehen:

BGinfo Version 2013

Als zusätzliche Information wird der registrierte WSUS-Server eingeblendet. Dieser wird über den Registry-Wert

HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUServer

ermittelt und angezeigt. Neu hinzugekommen sind die beiden Werte Fullusername und NetDrives. Diese werden über folgende VBS-Skripte ermittelt:

  1. <Fullusername> – username.vbs: zeigt via Active Directory Abfrage den userPrincipalName an
  2. <NetDrives> – netdrives.vbs: zeigt die verbundenen Netzlaufwerke für den aktuellen Benutzer an

Außerdem habe ich eine zweite Variante des diskspace.vbs Skriptes im ZIP-Paket abgelegt. So zeigt die Version diskspace-v2.vbs an Stelle des Prozentwertes den tatsächlich freien Speicherplatz der lokalen Laufwerke an. Wer diese Version nutzen möchte, einfach den Inhalt dieser Datei im Skript diskspace.vbs ersetzen.

Automatischer und manueller Aufruf von BGinfo

Auf den von mir betreuten Kundensystemen habe ich BGinfo immer via Gruppenrichtlinie aufgerufen. Dies erfolgt in einer eignen Richtlinie (Verknüpft für die gesamte Domäne, Sicherheitsfilterung Domänen-Admins) in der unter Benutzerkonfiguration, Richtlinien, Windows-Einstellungen, Skripts der Eintrag (erster Teil als Name, zweiter Teil als Parameter)

\\<FQDN>\netlogon\bginfo\bginfo.exe \\<FQDN>\netlogon\bginfo\server.bgi /timer:0 /nolicprompt

erstellt wurde. So aktualisiert BGinfo bei der Anmeldung einen Domänen-Administrators an einem beliebigen Computer der Domäne den Bildschirmhintergrund mit den relevanten Daten. Das erzeugte Bitmap wird dabei im TEMP-Ordner des Benutzers abgelegt.

Oftmals ist es jedoch wünschenswert, während der Arbeit an einem System, die Daten des Hintergrundbildschirms schnell zu aktualisieren. Um den relativ langen Aufruf-Pfad nicht jedesmal umständlich von Hand eingeben zu müssen, empfiehlt sich die folgende Gruppenrichtlinieneinstellung (Gruppenrichtlinienerweiterungen für Windows Server 2008) für eine neue Verknüpfung:

Dadurch wird eine Verknüpfung im Startmenü (Programme) des entsprechenden Benutzers erzeugt, bei dessen Ausführung der Bildschirmhintergrund sofort aktualisiert wird.

Seit geraumer Zeit nutze ich nur noch in der betreffenden Gruppenrichtlinie (über die BGinfo für bestimmte Benutzer angewendet werden soll) die Ausführung als Skript bei der Anmeldung. Hier sind unter der Benutzerkonfiguration, Richtlinien, Windows-Einstellungen, Skripts (Anmelden/Abmelden), Anmelden folgende Einträge nötig:

Skriptname: \\%userdnsdomain%\NETLOGON\BGinfo\Bginfo.exe
Skriptparameter: \\%userdnsdomain%\NETLOGON\BGinfo\Server.bgi /timer:0 /nolicprompt

BGinfo als Anmeldeskript

So wird BGinfo bei der Benutzeranmeldung automatisch ausgeführt, einfach und zentral verwaltbar.

Fazit

BGinfo ist und bleibt für mich die erste Wahl, wenn es um die Darstellung von wichtigen Eckdaten eines Systems auf dem Bildschirmhintergrund geht. Wünschenswert wäre eine für die Anzeige mögliche Farbwahl in Abhängigkeit vom ermittelten Variablenwert (bspw. rot für einen zu 99% belegtes Laufwerk, sonst weiß), dies würde noch schneller auf eventuelle Probleme oder Fehler hinweisen. Doch auch mit dem gegebenen Funktionsumfang genügt mir BGinfo, um relevante Informationen einfach und flexibel zu visualisieren.

Wie bei allen meinen Beiträgen gilt: Bei Tipps, Vorschlägen sowie Fragen oder Kritiken hinterlasst bitte einen Kommentar.

Einen Blog am Leben zu erhalten kostet Zeit und Geld. Da ich auf meiner Seite weder Werbung einbinde, noch andersweitige Zuwendungen erhalte, freue ich mich über jede kleine Spende. Einfach und unkompliziert geht das über PayPalMe. Du unterstützt damit diesen Blog. Vielen Dank.

Kommentare für “Update meiner Skripterweiterungen für BGinfo”

  • Bent Schrader

    Auf Grund der am 25. Mai 2018 in Kraft tretenden europäischen Datenschutz-Grundverordnung wurden alle Kommentare abgeschaltet und gelöscht. Damit wird die Erhebung personenbezogener Daten vermieden. Das DSGVO wurde von Professor Thomas Hoeren zu "einem der schlechtesten Gesetze des 21. Jahrhunderts" gekürt, mit der Bemerkung, dass überbordene Werk sei "hirnlos". Ich bedaure sehr, das damit die Möglichkeit zum Austausch von Informationen von Gleichgesinnten verhindert wird.