Info

Relativ einfache Anforderung: Es sollen Registry Keys nach bestimmten Inhalten durchsucht und diese dann herausgefiltert werden. Gesucht wird sowohl in den Attributbezeichnern als auch in den Werten, Achtung an dieser Stelle, dass nicht zu viel gelöscht wird.
Kurzes Beispiel:
registry-filtern-mit-batch-beispiel
Das Skript könnte mit dem Filter „Memento“ die ersten fünf Einträge herauslöschen. Mit „Version“ oder „Client“ würde jeweils ein Eintrag gelöscht werden. Somit ist das Skript wie ein Regex-ähnlicher Filter zum Löschen von Registry-Einträgen zu sehen.
Außerdem habe ich das Skript in zwei verschiedenen Varianten programmiert: Variante 1 ist einfach und arbeitet 1 Filteranfrage ab. Variante 2 verbaut den Code in einer Funktion und kann beliebig oft mit unterschiedlichen Filterparametern aufgerufen werden. Beide Skript sind durch möglichst viele Variablen gut anpassbar für den schnellen Einsatz.
weiterlesen

Kurze Sidenote und Ergänzung meiner Deployment-Sammlung: Ein Hipchat Batch Uninstaller für das Netzwerk.
Wir sind mittlerweile auf Slack umgestiegen und von daher musste Hipchat weg, das war jedoch nicht weiter schwer. Die bereits vorhandene Standardroutine für die Deinstallation im Installer wurde um wmic Befehle erweitert und auf diese eine Aufgabe verschlankt. Probleme gab es keine weiter, läuft gut durch.

hipchat-batch-uninstaller-log
Die Logausgaben sind in der aktuellen Version des Codes etwas sinnvoller, bitte nicht wundern.

Das Windows-Feature „User Account Control“ (UAC), im deutschen Windows auch Benutzerkontensteuerung genannt, ist seit Windows Vista verbaut und sorgt für sichereres Rechtehandling beim Ausführen von Programmen. Im Hintergrund steckt außerdem ein Sandboxing-Prinzip, wodurch unterschiedliche Programme in unterschiedlichen Nutzer- und Rechtekontexten auf einem Desktop vereint zusammen arbeiten können.
Das Bild zeigt den Dialog der UAC beim Starten eines Programms mit Adminrechten
Die Benutzerkontensteuerung kann auf eine von vier unterschiedliche Stufen gestellt werden; eine davon entspricht der Deaktivierung, die anderen drei realisieren unterschiedliche Sicherheitsstufen.

Das Bild zeigt die Einstellungen der Benutzerkonstensteuerung (UAC)Im (vertrauensvollen) Unternehmenseinsatz ist eine auf Stufe 1 gestellte UAC sinnvoll, damit administrative Aufgaben auch direkt aus der Anmeldung eines eingeschränkten Nutzers per Eingabe von Admin-Daten möglich ist. Diese lässt sich beispielsweise mit Batch und Registry konfigurieren und im Windows AD verteilen, hier der Code:

Die unterschiedlichen Werte der einzelnen Registry-Eigenschaften könnt ihr hier übersichtlich nachlesen. Es gibt noch weitere Punkte der UAC, die über die Registry gesteuert werden können.
PS: Das Konzept hinter der UAC ist äußerst komplex und es macht u.U. Spaß, sich als fortgeschrittener Windows-Nutzer darin einzulesen.

via, via

Einfache Windows-Admin-Frage: Welcher Mitarbeiter ist in diesem Moment und seit wann an welchem PC eingeloggt?

Einfache Antwort, kurz und knackig: Batch!
Mit Hilfe von PsLoggedOn, welches sich im selben Verzeichnis befinden muss wie das Skript:

via (leicht angepasst)

Das Bild zeigt das gekürzte PsLoggedOn-Script, welches zu allen eingeschalteten Domänencomputern die eingeloggten Nutzer anzeigt.

Auch dieser Artikel reiht sich in die Liste der Software-Batch-AD-Deployment-Guides ein.
Im Falle von HipChat wird der Artikel recht kurz, denn hier passiert nichts ungewöhnliches.

Vorbereitung

Das Bild zeigt das HipChat Deployment Verzeichnis mit seinen üblichen DateienDer aktuellste HipChat-Installer (für Windows) ist als .exe immer unter dieser URL verfügbar.
Anschließend wird wieder ein übliches Deployment-Verzeichnis auf einem für die PCs verfügbaren Netzlaufwerk erstellt: Installer, Installer-Batch, allowedPCs.txt und deniedPCs.txt (mehr Informationen zum Clientfilter hier). Im Standardfall (so auch in diesem Deployment-Script) wird die deniedPCs.txt benutzt, um einzelne Clients von der Verteilung auszuschließen. Die Textdatei muss dann Computernamen enthalten, einen pro Zeile.
Der HipChat-Installer muss folgendermaßen umbenannt werden: „HipChat_[Version].exe“ und der Versionsstring muss in das Deployment-Script in Zeile 11.

Deployment-Script

19.09.2016: Version 4.27.1.1658 getestet und verteilt.

Hinweis: Wer nicht nur ein Update sondern eine komplette Reinstallation von Hipchat im Netzwerk ausrollen will, kann mein angepasstes Script – hier als Download – nutzen. Die benötigte VersionCompare.exe erhaltet ihr hier.

Hier das Script für ein normales Update:

Und das war’s auch schon. Bei einem Update muss nur die neue .exe-Datei heruntergeladen und die Version in Zeile 11 angepasst werden.
Das Script kommt als Computer-Startscript in das GPO und schon startet die Verteilung:
Das Bild zeigt die Logausgaben des HipChat-Deployments
Das Bild zeigt das Deployment der 1648er Version anhand des allnew-Update-Scripts (siehe Hinweis und Download oben). Dabei wird an jedem PC, unabhängig der installierten Version (deswegen wird überall „Version 0.0“ deinstalliert), HipChat komplett deinstalliert und neu installiert. Beim Umstieg auf 1648 würde ich das empfehlen, weitere Update werden ich auch wieder mit dem normalen Script erledigen.