15.30 Zugriff auf Programme zum Bearbeiten der Registrierung verhindern
 
Welche Möglichkeiten gibt es, den Zugriff auf Programme zum Bearbeiten der Registrierung für den Benutzer zu unterbinden und dennoch über das Anmeldeskript gewünschte Manipulationen im Zweig HKEY_CURRENT_USER der Registrierdatenbank vornehmen zu können? Die Richtlinie Zugriff auf Programme zum Bearbeiten der Registrierung verhindern finden Sie unter Benutzerkonfiguration · Administrative Vorlagen · System. Wenn Sie über diese Gruppenrichtlinie blockieren wollen, dass ein Anwender ein Registry-Tool wie regedit überhaupt starten kann, so können Sie alle benötigten Registry-Manipulationen auch mittels eines Kix-Skripts vornehmen. Kix-Befehle wie ADDKey, WriteValue, DelKey, DelTree oder DelValue funktionieren aus einem Anmeldeskript heraus auch dann auf den Zweig HKEY_CURRENT_USER, wenn die oben genannte Gruppenrichtlinie aktiviert ist.
Eine Alternative zur Verwendung dieser Richtlinie und eines Kix-Skripts wäre z.B., die Dateien regedit.exe und die regedt32.exe auf allen Clients in unscheinbare Dateien umzubenennen (etwa _aabbdd.exe) und über die Richtlinie Angegebene Windows-Anwendungen nicht ausführen unter Benutzerkonfiguration · Administrative Vorlagen · System regedit.exe und regedt32.exe explizit anzugeben. Wenn sich dann der Benutzer z.B. von zu Hause die fehlende regedit.exe als Mailanhang zuschickt, kann er sie anschließend nicht starten. Nur die Administratoren kennen die neuen Dateinamen der Registrierungstools und könnten sie dann weiter im Anmeldeskript verwenden. Dabei lässt sich der Registry-Editor regedit.exe sogar starten, wenn Sie ihn in eine Datei mit der Erweiterung cmd, bat oder com umbenennen. Kein Anwender würde jedoch vermuten, dass sich z.B. hinter _dllevent.cmd oder twain32.com eine umbenannte regedit.exe versteckt.
Zum Lieferumfang von Windows XP gehören aber auch die Tools regini.exe und reg.exe. Beide Tools werden bei der Installation in das Verzeichnis c:\windows\system32 eingespielt und müssten ebenfalls umbenannt oder in ein sicheres Verzeichnis verschoben werden.
Sie können aber auch auf jedem Client oder zentral in der Freigabe NETLOGON ein Unterverzeichnis erstellen und die Berechtigungen für dieses Verzeichnis so einschränken, dass nur Administratoren zugreifen können. In dieses Verzeichnis verlagern Sie dann alle Tools wie die regedit.exe und regini.exe, auf die der Anwender keinen Zugriff haben soll.
Benötigte Änderungen im Zweig HKEY_CURRENT_USER der Registrierdatenbank, die nicht über Gruppenrichtlinien vorgenommen werden können, können Sie über das Anmeldeskript mittels Kix-Skript vornehmen. Ein Beispiel: Wenn viele Mitarbeiter in einem Raum sitzen, stört das ewige Piepsen des Systemlautsprechers. Sie können den Lautsprecher komplett abschalten, indem Sie die Schlüssel Beep und ExtendedSounds auf No umstellen. Diese beiden Schlüssel finden Sie in der Registrierdatenbank an zwei Stellen: Unter HKEY_USERS\.DEFAULT\Control Panel\Sound und unter HKEY_CURRENT_USER\Control Panel\Sound. Wenn Sie die Schlüssel unter HKEY_USERS\.DEFAULT\Control Panel\Sound auf No umstellen, wirkt diese Einstellung auf alle Anwender, die später neu eingerichtet werden. Wenn Sie die Schlüssel unter HKEY_CURRENT_USER\Control Panel\Sound auf No umstellen, wirkt diese Einstellung auf bereits aktive Anwender.
Auf der Buch-DVD finden Sie im Unterverzeichnis NETLOGON\REG für beide Schlüssel je eine reg-Datei SpeakerOff.reg und SpeakerOffDefaultUser.reg. Ebenso finden Sie im Unterverzeichnis Gruppenrichtlinien\ADM Gruppenrichtlinienvorlagen eine selbst erstellte Gruppenrichtliniendatei SpeakerOnOff.adm, mit der Sie den Lautsprecher ab- bzw. anschalten können. Wie Sie derartige Gruppenrichtliniendateien selbst erzeugen können, wird an anderer Stelle erläutert.
Angenommen, Sie haben über eine Gruppenrichtliniendatei für die OU Company den Zugriff auf Programme zur Bearbeitung der Registrierdatenbank verhindert. Wie können Sie ohne passende Gruppenrichtlinie über das Anmeldeskript trotzdem die beiden Schlüssel Beep und ExtendedSounds im Schlüssel HKEY_CURRENT_USER\Control Panel\Sound oder auch im Schlüssel HKEY_USERS\.DEFAULT\Control Panel\Sound auf No umstellen?
Das Test-Anmeldeskript intel2.cmd zeigt, wie es geht. Es startet Kix32.exe mit dem Kix-Skript SpeakerOff.kix. Überprüfen Sie zuerst, dass der Lautsprecher unter der Kennung Testuser aktiv ist. Dazu melden Sie sich als Testuser an, starten den Windows-Explorer und drücken die Tastenkombination Alt+q. Da diese Tastenkombination im Windows-Explorer nicht belegt ist, sollte der Lautsprecher einen Piepton von sich geben.
Löschen Sie in der Registerkarte Profil einen eventuell vorhandenen Eintrag für ein Anmeldeskript und aktivieren Sie die Gruppenrichtlinie Zugriff auf Programme zum Bearbeiten der Registrierung verhindern für die OU Benutzer XXX. Melden Sie sich unter der Kennung Testuser an und versuchen Sie, über Start · Ausführen regedit.exe zu starten. Der Lautsprecher gibt einen Piepton von sich und Sie erhalten die Fehlermeldung Das Bearbeiten der Registrierung wurde durch den Administrator deaktiviert.
Aktivieren Sie nun für die Kennung Testuser auf der Registerkarte Profil das Anmeldeskript intel2.cmd. Es hat folgenden Inhalt:
%LOGONSERVER%\NETLOGON\kix\kix32.exe %LOGONSERVER$NETLOGON\kix\SpeakerOff.kix
%LOGONSERVER%\NETLOGON\util\intel.exe %LOGONSERVER%\NETLOGON\batch\hlm2.cmd
Zuerst wird das Kix-Skript SpeakerOff.kix durchgeführt. Sein Inhalt ist:
$X=WriteValue ("HKEY_CURRENT_USER\Control Panel\Sound",
"Beep", "no", "REG_SZ")
$X=WriteValue ("HKEY_CURRENT_USER\Control Panel\Sound",
"ExtendedSounds", "no", "REG_SZ")
Beachten Sie, dass vor dem eigentlichen Kix-Befehl WriteValue eine willkürliche Variable mit vorangestelltem $-Zeichen definiert wird, in diesem Beispiel die Variable X. Ohne das Voranstellen von $X= vor den eigentlichen WriteValue-Befehl würde nämlich für beide Befehle der Errorlevel-Code angezeigt. Die gewählte Syntax $X=WriteValue unterdrückt die Anzeige der Errorlevels. Sie können dies leicht überprüfen, indem Sie über Start · Ausführen das Testskript SpeakerOff.kix starten:
\\s1\netlogon\kix\kix32.exe \\s1\netlogon\kix\SpeakerOff.kix
Eine CMD-Box öffnet sich, zwei Nullen erscheinen – nach 10 Sekunden schließt sich die CMD-Box wieder. Da in diesem Testskript zwei WriteValue-Befehle erfolgreich abgesetzt werden, wird zweimal eine 0 als Errorlevel angezeigt. Damit Sie diese Ausgabe überhaupt sehen können, wurde als letzter Befehl sleep 10 angehängt, so dass die CMD-Box nach Ausführung der zwei WriteValue-Befehle noch 10 Sekunden geöffnet bleibt.
Der letzte Befehl %LOGONSERVER%\NETLOGON\util\intel.exe %LOGONSERVER%\netlogon\batch\hlm2.cmd im Anmeldeskript intel2.cmd führt die Routine hlm2.cmd im Kontext der Kennung Intel aus. Das Skript hlm2.cmd hat folgenden Inhalt:
regedit /s %LOGONSERVER%\netlogon\reg\SpeakerOffDefaultUser.reg
Die Datei \NETLOGON\reg\SpeakerOffDefaultUser.reg können Sie mit dem Editor Notepad.exe öffnen. Sie hat folgenden Inhalt:
Windows Registry Editor Version 5.00
[HKEY_USERS\.DEFAULT\Control Panel\Sound]
"Beep"="no"
"ExtendedSounds"="no"
Melden Sie sich erneut als Testuser an, damit das neue Skript intel2.cmd durchlaufen wird. Versuchen Sie erneut, über Start · Ausführen regedit.exe zu starten. Sie erhalten wieder die Fehlermeldung Das Bearbeiten der Registrierung wurde durch den Administrator deaktiviert, jedoch ohne Piepton. Starten Sie den Windows-Explorer und drücken Sie die Tastenkombination Alt+q. Der Lautsprecher bleibt dieses Mal trotz des Betätigens einer nicht definierten Tastenkombination stumm.
|