私はフォルダの所有者を設定しようとしていますが、問題は続いています。ここに私の現在のスクリプトがあります。私は、共有下のすべてのフォルダを解析し、フォルダの名前に基づいて対応するADUserにフォルダの所有者を設定しようとしています。フォルダ名はSAMAccountNamesです。Powershell:ADUserを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
}
ですが、私はここに来るエラー:
「SETOWNER」の値を持つ引数の「アイデンティティ」(ここでは識別名を挿入)に変換することはできません入力するSystem.Security.Principal.IdentityReference
これを行うにはどのような方法が良いですか?
:' $ objUserを=新オブジェクトSystem.Security.Principal.NTAccount( ""、 ""); $ acl.SetOwner($ objUser) ' –
Matt
これはうまくいくと思いますが、いくつかのフォルダに「一部またはすべてのID参照を翻訳できませんでした」というエラーが表示されます。 –
このエラーは、ユーザーIDが存在しない場合に発生します。エラーを処理する方法はありますか? –