Website-Icon Frankys Web

Active Directory: NTFS Berechtigungen per Powershell vergeben

Vieles lässt sich mit der Powershell einfacher gestalten oder scripten. Wer oft neue Ordner oder Freigaben anlegen muss, kann per Powershell den Ordner anlegen, die entsprechenden Gruppen für den Zugriff erstellen und auch gleich die Gruppen zu den NTFS Berechtigungen hinzufügen.

Hier ein kleines Beispiel:

# Dieses Script erstellt einen Ordner im angegebenen Pfad, erstellt 3 Domänen Lokale
# Gruppen (Vollzugriff, Aendern, Lesen) und vergibt die entsprechenden Berechtigungen
# an den neu erstellten Ordner
# Written by Frank Zoechling
write-host „Name des neuen Ordners angeben“
write-host „“
write-host „Beispiel:“
write-host “ -wird nur ein Name angegeben wird der Ordner im aktuellen Pfad erstellt“
write-host “ -Wird ein Pfad angegeben (d:\test\daten\) wird ein neuer Ordner „Daten“ unter d:\Test“
write-host “ erstellt“
write-host „“
$path = read-host „Pfad“
md $path
$GNlesen = „dl_“+$path+“_LE“
$GNvollzugriff = „dl_“+$path+“_VZ“
$GNaendern = „dl_“+$path+“_AE“
new-adgroup $GNlesen -groupscope 0 -Description „Leserechte auf $path“
new-adgroup $GNvollzugriff -groupscope 0 -Description „Vollzugriff auf $path“
new-adgroup $GNaendern -groupscope 0 -Description „Aendernrechte auf $path“
$aclLE = get-acl $path
$arLE = new-object system.security.accesscontrol.filesystemaccessrule(„$GNlesen“,“ReadandExecute“,“Allow“)
$aclLE.SetAccessRule($arLE)
set-acl $path $aclLE
$aclVZ = get-acl $path
$arVZ = new-object system.security.accesscontrol.filesystemaccessrule(„$GNVollzugriff“,“FullControl“,“Allow“)
$aclVZ.SetAccessRule($arVZ)
set-acl $path $aclVZ
$aclAE = get-acl $path
$arAE = new-object system.security.accesscontrol.filesystemaccessrule(„$GNaendern“,“Modify“,“Allow“)
$aclAE.SetAccessRule($arAE)
set-acl $path $aclAE

Den Text oben kann man nun einfach in eine Powershell Script Datei kopieren, zum Beispiel „create-folder.ps1“.

Das Script macht dann folgendes, es legt den angegebenen Ordner an und erstellt 3 Domänen lokale Gruppen im Active Directory (Lesen, Ändern, Vollzugriff). Dann werden diese 3 Gruppen an die ACL des Ordners mit den entsprechenden Berechtigungen gehangen.

Das Script lässt sich natürlich weiter anpassen und soll nur als Beispiel dienen.

Bevor man Powershell Scripte ausführen kann muss man noch folgenden Befehl auf der Powershell ausführen:

set-executionpolicy remotesigned

Hier findet man weitere Informationen und Berechtigungen und der Powershell:

http://blogs.technet.com/b/josebda/archive/2010/11/12/how-to-handle-ntfs-folder-permissions-security-descriptors-and-acls-in-powershell.aspx

Die mobile Version verlassen