Sicherheitsberechtigungen von AD-Objekten kopieren

Ab und an kommt es vor, dass die Sicherheitsbestimmungen von Gruppen oder anderen AD-Objekten angepasst werden müssen. Für ein einzelnes Objekt mag das gehen, aber wenn dies für sehr viele umgesetzt werden muss, macht das per Hand keinen Spaß.

Am einfachsten ist es ein AD-Objekt so zu konfigurieren und diese Einstellungen dann zu kopieren. In diesem Beispiel soll die Kennung ‚sorglossu’ Ändern-Rechte auf Gruppen bekommen.

  1. Muster Berechtigungen erstellen
  2. Mithilfe von PowerShell die Berechtigungen auslesen

    Um den Active Directory Informationsspeicher auslesen zu können, muss der AD Provider bereitgestellt werden. Erst durch das laden des Active Directory Modules steht dieser zu Verfügung.

     

    Dadurch das die Informationen wie ein Laufwerk dargestellt werden, ist es möglich die bekannten Befehle darauf anzuwenden, wie eben Get-ACL.

     

    Mit einem kurzen Filter wird die gewünschte Berechtigung angezeigt.

     

    access_susisorglos_01

  3. Setzen der Berechtigungen auf andere AD-Objekte

    Nachdem die gewünschte ACL gefunden wurde, geht es daran diese auf andere Objekte anzuwenden. Vorher müssen noch ein paar Information ausgelesen werden

    Für die eindeutige Zuweisung wird die SID der Gruppe oder des Nutzers benötigt.

    access_susisorglos_02

    Weiterhin wird die ObjectTypeID der zu kopierenden ACL benötigt, welche durch das auslesen der ACL schon zu Verfügung steht. In dem Zusammenhang werden gleich die Berechtigungen mit gespeichert.

    Um die ACL zu erstellen, muss auf die Klasse ActiveDirectoryAccessRule zurückgegriffen werden. Mit dem folgenden Befehl, können sich die verschiedenen Überladungen angezeigt werden.

    ueberladungen

    Dann kann auch schon das ACL Objekt erstellt werden.

Info: Das Objekt $acl kann am jedes beliebige AD Object gebunden werden, was die Berechtigungen erhalten soll.

set_acl_01

Das Objekt mit den Zugriffsbrechtigungen muss nur noch der zuvor ausgelesen ACL hinzugefügt und dem Objekt (hier Gruppe BE_Hotline) gesetzt werden.

set_acl_02

test_acl_gui_01 test_acl_gui_02

4. Übersicht

 

Genauere Infos und ein weiteres Beispiel gibt es unter dem Link, der auch mir als Quelle für diesen Blog diente.

Wer das ganze als parametrisierte Funktion und der Möglichkeit mehrere Ziele anzupassen, findet das ganze Skript in der PS-Gallery :

https://gallery.technet.microsoft.com/Active-Directory-d53b8de2

 

Über Andreas Bittner

MCSA Server 2016, MCSA Server 2012R2, Exchange 2010 & SharePoint Devop
Dieser Beitrag wurde unter Active Directory, PowerShell, Scripting abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.