Laufwerke im Explorer ausblenden und den Zugriff darauf verhindern

09.01.2013 | Autor: Mark Heitbrink

Zuständig für die Möglichkeit sind 2 vorhandene Richtlinien, die aus der system.adm kommen.

Benutzerkonfiguration\Administrative Vorlagen\Windows-Komponenten\Windows Explorer
"Diese angegebenen Datenträger im Fenster "Arbeitsplatz" ausblenden"
"Zugriff auf Laufwerke vom Arbeitsplatz nicht zulassen"

Das Problem daran ist, dass sie nur eine bestimmte vorgegebene Kombination der Laufwerke erlauben, die in den meisten Fällen im eigenen Netzwerk so nicht funktionieren. Man muss also die system.adm selber editieren, oder ab jetzt die windowsexplorer.admx und windowsexplorer.adml, um eine für die eigene Umgebung angepasste Richtlinie zu erhalten.

Angesehen von der Syntax haben wir 2 erhebliche Probleme mit der Erweiterung der Vorlage.

  1. Verwende ich ein eigenes ADM, in dem nur diese beiden Einstellungen gesetzt sind, dann muss ich darauf achten, dass ich im Bereich der Administrativen Vorlagen dieser spezielle Gruppenrichtlinien, nicht zusätzlich die SYSTEM.ADM geladen habe. Warum? Bei doppelt vorhandenen VALUENAMES in einer GPO und damit doppelt vorhandenen Registry Einträgen in einer Richtlinie, wird eine Einstellungen auf "Nicht Konfiguriert" zurückgesetzt, da das System nicht entscheiden kann, welche der Optionen gesetzt werden sollen. Denn der eine Eintrag wurde von uns editiert, der andere ist "Nicht konfiguriert". Da die Reihenfolge der Richtlinie Einstellungen innerhalb einer Gruppenrichtlinien nicht manipuliert werden kann, wird der Wert eben als Schutz vor Fehlern ignoriert und auf beiden Einstellungen zurückgesetzt.
  2. Verwende ich die system.adm, dann habe ich das Problem der automatischen Aktualisierung der Templates beim Zugriff auf eine vorhandene Gruppenrichtlinie mit einem Client, der über aktuellere ADM Templates verfügt, bzw überschreibt und ersetzt jedes Service Pack die lokalen Templates im %systemroot%\inf Ordner.

Die einfachste Lösung:
Ihr erstelle eine eigene Richtlinie in der alle ADM Dateien entfernt sind, ausser dieser angepassten. Oder, wenn sie durch ein Update ersetzt wurde, einfach mal selber dran denken, daß das wieder angepasst werden muss.

Schauen wir uns zuerst die Einträge in der Registry an und klären wir die Syntax, wie eine Kombination von Laufwerken addiert wird.

Relevanter Pfad in der Registry:
HKey_Current_User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
"nodrives" = "Diese angegebenen Datenträger im Arbeitsplatz ausblenden"
"noviewondrive" = "Zugriff auf Laufwerke vom Arbeitsplatz nicht zulassen"

beides sind Reg_DWords.

Die Werte für die Laufwerke die betroffen sein sollen, folgen einer einfachen Addition, die einem 26Bit Wert entsprechen. 26Bit? Eine außergewöhnliche Zahl im Zusammenhang mit EDV. 8, 16, 24 und alles was sich durch 8 teilen lässt klingt eher nach Bit und Bytes aber in diesem Fall ist nun mal die Summe aller Laufwerksbuchstaben entscheidend ... :-)

Werte der einzelnen Laufwerks Buchstaben:
A: 1
B: 2
C: 4
D: 8
E: 16
F: 32
G: 64
H: 128 
I: 256
J: 512
K: 1024
L: 2048
M: 4096
N: 8192
O: 16384
P: 32768 
Q: 65536
R: 131072
S: 262144
T: 524288
U: 1048576
V: 2097152
W: 4194304
X: 8388608 
Y: 16777216
Z: 33554432
Alle: 67108863

Die Kombination der Laufwerke A:, C:, F:, G: und M: ergeben 4.198 als dezimnaler Wert eines der beiden REG_DWORDS.
4.198 = 1 (A) + 4 (C) + 32 (F) + 64 (G) + 4096 (M)

Alle Laufwerke ausblenden, außer dem Basisverzeichnis (Homelaufwerk) z.B.: H: gerade bei TerminalServer häufig verwendet.
67.108.735 = 67.108.863 (Alle) - 128 (H)

Bearbeitung der system.adm
Der schwierigere Teil ist die Anpassung der system.adm. Ich kann an dieser Stelle 2 Varianten wählen, entweder arbeite ich mit fixen Einträgen, direkt unterhalb des PARTS oder ich verwende, um bei der gleichen Programmierung zu bleiben, eine Variable, die ich aber dann noch in der Section [STRINGS] einfügen muss.

Ich entscheide mich in meinem Beispiel für die einfachere Variante und verzichte auf die [STRINGS]. Beispielhaft Manipulation des NoDrives Eintrags. Gleiche Syntax und Anpassung für NoViewOnDrive.

 

----- Sniped aus der system.adm -----
POLICY !!NoDrives
    #if version >= 4
     SUPPORTED !!SUPPORTED_Win2k
    #endif
    EXPLAIN !!NoDrives_Help
    PART !!NoDrivesDropdown DROPDOWNLIST NOSORT REQUIRED
    VALUENAME "NoDrives"
        ITEMLIST
            NAME !!ABOnly VALUE NUMERIC 3
            NAME !!COnly VALUE NUMERIC 4
            NAME !!DOnly VALUE NUMERIC 8
            NAME !!ABConly VALUE NUMERIC 7
            NAME !!ABCDOnly VALUE NUMERIC 15
            NAME "A, C, F, G und M ausblenden" VALUE NUMERIC 4198
            NAME "Alle Laufwerke ausser H:" VALUE NUMERIC 67108735
            NAME !!ALLDrives VALUE NUMERIC 67108863 DEFAULT
            ; low 26 bits on (1 bit per drive)
            NAME !!RestNoDrives VALUE NUMERIC 0
    END ITEMLIST
    END PART
END POLICY
----- Sniped aus der system.adm -----