PowerShell Ordner die Berechtigung Fehler - Einige oder alle, identity Referenzen konnte nicht übersetzt werden.
Ich habe gelesen, dass viele Beiträge dazu, aber ich kann immer noch nicht bekommen. Ich führe das script als Admin und Es funktioniert erstellen Sie die Ordner, die bestimmten, nur nicht die entsprechenden Berechtigungen festgelegt. Jede Hilfe würde geschätzt werden. Danke!
$Users = Get-Content "D:\New_Users.txt"
ForEach ($user in $users)
{
$newPath = Join-Path "F:\Users" -childpath $user
New-Item $newPath -type directory
$UserObj = New-Object System.Security.Principal.NTAccount("DOMAIN",$user)
$acl = Get-Acl $newpath
$acl.SetAccessRuleProtection($True, $False)
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("O1OAK\$user","AppendData,CreateDirectories,CreateFiles,DeleteSubdirectoriesAndFiles,ExecuteFile,ListDirectory,Modify,Read,ReadAndExecute,ReadAttributes,ReadData,ReadExtendedAttributes,ReadPermissions,Synchronize,Traverse,Write,WriteAttributes,WriteData,WriteExtendedAttributes","ContainerInherit, ObjectInherit","None","Allow")
$acl.SetAccessRule($accessRule)
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("NT AUTHORITY\SYSTEM","FullControl","ContainerInherit, ObjectInherit","None","Allow")
$acl.SetAccessRule($accessRule)
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Administrators","FullControl","ContainerInherit, ObjectInherit","None","Allow")
$acl.SetAccessRule($accessRule)
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("1OAK\$user","Delete","ContainerInherit, ObjectInherit","None","Allow")
$acl.removeAccessRule($accessRule)
$acl.SetOwner($UserObj)
$acl | Set-Acl $newpath
}
Den ersten Fehler in einer Reihe von 3, die ich bekommen ist weiter unten. Ich denke, es ist am wichtigsten und wird fix die anderen 2.
Exception calling "SetAccessRule" with "1" argument(s): "Some or all identity references could not be translated."
At D:\DOMAIN\IT\IT Private\User Drives\user_folders.ps1:12 char:20
+ $acl.SetAccessRule <<<< ($accessRule)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
Ich hoffe das ist nicht doppelt, und ich bin sorry, wenn es ist, ich lese seit Stunden. Danke!
- 1. $accessRule eine identity-parameter haben einen domain-Namen 'O1OAK' das 4. '1OAK'. es ist rigth?
InformationsquelleAutor Siriss | 2012-07-11
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Fehler ist ziemlich selbsterklärend:
Some or all identity references could not be translated.
Dies bedeutet, dass das Konto nicht gefunden werden konnte. Also, was Sie tun müssen, ist überprüfen Sie Ihre Konten. Da bist du hinzufügen 4 ACE ist, müssen Sie identifizieren, die ungültig ist.
Der einfachste Weg dies zu tun ist, zu Debuggen, die Zeile für Zeile mit Hilfe der ISE oder PowerGUI.
Ich habe versucht den code mit "NT-AUTORITÄT\SYSTEM" und "VORDEFINIERT\Administratoren" und es funktioniert so, das Problem ist
"O1OAK\$user"
oder"1OAK\$user"
. Sie haben wahrscheinlich ein ungültiges Konto in Ihrem text-Datei.einem gotch mit der Benutzer-ID ist, dass AD schneidet den Benutzernamen, so dass der Benutzer mit einem langen Namen "j_reallylongname" haben samid (Security Account Manager (SAM) account name), die ist abgeschnitten. (j_reallylong)
also beim abrufen von Benutzernamen, stellen Sie sicher, dass Sie überprüfen Sie vor der ANZEIGE, bevor Sie Sie verwenden.
Wenn ich habe die upns, so ich eine dsget-Abfrage, um die samid dann verwenden, um die Identität Referenz.
Hinzufügen, dass diese, im Falle von C#/ASP.NET-Entwickler (das ist mein Szenario und ich fand diesen Beitrag).
Ich bin mit .NET Core in einer Unternehmensumgebung, und ich brauche, um zu überprüfen, die Gruppe als Teil der Sicherheit. Der code ist wie (wo "user" ist ein
ClaimsPrincipal
):Sowieso, jemand in Höhe von Gruppen gelöscht, eine Gruppe ich gehörte, und die AD-Replikation Verzögerung verursacht mir um den Fehler in der überschrift. Eine Abmeldung und/oder Neustart funktioniert nur.