Ordnerberechtigungen mit der Powershell

2. Juli 2019

Ordner und Dateiberechtigungen für die Mitarbeiter erstellen die Administratoren effektiv und bequem mit den passenden Powershell-Skripten.

In der grafischen Oberfläche von Windows Server lassen sich bestimmte Aufgaben nur sehr ineffizient abarbeiten. Wer schon einmal versucht hat, dutzende oder hunderte Ordner anzulegen, und die benötigten Berechtigungen den entsprechenden Benutzern zuzuordnen, kennt die Probleme. An dieser Stelle helfen entweder Tools von Drittanbietern weiter, oder die Systembetreuer nutzen Bordmittel wie die Windows Powershell. Denn mit den passenden Skripten erledigen die Systembetreuer derartige „Fleißaufgaben“ in kurzer Zeit. Das ist etwa mit dem folgenden Skript von Frank Zoechling der Fall:


# 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

Florian Huttenloher

Lesen Sie auch