Beim Setup von Windows XP hat man leider keine Möglichkeit, wie bei früheren Versionen des Betriebssystems, zu entscheiden welche Komponenten man installieren möchte oder welche nicht. Da Spiele während der Arbeitszeit kontraproduktiv sind, hatte ich nun die Aufgabe bekommen von allen Rechner die Windows Spiele zu entfernen. Auch wenn ich schon ab und an mal den Turnschuhadmin mache, so war es mir doch zu aufwendig jeden Rechner anzufassen und die Spiele zu deinstallieren. Einen Azubi wollte ich so eine stupide Aufgabe auch nicht zumuten. Also musste eine andere Lösung gesucht werden.
Die erste Idee war natürlich eine
Gruppenrichtline (GPO) zu erstellen, die das Ausführen von bestimmter Software verhindert, die sogenannte
"Richtline für Softwareeinschränkungen". Eine gute
Anleitung und Erklärung kann man unter
www.gruppenrichtlinien.de finden.
Da aber die Spiele deinstalliert werden sollen und nicht nur verboten, musste ich mir was anderes einfallen lassen.
Bei der Suche nach einer
Lösung bin ich dann auf die Datei namens
"Sysoc.inf" gestoßen, welche in Verbindung mit
"Sysocmgr.exe" genau das liefert was ich benötige. In der Sysoc.inf sind alle Einträge über die installierten Komponenten von Windows enthalten und mit dem Programm "Sysocmgr.exe" kann man über die Eingabeaufforderung
Windows-Komponenten hinzuzufügen oder zu entfernen. Die folgenden Befehlszeilenoptionen können zusammen mit "Sysocmgr.exe" verwendet werden:
/i:<Master_INF> - (erforderlich) Gibt den Namen der Master-INF-Datei an (meist die "Sysoc.inf"). Der Installationsquellpfad wird von dieser Datei gelesen.
/u:<unbeaufs_Par> - Gibt die Parameter für die unbeaufsichtigte Installation an, die in einer Antwortdatei stehen.
/r - Unterdrückt den Neustart (wenn der Neustart erforderlich ist).
/z - Gibt an, dass alle folgenden Argumente keine OC-Argumente sind und an die Komponenten übergeben werden sollen.
/n - Erzwingt, dass die angegebene Master-INF-Datei als neue Datei behandelt wird.
/f - Gibt an, dass alle Komponenteninstallationszustände initialisiert werden sollen, als wenn deren Installierprogramme noch nie ausgeführt wurden.
/c - Deaktiviert die Option, den Vorgang während der letzten Installationsphase abbrechen zu können.
/x - Unterdrückt den Initialisierungsvorspann.
/q - Für die Verwendung mit /u. Führt die unbeaufsichtigte Installation ohne Benutzeroberfläche aus.
/w - Für die Verwendung mit /u. Wenn ein Neustart erforderlich ist, wird der Benutzer zur Eingabe aufgefordert, d. h. der Neustart wird nicht automatisch durchgeführt.
/l - MUI-fähige Installation.
Die Antwortdatei enthält neben der Komponente die Option, ob das Programm installiert oder deinstalliert werden soll. ON bedeutet es wird installiert und OFF, dass es deinstalliert wird. Welche Komponenten wie heißen kann man bei
Technet nachlesen.
Also mal an das Thema rantasten: Ich will alle Spiele vom Rechner deinstallieren, ohne das jeder was davon mitbekommt.
Ich brauche den Pfad zur "Sysocmgr.exe", der als relativer Pfad angegeben wird. "%SystemRoot%\system32\sysocmgr.exe"
Dann der Pfad zur "Sysoc.inf", auch als relativer Pfad. "%SystemRoot%\inf\sysoc.inf"
Und dann noch der Pfad zu der Antwortdatei am besten über UNC Pfade, dmit es zentral bleibt. "\\server\freigabe\antwortdatei.txt"
Zu diesen Komponenten kommen jetzt noch die Optionen "/i:" um die "Sysoc.inf" anzuzeigen, "/u:" um die Antwortdatei anzuzeigen und noch "/r" und "/q" um den Neustart zu verhindern und eine unbeaufsichtigte Installation laufen zu lassen.
Alles zusammengerührt führt zu folgendem Aufruf in dem
Batch File:
"%SystemRoot%\system32\sysocmgr.exe" /i:"%SystemRoot%\inf\sysoc.inf" /u:\\de092nt04\masters\spiele.txt /r /q
Antwortdatei:
[Components]
Games=off
Pinball=off
ZoneGames=off
freecell=off
minesweeper=off
Solitaire=off
Hearts=off
Spider=offDas
Batch File und die Antwortdatei werden nun auf einer Serverfreigabe platziert und
ein Eintrag im Loginscript erstellt, der das Batchfile aufruft. Wer es ganz sauber haben will, kann im
Loginscript auch noch das L
öschen der Einträge im Startmenü mitgeben. Dies würde dann mit dem folgenden Befehl passieren.
if exist "%alluserprofile%\Startmenü\Programme\Zubehör\Spiele" rmdir "%alluserprofile%\Startmenü\Programme\Zubehör\Spiele"
if exist "%alluserprofile%\Startmenü\Programme\Spiele" rmdir "%alluserprofile%\Startmenü\Programme\Spiele"
Kleine Sache große Wirkung und die Chefs sind zufrieden.
Ich habe auch andere Lösungen gefunden und die lustigste war, dass der Admin alle Spiele Dateien (*.exe) mit der Calc.exe ausgetauscht hat, so dass beim Öffnen einen Spieles der Taschenrechner aufgegangen ist. Spielen konnten die Mitarbeiter dann noch, aber eben nur mit Zahlen.