Laufwerke im Explorer ausblenden und den Zugriff darauf verhindern.


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, 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.

Gegen das erste Problem hilft eine Richtlinie:
Computerkonfiguration\Administrative Vorlagen\System\Gruppenrichtlinien
Immer lokale ADM-Dateien für den Gruppenrichtlinien-Editor verwenden


Für den 2ten Fall muss ich dafür Sorge tragen, die system.adm als Kopie in einem anderen Pfad zu sichern, oder die Manipulierten Einträge auch in die neuen Templates zu integrieren. Vorstellbar wäre auch eine MSI Paket, dass an alle Rechner mit administrativen Aufgaben (installiertes adminpack oder GPMC) die "richtige" system.adm kopiert.



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:
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, bzw. HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer wenn es eine Tattoende Systemrichtlinie ist (NT4 Domäne oder auch möglich in einer Standalone Umgebung).

Relevanter Eintrag:
"nodrives" für "Diese angegebenen Datenträger im Arbeitsplatz ausblenden" und
"noviewondrive" für "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 wie im oberen Teil erwähnt 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.

----- Auschnitt 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
----- Auschnitt aus der System.adm -----





(c) 2003 - heute, Mark Heitbrink, weitere Informationen unter WebSite-Info\Copyright