공용/데스크탑 ACL 항목 재설정

공용/데스크탑 ACL 항목 재설정

Windows 10 도메인 구성원에 대한 관리 권한의 필요성을 줄이려고 노력했습니다. 사람들이 하고 싶어하는 일반적인 작업 중 하나는 (멍청한 소프트웨어 설치 프로그램 때문에) 공유 공용 데스크탑에서 데스크탑 아이콘을 삭제하는 것입니다. 그래서 소유자 사용자(고급 사용자와 유사)를 추가하고 공용 데스크톱 폴더에 "삭제 허용" 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>"
}

관련 정보