Im Bereich der Programmierung, des Skriptings oder Verwaltung von Zugriffsberechtigungen werden regelmäßig zur eindeutigen Identifizierung SIDs verwandt, da der Anzeigename verändert werden kann und es somit Probleme entstehen können. Bei der Nutzung von SIDs ist die Bezeichnung des entsprechenden Objekts nicht relevant.

Hier eine Auflistung meiner meist genutzten SIDs:

  • S-1-1-0 = Jeder
  • S-1-5-2 = Netzwerk
  • S-1-5-4 = Interaktiv
  • S-1-5-14 = Terminaldienste-Anmeldung
  • S-1-5-18 = System
  • S-1-5-32-544 = Gruppe der Administratoren
  • S-1-5-32-545 = Gruppe der Benutzer
  • S-1-5-32-548 = Gruppe der Konten-Operatoren (auf Domänencontrollern)
  • S-1-5-32-550 = Gruppe der Server-Operatoren
  • S-1-5-32-550 = Gruppe der Druck-Operatoren
  • S-1-5-32-555 = Gruppe der Remote Desktop Benutzer
  • S-1-5-32-573 = Gruppe der Ereignisanzeigen-Leser
  • S-1-5-32-578 = Gruppe der Hyper-V-Administratoren
  • S-1-5-32-580 = Gruppe der Remote-Management-Benutzer

Die nun folgenden Nutzer werden vom Computer bzw. einer Domäne mit einem zusätzlichen String identifiziert, der durch einen Zufallsgenerator bereits bei der Installation des Systems erzeugt wird. Als Platzhalter für diesen Eintrag verwende ich “xxx”:

  • S-1-5-21-xxx-500 = Lokaler Administrator
  • S-1-5-21-xxx-512 = Gruppe der Domänen-Administratoren
  • S-1-5-21-xxx-513 = Gruppe der Domänen-Benutzer

Es gibt auch noch weitere Benutzer und Gruppen, die entsprechend nachgelesen werden können

Link

Wer bei Gruppenrichtlinien mit WMI-Filtern arbeiten möchte muss die Werte von “Version” und “ProductType” des WMI-Objektes “Win32_OperationSystem kennen. Aus diesem Grund zum schnellen Überblick hier eine Auflistung

Version:

  • 5.1 – Windows XP
  • 5.2 – Windows Server 2003
  • 6.0 – Windows Vista und Windows Server 2008
  • 6.1 – Windows 7 und Windows Server 2008 R2
  • 6.2 – Windows 8 und Windows Server 2012

Da aber der Versionsnummerierung 6.0 die Client und Serverbetriebssysteme unter einer Versionsnummer geführt wurden, muss seit dem auch der “ProductType” ausgewertet werden.

  • 1 – Client
  • 2 – Domänencontroller
  • 3 – Server

Entsprechend gibt es die folgende Unterscheidung auf Client- bzw. Serverbetriebssystem anhand des Beispiels der Version 6.2.

Windows 8:

select * from Win32_OperatingSystem WHERE Version LIKE “6.2%” and ProductType = “1”

Windows Server 2012:

select * from Win32_OperatingSystem WHERE Version LIKE “6.2%” AND ( ProductType = “2” or ProductType = “3” )

Einige Applikationen unter Windows verewigen sich in der Registry. Dort kann es dann auch zu Fehlern kommen oder man möchte Werte schnell überprüfen. Ähnlich wie in Browsern kann man in der Registry auch Favoriten erstellen, um schneller an das gewünschte Ziel zu kommen. 

Die Favoriten werden benutzerabhängig in der Registry gespeichert unter dem folgenden Pfad:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites

Diese können somit dort exportiert und auch auf weiteren Systemen importiert und genutzt werden.

Eine weitere Verwendungsmöglichkeit wären sogenannte applikationsabhänige Registrykeys für den Support, die per Verteilung zum Beispiel per GPO oder Softwaremanagementsystemen zur Verfügung gestellt werden könnten, um Probleme schneller zu beheben oder auf wichtige Registrywerte schneller zugreifen zu können.  

So könnte man eine GPO mit einer Active Directory-Gruppe verknüpfen und sogar per WMI-Filter angepasst auf Computersysteme verteilen, so dass der Supporter, wenn die entsprechende Applikation, welche im WMI-Filter definiert ist, auf dem System installiert ist, zentral bereits die entsprechenden Favoriten zur Verfügung gestellt bekommt. Somit ist das “Durchwandern” der Registry einfacher und effektiver gestaltet.

Um PowerShell-Skripte als Benutzer auszuführen möchte muss dieses erst einmal freigeben, da diese Funktion bei der Standard-Installation deaktiviert ist.

Dazu kann der folgende Befehl genutzt werden, der als Administrator ausgeführt werden muss:

Set-ExecutionPolicy Unrestricted

Um dieses zum Beispiel bei automatisierten Installation anpassen zu können, ist auch eine Bearbeitung der Registry möglich, um diese Option anzupassen:

Pfad: HKEY_LOCAL_MACHINE\Software\Microsoft\Powershell\1\ShellIds\Microsoft.Powershell

Name: ExecutionPolicy

Typ: REG_SZ

Wert: Unrestricted

Es gibt allerdings noch weitere Policy-Einstellungen, die ich hier gern hier einmal zusammenfasse:

  • Restricted: Keine Ausführung von Skripten
  • AllSigned: Nur von einem vertrauenswürdigen Herausgeber signiert wurden können ausgeführt werden.
  • RemoteSigned: Heruntergeladene Skripte müssen von einem vertrauenswürdigen Herausgeber signiert werden, bevor sie ausgeführt werden können.
  • Unrestriced: Alle Skripte können ausgeführt werden.

Am gestrigen Tage erhielt ich eine Anfrage aufgrund meines Artikels zum Active Directory-Schema und der Installation des entsprechenden SnapIns per DLL-Registrierung. Der Anfragende bekam immer die Fehlermeldung “The Module schmmgmt.dll Loaded but the Call to DllRegisterServer Failed with Error Code 0x80040201″.

Er hatte auch seinem Benutzer die höchstmöglichen Active-Directory-Rechte eingeräumt, was allerdings den Fehler nicht beseitigte. Das Hinderniss um den Befehl erfolgreich auszuführen war die UAC, die bei Windows Server 2008 R2 genauso aktiviert ist wie bei den Clientbetriebssystemen.

Nachdem der Fragende den Befehl “regsvr32 schmmgmt.dll” in einem Konsolenfenster mit administrativer Berechtigung ausgeführt hatte bekam er von dem System eine Erfolgreiche Rückmeldung und konnte auch das SnapIn nutzen.

Nach der Installation der “Remote Server Administration Tools”, die zum Beispiel für die Verwaltung einer Active Directory oder zum Erstellen von Gruppenrichtlinien verwandt wird, erscheinen diese als Programmgruppe unter dem Punkt “Alle Programme” sowie als Unterpunkt im “Startmenü”.

Dieses kann per Registry-Key getrennt voneinander ausgeblendet werden.

Eintrag “Administrative Tools” im Startmenü verbergen:

Pfad: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Objekt: StartMenuAdminTools
Objekttyp: DWORD
Value: 0

Programmgruppe unter “Alle Programme” verbergen:

Pfad: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Objekt: Start_AdminToolsRoot
Objekttyp: DWORD
Value: 0

Der generellte Zugriff auf die eingebundenen Management-Konsolen ist weiterhin möglich und wird durch diese Registrywerte nicht beeinträchtigt.

Aufgrund einer Domänenumstellung bei einem Kunden war es erforderlich den Befehl ADPREP von einer Windows Server 2008 R2-CD auszuführen.

Dabei musste auf einem Domänencontroller mit Windows Server 2003 R2 (32-Bit) eine Schemavorbereitung für eine Windows Server 2008 R2 Domäne durchgeführt werden.

Dieses stellt im eigentlichen kein Problem dar, wenn man an eine Kleinigkeit denkt:

  • Befehl “adprep” für 64-Bit-Systeme verfügbar
  • Befehl “adprep32″ für 32-Bit-Systeme verfügbar

Ich hatte leider noch eine ältere Zusammenstellung in meinen Unterlagen gefunden, wo der diese Unterscheidung leider nicht noch dokumentiert war.

Somit konnte ich mit dem entsprechenden Befehlen die Domäne auf ihre Umstellung auf einem Windows Server 2008 R2-Domänencontroller vorbereitet werden:

adprep32 /forestprep

adprep32 /domainprep /gpprep

Nach dem Hinzufügen des ersten Domänencontrollers sollte noch der folgende Befehl ausgeführt werden.

adprep32 /rodcprep

Somit hat man  Befehl komplett für die Umstellung genutzt.