Registrie, Policy (Systemrichtlinien), OCX und DLL Dateien

  • Eigene Policy (Systemrichtlinie) für den Terminal Server

  • Oft ist es sinnvoll eine eigene Policy (Systemrichtlinie) für den Terminal Server anzulegen, da hier die Rechte der Benutzer meist stärker eingeschränkt werden möüssen als im normalen Systemen. Um eine eigene, nur für die Benutzer des Terminal Servers geltene Policy anzulegen gehen man wie folgt vor:
    1. Erstellen einer Policy mit dem Systemrichtlinien Editor des Terminal Servers!
    2. Speichern der Policydatei lokal auf dem Terminal Server oder auf einem freigegebenen Verzeichnis auf dem Netz.
    3. Lokalam Terminal Server die Registrie anpassen, hier müssen unter
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Update die Werte
      UpdateMode= auf dword:00000002 geändert werden und beim Wert
      NetworkPath= muß der Pfad zur Policydatei eingetragen werden.
    4. Auf das Verzeichnis in dem die Policydatei abgelegt ist müssen die Benutzer das Recht LESEN haben.
    Für die Änderungen an der Registrie kann man auch eine Reg-Datei anlegen, die die Einträge macht. Hier ein Beispiel
    TSPOLICY.REG
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Update]
    "UpdateMode"=dword:00000002
    "NetworkPath"="E:\\Profile\\tsconfig.pol"

    zur Übersicht

  • Lokale Laufwerke des Terminal Servers ausblenden

  • Mit dem Systemrichtlinien-Editor kann man unter dem Punkt "Shell" die Laufwerke in Fenster "Arbeitsplatz" auszublenden. Hierbei werden aber standardmäßig alle Laufwerke ausgeblendet, möchte man nur bestimmte Laufwerke ausblenden hat man verschiedene Möglichkeiten

    1. Man ändert die Datei common.adm aus dem Verzeichnis %Systemroot%\INF.
    In der Datei common.adm im Verzeichnis \WTSRV\inf\ findet sich ein Absatz, der folgendermaße aussehen sollte:
    POLICY !!HideDrives
    VALUENAME "NoDrives"
    VALUEON NUMERIC 67108863 ; low 26 bits on (1 bit per drive)
    END POLICY
    Die dort stehende Zahl (67108863) bedeutet, daß alle Laufwerke bei Aktivierung dieser Option gesperrt werden. Diese Zahl berechnet sich aus der binären Beschreibung und dem Stellenwert des Laufwerkes, wobei A: die niedrigste Stellenwert hat (A = 0), eine 0 für sichtbar und 1 für versteckt steht:
    Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 --> 67108863
    gerechnet wird immer für jede 1 (also versteckt) 2 hoch n, wobei n der Stellenwert des Laufwerksbuchstaben ist. z.B. W hat den Stellenwert 22 , angefangen mit zählen wird bei A = 0, B = 1, ,,, Z = 25

    Sollen nun die Laufwerke A:\, C:\, D:\, E:\ ausgeblendet werden würde sich die Zahl folgendermaßen berechnen:
    Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 = 31
    Das würde eine Änderung der Common.adm ergeben:
    POLICY !!HideDrives
    VALUENAME "NoDrives"
    VALUEON NUMERIC 31
    END POLICY
    Wurde die Änderung einmal gemacht muß man die Systemrichtlinien für Änderungen neu erstellen. Die gemachten Änderungen werden in dem Systemrichtlinien-Datei NTConfig.pol abgespeichert.
    Zum errechnen des Wertes gibt es hier eine Exceltabelle, die Euch das Umrechnen erleichtert.

    2. Habe eine abgeänderte Common.adm erstellt, die Ihr anstatt der originalen Common.adm des Terminal Servers einsetzen könnt. Hiermit kann man neben dem Ausblenden verschiedener Laufwerke noch weitere Eintragungen machen. Achtung, SPacks überschreiben schon mal die common.adm - also Sicherungskopie anfertigen ansonsten sind Eure gemachten Anpassungen weg.

    3. Man benutzt das Tool ZAK für Terminal Server von Microsoft

    Ein Problem, auf das mich Nils Jasperneite aufmerksam gemacht hat, ist dass verhalten des Explorers. Beim Starten des Explorers wird nämlich standardmässig das Laufwerk der Systempartition geöffnet. Und zwar auch dann, wenn das Laufwerk eigentlich ausgeblendet sein sollte. Erst wenn man ein anderes Laufwerk anwählt, und mit F5 die Ansicht aktualisiert, wird dieses Laufwerk ausgeblendet. Abhilfe schafft eine kleine Änderung bei der Verknüpfung des Explorers:
       Einfach den Zielpfad auf "%SystemRoot%\explorer.exe /e,Laufwerk:\"
    Das Problem taucht auch nicht auf wenn man ein nicht ausgeblendetes Laufwerk als HomeDrive zugewiesen aht

    zur Übersicht
  • Fehlermeldung beim Start des Explorers nach Ausblenden der lokalen Laufwerke

  • Hat man die Laufwerke des Terminal Server für die Benutzer ausgeblendet, kann es auf Seiten des Benutzers beim Aufruf des Explorers zu Fehlermeldungen kommen. Diese Fehlermeldungen haben ungefähr den Wortlaut "Dieser Vorgang wurde aufgrund von Einschränkungen abgebrochen ..." dies liegen am Arbeitsverzeichnis das mit dem Explorer geöffnet wird.

    Beheben kann man das Problem in dem die Explorerverknüpfung, z.B. die unter Start -> Programme, das Arbeitsverzeichnis von %HOMEDRIVE%%HOMEPATH% auf U:\ ändert wird.

    Will man den Menuepunkt Explorer unterhalb von Start (rechte Maustaste auf den Button Start) ändern oder gar entfernen, so muß man dies über die Registrie machen.

    Das Laufwerk bzw. Verzeichnis welches beim Start des Explorers geöffnet werden soll wird unterhalb des Schlüssels
    HKEY_CLASSES_ROOT\Folder\shell\explore\ddeexec im Wert "(Standard)" eingestellt.
    [ExploreFolder(\"%l\", %I, %S)] auf z. B. [ExploreFolder(\"%l\", U:\, %S)] abändern

    Zum entfernen des Menuepunktes Explorer löscht man unterhalb von
    "HKEY_CLASSES_ROOT\Folder\shell" den Schlüssel "explore".
    !! Achtung - Bei Arbeiten an der Registrie die Datensicherung nicht vergessen !!

    zur Übersicht
  • Registrieren von OCX und DLL Dateien

  • Beim starten einer Anwendung wird eine Fehlermeldung angezeigt, dass eine OCX oder DLL Datei nicht registriert ist. In diesem Fall muß die OCX oder DLL Datei manuell im System registriert werden.
    Hierzu notiert man sich den Namen der zu registrierenden Datei und geht wie unten beschreiben vor.

    Bei OCX Dateien benötigst man Regsvr.exe, Regsvr16.exe (16 Bit) oder Regsvr32.exe (32 Bit) zum registrieren der OCX Dateien als globale Systemdateien.
    Zum registrieren an der Konsole des Terminal Servers als Admin anmelden. Die Eingabeaufforderung öffnen und
         Regsvr32 comctl32.ocx
    eingeben um die Datei comctl32.ocx zu registrieren. Anschließend sollte die OCX-Datei als globale Systendatei registriert sein und das Programm beim nächsten starten funktionieren.

    Bei DLL Dateien geht man wie folgt vor um sie als eine globale Systemdatei zu registrieren.
    An der Terminal Server Konsole wechselt man in das SYSTEM32 Verzeichnis und prüft ob die in der Fehlermeldung aufgeführte DLL Datei vorhanden ist. Wenn vorhanden, kann man in der Eingabeaufforderung mit dem Befehl
         REGISTER /S BEISPIEL.DLL
    die BEISPIEL.DLL als globale Systemdatei registrieren. Änderungen werden erst beim nächsten Start des Programmes wirksam.

    Quelle: MS KB "Registering OCX and DLL files as System Globals" PSS ID Number: Q186597
    zur Übersicht
  • Systemrichtliniendateien (*.ADM) für den Terminal Server

  • Die Systemrichtliniendateien sind für den Terminal Server gegenüber denen des "normalen" NT Servers erweitert worden. Die Erweiterungen dienen dem Abschalten besonderer Funktionen des Terminal Servers, und diese sind:

  • Entfernen des "Windows NT-Sicherheit..." Menuepunkt aus dem Startmenue
  • Entfernen des "Trennen.." Menuepunkt aus dem Startmenue
  • Entfernen des "Abmelden.." Menuepunkt aus dem Startmenue und
  • Verhindern das Benutzer globale Dateizuordnungen ändern

    Hierzu siehe auch den Artikel in der MS-KB "New System Policy Options in Terminal Server" SS ID Number: Q186618
    zur Übersicht

  • Temp Verzeichnisse

  • Im TEMP / TMP-Verzeichnis (normal C:\TEMP) werden Unterverzeichnisse mit der Login-ID des Benutzers angelegt, die den einzelnen Benutzern als Temp-Verzeichnis zugeordnet werden. Unter Umständen kann es vorkommen das der TS diese nicht löscht und ein anderer Benutzer beim einloggen diese zugewiesen bekommt, was dann zu Fehlern mit Word oder Excel führen kann.
    Um dieses Problem zu umgehen kann man die Benutzerumgebungvariable TEMP/TMP umlegen auf das eigene Benutzer- Verzeichnis, was auch auf dem TS liegen sollte. Zum Einrichten von Benutzer eigenen TEMP-Verzeichnissen gehe wie folgt vor:

    1. Einloggen als Benutzer
    2. Über Start->Einstellungen->System die Systemeigenschaften öffnen
    3. Hier unter Umgebung die Benutzervariablen TEMP und TMP auf das TEMP-Verzeichnis des Benutzers setzen
    Nachdem alle Benutzer ihr eigenes TEMP-Verzeichnis haben, mit dem Befehl FLATTEMP /enable, das erstellen der temporären Unterverzeichnisse der Benutzer unterhalb von \TEMP abschalten.

    Das umstellen der Benutzter-Temp-Variable kann man auch durch ein Script und eine zugehörige Key-Datei automatisch beim einloggen der Benutzer oder mit einer geänderten Commom.adm über die Systemrichtlinien erledigen lassen. Hier ein Script als gepackte Datei und eine erweiterte Common.adm zum download. Nach dem entpacken bitte die Textdatei durchlesen für weitere Informationen.
    Zusätzlich solltet Ihr noch mit dem Befehl FLATTEMP /enable das erstellen der temporären Unterverzeichnisse der Benutzer unterhalb von \TEMP abschalten.

    zur Übersicht