Ich versuche, den Besitzer auf einen Ordner zu setzen und ich laufe auf Probleme. Hier ist mein aktuelles Skript. Ich versuche, alle Ordner unter einer Freigabe zu analysieren und den Besitzer des Ordners anhand des Ordnernamens auf den entsprechenden ADUser festzulegen. Ordnernamen sind SAMAccountNames.Powershell: Wie konvertiere ich ADUser in IdentityReference?
Import-Module ActiveDirectory
$path = Get-ChildItem F:\AppData\*\ | ?{ $_.PSIsContainer }
ForEach ($folder in $path) {
$ACL = get-acl $folder
$username = $folder.Name
$userobject = Get-ADUser $username
$ACL.SetOwner($userobject)
Set-Acl $folder.FullName $ACL
Write-Host $username
}
Der Fehler, den ich hier allerdings ist:
Kann Argument "Identität" mit dem Wert (einfügen Distinguished Name hier) für "SetOwner" nicht konvertieren geben System.Security.Principal.IdentityReference
Was ist eine bessere Möglichkeit, dies zu tun?
können Sie 'verwenden New-Object System.Security.Principal.NTAccount' mag:' $ objUser = New-Object System.Security.Principal.NTAccount ("", ""); $ acl.SetOwner ($ objUser) ' –
Matt
Ich denke, das funktioniert, aber ein paar Ordner erhalten eine Fehlermeldung, dass" Einige oder alle Identitätsreferenzen konnten nicht übersetzt werden. " –
Vergesst nicht, dass der Fehler auftritt, wenn die Benutzer-ID nicht existiert. Gibt es eine Möglichkeit, mit Fehlern umzugehen? –