나는 사용자를위한 홈 디렉토리를 생성하고 이에 따라 권한을 설정하기 위해 powershell을 사용하려고합니다.Powershell 홈 디렉토리에 대한 권한 설정
권한을 설정할 수없는 곳에서이 문제가 계속 발생하는 것으로 보입니다. 이 오류가 무엇입니까 :
여기Exception calling "AddAccessRule" with "1" argument(s): "Some or all identity references could not be translated." At line:1 char:1 + $permissions.AddAccessRule($userpermissions) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : IdentityNotMappedException
코드의 섹션 :이 코드의 몇 가지 변화를 시도하고 여전히 같은 오류와 끝까지 한
$UserDir = [string]::Format("{0}\{1}", $HomeDirRoot, $user["UserName"])
$Account = [string]::Format("{0}\{1}", "Domain", $user["UserName"])
#Create Directory
New-Item -ItemType directory -Path $UserDir |Out-Null
# assign file permissions
$FileSystemAccessRights=[System.Security.AccessControl.FileSystemRights]"FullControl"
$InheritanceFlags=[System.Security.AccessControl.InheritanceFlags]::"ContainerInherit", "ObjectInherit"
$PropagationFlags=[System.Security.AccessControl.PropagationFlags]::None
$AccessControl=[System.Security.AccessControl.AccessControlType]::Allow
$NewAccessrule = New-Object System.Security.AccessControl.FileSystemAccessRule ` ($Account, $FileSystemAccessRights, $InheritanceFlags, $PropagationFlags, $AccessControl)
$CurrentACL=Get-ACL -path $UserDir
$CurrentACL.SetAccessRule($NewAccessrule)
Set-ACL -path $UserDir -AclObject $CurrentACL
. 나는 ACL 객체를 얻은 다음 아래와 같이 사용 권한을 설정하기까지했다.
$folder = "\\fs\home\SAMACCOUNTNAMEHERE"
$permissions = Get-Acl $folder
Set-Acl $folder $permissions
나는 여기를 잃어 버렸다. 코드가 내 컴퓨터의 폴더에서 작동하기 때문에 위의 폴더에서 코드를 실행하려고하면 ID 참조와 관련된 오류가 발생합니다.
의견을 보내 주시면 감사하겠습니다.
나는 이것을 시도했다. 계정 변수를 하드 코딩했습니다. 어떤 아이디어로 인해 사용자가 인식되지 않을 수 있습니까? 폴더가있는 다른 컴퓨터에서이 코드를 실행하면 차이가 있습니까? – MogulBomb
@NLarkin 계정이 로컬 계정이나 AD에 연결되어 있습니까? 그리고 컴퓨터가 도메인에 가입되어 있습니까? 또한'Invoke-Command'를 사용하여 컴퓨터에서 원격으로 명령을 실행 해 보았습니까? – Richard