2016-08-23 7 views
0

私は、ユーザーのホームディレクトリを作成するためにpowershellを使用すると同時に、そのためのアクセス許可を設定しようとしています。Powershellはホームディレクトリにアクセス許可を設定します

権限を設定できないこの問題が引き続き発生しているようです。私はこのエラーを取得しています:

$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 

私はこのコードのいくつかのバリエーションを試してみましたが、まだ同じエラーで終了している:ここで

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

は、コードのセクションです。私はACLオブジェクトを取得し、それを使って以下のようなパーミッションを設定しています:

$folder = "\\fs\home\SAMACCOUNTNAMEHERE" 
$permissions = Get-Acl $folder 
Set-Acl $folder $permissions 

私はここで紛失しています。コードは私のマシン上のフォルダで動作するので、上記のようなフォルダでコードを実行しようとすると、ID参照に関連するエラーが発生します。

感謝の意を表します。

答えて

0

上記のコードはうまく動作しますが、表示されるエラーは表示されているユーザー名です。このエラーは、ユーザー名がアクティブディレクトリまたはローカルマシンによって認識されていないことを意味します。だからあなたの$account変数が、それが何であるか、そしてそのアカウントがアクティブディレクトリまたはローカルマシンに存在していると思われるかどうかを確認してください。

$Account | Write-Host  
+0

私はこれを試しました。私はアカウント変数をハードにコード化しました。ユーザーに何が認識されないのか?別のマシン(フォルダが存在する場所)でこのコードを実行すると違いが出るのですか? – MogulBomb

+0

@NLarkinアカウントはローカルアカウントまたはADに接続していますか?マシンはドメインに参加していますか?また、 'Invoke-Command'を使ってマシン上でリモートでコマンドを実行しようとしましたか? – Richard

関連する問題