パブリック/デスクトップ ACL エントリのリセット

パブリック/デスクトップ ACL エントリのリセット

Windows 10 ドメイン メンバーの管理者権限の必要性を減らそうとしました。ユーザーがよく行う操作の 1 つは、共有パブリック デスクトップからデスクトップ アイコンを削除することです (愚かなソフトウェア インストーラーのせいで)。そこで、ローカル グループを追加し、そこに所有者ユーザー (パワー ユーザーに似ています) を追加し、そのグループにパブリック デスクトップ フォルダーの「削除許可」ACL エントリを追加します。これは機能します (ある程度は機能しますが、フォルダーを開く必要があり、デスクトップ上のアイコンを直接削除することはできませんが、この質問) ですが、ACL は定期的にリセットされるようです (許可権限を持つこのローカル グループの ACE は削除されます)。

何かがフォルダーのアクセス許可をリセットしたようですが、それが何なのかはわかりません。グループ ポリシーではないと思います。少なくとも意図的ではありません。Windows には、そのフォルダーを調整するためのアクセス許可テンプレートがありますか? (また、その適用をトリガーするものは何ですか?)

これはスクリプトの一部です (動作しますが、数日後に設定が失われます)。

$PublicDesktop = "$env:Public\Desktop"
$localowneraccount = "$env:COMPUTERNAME\$localowners"
$acl = Get-Acl $PublicDesktop
$t = $null
$t = $acl.Access | where { $_.IdentityReference -eq $localowneraccount -and $_.FileSystemRights.ToString() -imatch "Delete"}
if ($t -eq $null) {
  $_perms = "$([System.Security.AccessControl.FileSystemRights]::Delete),$([System.Security.AccessControl.FileSystemRights]::DeleteSubdirectoriesAndFiles)"
  $_inherit = [System.Security.AccessControl.InheritanceFlags]::ContainerInherit+[System.Security.AccessControl.InheritanceFlags]::ObjectInherit
  $_propagate = [System.Security.AccessControl.PropagationFlags]::InheritOnly
  $_allow = [System.Security.AccessControl.AccessControlType]::Allow
  $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($localowneraccount, $_perms, $_inherit, $_propagate, $_allow)
  $acl.AddAccessRule($AccessRule)
  $acl | Set-Acl $PublicDesktop -ErrorAction Stop
  Write-Host "Added Delete permission for Public Desktop to Group=<$localowners>"
} else {
  Write-Verbose "Public Desktop delete permission already granted to Group=<$localowners>"
}

関連情報