[解決済み] PowerShell フォルダ権限エラー - 一部またはすべての ID 参照を変換できませんでした。
2022-02-01 22:55:31
質問内容
この件に関する多くの投稿を読みましたが、まだ手に入りません。このスクリプトは管理者として実行しており、必要なフォルダは作成されますが、適切なパーミッションが設定されません。どのようなヘルプでもかまいません。ありがとうございました。
$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
}
3つあるエラーのうち、最初に出るのは以下のようなものです。これが一番重要だと思うので、他の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
重複していなければいいのですが、もし重複していたらすみません、何時間も読んでしまいました。ありがとうございました。
どのように解決するのですか?
このエラーは簡単に説明できます。
Some or all identity references could not be translated.
これは、アカウントが見つからなかったことを意味します。ですから、あなたがしなければならないことは、アカウントの検証です。4つのACEを追加しているので、どれが無効なのかを特定する必要があります。
最も簡単な方法は、ISE または PowerGUI を使用して、1 行ずつデバッグすることです。
NT AUTHORITYSYSTEMとBUILTINAdministratorsで試したところ、うまくいったので、この問題は
"O1OAK\$user"
または
"1OAK\$user"
. テキストファイルに無効なアカウントが含まれている可能性があります。
関連
-
[解決済み] UnicodeDecodeError: 'charmap' コーデックは、位置YのバイトXをデコードできません:文字は<undefined>にマップされます。
-
[解決済み】cmdでdirを呼び出すと出力される。"Cドライブのボリュームにはラベルがありません。"
-
[解決済み] xcopyがAccess Deniedと表示される原因は何ですか?
-
[解決済み] どのような場合に0x40010004のコードでプログラムが終了するのでしょうか?
-
[解決済み] npm windows install globallyでnpm ERR!余計なお世話になる。
-
[解決済み] コマンドプロンプトから sqlite - 認識されないコマンド
-
[解決済み] Windowsの能書きは?
-
[解決済み] xcopyコマンド使用時に "invalid path 0 files copied "というエラーが発生する。
-
[解決済み] WindowsのcmdでCD /Dスイッチの理由は何ですか?
-
[解決済み] CMDでPowerShellを実行する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Npm root/administratorでこのコマンドを再度使用してみてください。
-
[解決済み] Npm このコマンドを root/administrator で再使用してください。
-
[解決済み] 依存関係ウォーカー:DLLが見つからない
-
[解決済み] PowerShell フォルダ権限エラー - 一部またはすべての ID 参照を変換できませんでした。
-
[解決済み] Powershell」が内部コマンド、外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されない
-
[解決済み] invisible.vbsでBATファイルをバックグラウンドで実行するが、停止する方法は?
-
[解決済み] OpenSSL が設定ファイルの distinguished_name を見つけられませんでした。
-
[解決済み] Windowsでフォルダへのアクセスを回復する方法
-
[解決済み] Windowsで "rm -rf "に相当するものはありますか?
-
[解決済み] XCOPYです。BATCHでプロンプトを出さずに全てを上書きする