Hat man einige PC in einem Netzwerk zu betreuen, sollte man als „braver“ Admin möglichst dafür sorgen, dass diverse Sicherheitsupdates zeitnah eingespielt werden.
Am Beispiel eines Windowsnetzwerkes greift man für MS-Updates in der Regel auf den kostenlos erhältlichen WSUS (Windows Server Update Services) zurück. WSUS wird auf einen bestehenden Windows Server installiert. Danach erfolgt die Verteilung von Updates über entsprechend eingestellte Gruppenrichtlinien (z.B.: Alle Geräte in der Organisationseinheit „Verkauf“ bekommen die Updates zu einem bestimmten Zeitpunkt voll automatisch angeboten.)
Wie verhält es sich aber mit „Nicht-MS-Updates“. Vor allem der Adobe Acrobat Reader, der Adobe Flashplayer und auch das Java Runtime Environment reissen nur all zu oft Sicherheitslücken auf.
Auch wenn ein PC noch so gut mit MS Updates versorgt wird, hilft es nichts, wenn dafür der Flashplayer, der Adobe Acrobat Reader, oder das Java Runtime Environment hoffnungslos veraltet ist.
Auf einem einzelnen PC ist auch das nicht das Problem, denn auch hier bekommt man entsprechende Updatemeldungen.
- Was aber, wenn es sich um 100 PC handelt?
- Die Anwender keine Berechtigung haben, etwas zu installieren bzw. herunter zu laden?
Problem 1: Wie komme ich an die Full Installer?
- Acrobat Reader: ftp://ftp.adobe.com/pub/adobe/reader/
- Flashplayer: http://www.adobe.com/products/flashplayer/distribution3.html
- Java Runtime Environment: http://www.java.com/de/download/manual.jsp bzw. http://www.chip.de/downloads/Java-Runtime-Environment-32-Bit_13014576.html
Problem 2: Welche Parameter benötige ich für eine „stille Installation“?
- Flashplayer (für Internet Explorer): install_flash_player_active_x.exe -install
- Flashplayer (für Firefox/Mozilla): install_flash_player_plugin.exe -install
- Adobe Acrobat Reader: AdbeRdr1014_de_DE.exe /msi EULA_ACCEPT=YES /qn
- Java Runtime Environment: jre-7u7-windows-i586.exe /s /L C:\setup.log
Problem 3: Wie soll ich die Installationen Remote also „über das Netzwerk“ starten?
Hier gibt es viele verschiedene Möglichkeiten:
- Über Gruppenrichtlinien –> Die Datei wird in den Ordner Netlogon (des Server) gelegt und dann per Gruppenrichtlinie aufgerufen (hier kann es sinnvoll sein, ein eigenes Script/Batchdatei zu schreiben-> Systemkonfiguration\Startskript
- Man bedient sich des Befehls PSEXEC (ehem. Sysinternal-Tools) um die Befehlszeile Remote (mit einem Adminuser) ausführen zu können. Das ist natürlich bei -sagen wir- 100 PC mühsam
- Man greift zb auf „Purgos“ zurück. Dieses Tool ist zumindest in der Version 3 (noch) kostenlos (Genauere Infos hier: http://4sysops.com/archives/free-purgos-open-source-desktop-management-software-for-windows/)
Kurze Zusammenfassung zur Verwendung von Purgos
Zuerst installiert man die Serverkomponente auf dem PC, der der „Purgosserver“ sein soll. Hat man das erledigt, kann man die Client PC des Netzwerkes hinzufügen. Dies geschieht entweder per Angabe des IP Bereiches, oder der Namen der PC. Abgesehen davon ist es auch möglich, direkt auf das Active Directory zuzugreifen, um die PC von dort zu „holen“.
Sind die Computer in Purgos „eingecheckt“, bringt man noch den Purgos Agent aus. (Man markiert unter „Managed Computer“ alle PC), klickt 1x rechts und wählt Agent/Software Config -> Install/Upgrade.
- Nun erstellt man auf dem „Purgos Server“ einen Ordner und gibt diesen frei (Rechte -> Jeder -> lesen).
- In diesen Ordner kopiert man die zuvor geladenen Files (Reader, Java, Flashplayer)
- Danach „schreibt“ man sich -ebenso in dem Ordner- eine Batchdatei für jede Installation. Ich handhabe es so, dass ich die Installationsfiles zuerst auf den Client kopiere, auf dem die Software installiert werden soll und dann erst die eigentliche Installation starte. Nach erfolgter Installation wird die Setupdatei dann vom Client gelöscht.
Die Batchdatei sieht zb so aus:
copy \\purgosserver\deploy\jre-7u7-windows-i586.exe c:\
c:
cd\
jre-7u7-windows-i586.exe /s /L C:\setup.log
del jre-7u7-windows-i586.exe
bzw.
copy \\purgosserver\deploy\install_flash_player_active_x.exe c:\
c:
cd\
install_flash_player_active_x.exe -install
del install_flash_player_active_x.exe
Schließlich wählt man in Purogs -> Action -> Execute Command und gibt folgendes ein (wobei der User, der hier angegeben wird (Alternate User) möglichst Administrator / Domänenadminrechte haben sollte!) Unter Command wird der Netzwerkpfad zur entsprechenden Batchdatei in Form von \\purgosserver\deploy\… angegeben.
Hat man das erledigt, kann man die vorgenommenen Einstellungen per Save As abspeichern.
Unter Managed Computer klickt man den Computer, auf dem das Script ausgeführt werden soll, mit der rechten Maustaste an und wählt „Execute Command …“ aus dem Kontextmenü aus. Abschließend wählt man den zuvor gespeicherten Befehl aus.
Das Manko bei dieser doch recht einfach gehaltenen Variante ist, dass Purgos offenbar keine Fehlerbehandlung durchführt. Selbst wenn im Script zb die Datei nicht gefunden werden kann, attestiert Purgos ein „Successfully executed…“. Hier dürfte sich Purgos rein auf die Batchdatei beziehen, nicht jedoch auf die Befehle in der Batchdatei.
Die „schönere Variante“ dürfte wohl die Erstellung eines entsprechenden MSI-Software-Paketes sein. Selbst das lässt sich mit Purgos erledigen.
Fazit
Die Installation von Updates lässt sich mit diversen Hilfstools sehr stark vereinfachen. Das Problem ist jedoch, dass selbst bei aktuellstem Patchstand, immer noch Sicherheitslücken vorhanden sein können. (siehe Oracle Java Runtime Environment: Hier wurde erst Ende August mit Version: 7.07 eine kritische Lücke gepatcht. Kurz nach dem Patch ist aber schon die nächste kritische Lücke gefunden worden. Patch gibt es allerdings noch immer keinen…)
Hallo Daniel!
Danke für die Antwort. Das Problem, dass die cmd Datei nicht ausgeführt wird, habe ich mittlerweile gelöst. Mir bereitet allerdings die Benutzerkontensteuerung auf den Clients Ärger. Nur wenn ich diese ausschalte, funktioniert zumindest das Java Update (mehr habe ich noch nicht ausprobiert).
WSUS haben wir. Ich werde mich jetzt erstmal mit Deinem Link beschäftigen. Danke nochmal.
Grüße,
Klaus
Guten Tag!
Ich habe eine Batchdatei auf dem Server unter C:\purgosserver\deploy unter dem Namen Java32.cmd abgelegt.
Wenn ich in Purgos auf dem Client PC einen Rechtsklick mache und dort unter Execute Command im Feld Command \\\purgosserver\deploy\Java32.cmd eingebe und unter Startup Directory C:, dann erhalte ich die Fehlermeldung, dass das System die angegebene Datei nicht finden kann.
Was mache ich falsch?
Danke vorab!
Klaus
Hallo,
kopierst du das File (zb. das Setupfile von Java) zuvor auf den PC?
Wie sieht dein Java32.cmd aus?
Hast du einen Windows Server mit WSUS laufen? (wenn ja schau dir mal den https://wsuspackagepublisher.codeplex.com/ an).