Mit Powershell den Besitzer eines Ordners rekursiv setzen

Wie kann man mit Powershell den Besitzer eines Ordners rekursiv setzen? Denn über die grafische Oberfläche von Windows ist das mitunter ein recht mühsames geklicke und so ist Powershell – gerade für mehrfache Änderungen – die richtige und schnellste Lösung. Mit folgenden Powershell-Befehlen kann man den Besitzer eines Ordners rekursiv setzen. Einfach das Skript in einen Texteditor kopieren und Domainname, Benutzername und UNC-Pfad angeben und in wieder in Powershell einfügen.

$username=”Benutzeranmeldename”
$domain=”Domainname”
$path = "\\Server\freigabe\ordner"
$ID = new-object System.Security.Principal.NTAccount($domain, $username)
$acl = get-acl $path
$acl.SetOwner($ID)
set-acl -path $path -aclObject $acl
Get-ChildItem -Path $path -recurse | set-acl -aclObject $acl

In der vorletzten Zeile wird der Besitzer des angegebenen Ordners gesetz und in der letzten Zeile wird der Besitzer in alle Unterordnern und Dateien (also rekursiv) gesetzt.

Set-Acl : Die Sicherheits-ID darf nicht der Besitzer dieses Objekts sein

Wichtig hierbei ist zu erwähnen, dass als Pfad der UNC-Pfad des Ordners angegeben werden muss. Wird hier der absolute Pfad (also c:\…) verwendet, so erhält man nur die nichtssagende Powershell-Fehlermeldung: „Set-Acl : Die Sicherheits-ID darf nicht der Besitzer dieses Objekts sein“.

Powershell Fehlermeldung
Powershell Fehlermeldung Set-Acl : Die Sicherheits-ID darf nicht der Besitzer dieses Objekts sein.

Besitzer nicht rekursiv setzen

Wollen Sie den Besitzer eines Ordners nicht rekursiv setzen, dann kann die letzte Zeile einfach weggelassen werden. Und es wird nur der Benutzer für den angegebenen Ordner als Besitzer hinterlegt, alle anderen Dateien und Ordner behalten ihren derzeitigen Besitzer.

2 Gedanken zu „Mit Powershell den Besitzer eines Ordners rekursiv setzen“

  1. Hallo,

    danke für den Script. Wie kann man den Besitzer von Profile-Ordner setzen, wenn Name des Ordners andere ist als Name des User (win7 hat *.V2 in Namen des Ordners). Und am besten über ein CSV-File.

    Danke

Kommentare sind geschlossen.