21x9.org

WPKG 1: Windows-Softwareverteilung mit Linuxmitteln

Categories: [blog]
Tags: [imported]

Wer 20 oder mehr Windows-Clients zu betreuen hat kennt das, es gibt immer mal wieder Softwareupdates welche die Benutzer einfach brauchen, oder die Sicherheitslücken schließen. Hier den Turnschuhadmin zu spielen dauert nicht nur für einen selbst zu lange, auch die Benutzer können in der Zeit nicht arbeiten.

Eine zentrale Softwareverwaltung mag mit Windows-Servern gut funktionieren, Samba (zumindest Samba3) bietet hier wenig Unterstützung, aber es gibt durchaus einige Tools. Früher habe ich OPSI verwendet. Mittlerweile setze ich jedoch auf eine Kombination verschiedener Tools wie WPKG und AutoIT.

WPKG ist eigentlich nur ein einfaches JavaScript welches über den Windows-Scripting-Host auf den Clients ausgeführt werden kann. Über XML-Dateien gesteuert unterscheidet WPKG zwischen Clients (Hosts), Gruppen und Paketen. Ein Host kann einer oder mehreren Gruppen zugeordnet sein und den Gruppen sind Pakete zugeordnet. Die Pakete enthalten die Versionnummern und Installationskommandos der zu verteilenden Software. Auch eine Deinstallation ist möglich. Außerdem bietet WPKG die Möglichkeit über Paket-Checks den Installationserfolg zu prüfen. Auch ein Check ob eine bestimmte Softwareversion bereits installiert ist ist so möglich.

Die Erstellung der Host-, Gruppen- und Paket-XML-Dateien kann per Hand oder über Webobflächen wie WPKGExpress erfolgen. Ich nutze hierzu seit Beginn WPKGExpress. WPKG hat verschiedene Clientkomponenten welche es erlauben die Softwareverteilung in den Windows-Bootvorgang einzubetten. So kann die Installation vor der Benutzeranmeldung mit Adminrechten erfolgen, wahlweise kann die Installation auch beim Herunterfahren erfolgen. WPKG selbst bietet die den WPKG-Client an. Von einem Dritthersteller gibt es das moderne WPKG-GP.

Beide Tools haben jedoch durchaus Nachteile. Es gibt immer mal wieder Programme welche für eine Silent-Installation (also eine Installation ohne Benutzereingriff) nicht ausgelegt sind. Oder aber Programme welche unsignierte Treiber mitbringen (z.B. FreePDF) die unter Windows 7 64-Bit zu Fehlermeldungen führen. Solche Installationsprogramme können mit AutoIT zur Kooperation überredet werden. AutoIT funktioniert jedoch nicht wenn die Installation vor der Benutzeranmeldung passieren soll, da es dann kein Interface gibt welches AutoIT zuverlässig steuern könnte.

Bei einer Installation beim Herunterfahren gilt dies ebenfalls, hier kommt noch hinzu dass manche Installer ihre Aktivität nicht korrekt an Windows zurückmelden und der Rechner u.U. zu früh heruntergefahren wird. Unfertige Installationen sind die Folge.

Ich nutze daher weder den WPKG-Client noch WPKG-GP sondern nutze ein kleines AutoIT-Script welches per netlogon.bat ausgeführt wird und dann per AutoIT-RunAs-Befehl per Windows Scripting Host das WPKG-Javascript ausführt. Das Administratorkennwort befindet sich (verschlüsselt) in dem AutoIT-Script. Außerdem wurde das Script in eine EXE umgewandelt, was es den Benutzern sehr erschweren dürfte an das Kennwort zu gelangen.

Soweit der erste Überblick über die Funktionsweise. Im nächsten Artikel wird die Installation und Konfiguration erläutert.

WPKG-Website: http://wpkg.org/
AutoIT-Website: http://www.autoitscript.com/site/autoit/
WPKG-Express-Website: https://code.google.com/p/wpkgexpress/