すでに許可されている場合は「ユーザー」権限を削除し、管理者および IIS ユーザーに権限を提供するために、powershell を使用してフォルダー権限を設定するために icacls.exe を呼び出すインストーラーを使用しています。スクリプトは
$folderPermissionList = (Get-Acl "C:\Program Files\Workspace").Access | ?{$_.IdentityReference -match "$BUILTIN\\Users"} | Select IdentityReference,FileSystemRights
If($folderPermissionList.FileSystemRights -match "FullControl")
{
Write-Host "Inside condition"
& icacls.exe "C:\Program Files\Workspace" /Q /T /remove "BUILTIN\Users"
}
Write-Host "outside condition"
& icacls.exe "C:\Program Files\Workspace" /Q /T /grant "BUILTIN\Administrators:`(OI`)`(CI`)`(F`)"
& icacls.exe "C:\Program Files\Workspace" /Q /T /grant "BUILTIN\IIS_IUSRS:`(OI`)`(CI`)`(F`)"
上記のスクリプトは Windows サーバーでは動作しますが、Windows 10 OS では動作しません。Powershell で試しても応答がなく、icacls コマンドでハングします。
Powershell バージョン: 5.1.19041.1151 Windows 10 Enterprise [21H1]
注:昇格された権限で実行され、スタックしました[添付の結果を参照]
Windows 10で実行されない理由は何ですか? または、このような問題なしでアクセス許可を設定する他のアプローチはありますか?