2017-01-30 126 views
0

我想使用PowerShell删除注册表项的用户权限,但有困难。当前登录的用户(User.Test)可以完全控制密钥Internet Settings,但是当作为计划任务运行下面的脚本时,它无法成功移除用户。有人可以帮忙吗?通过PowerShell的权限注册表

Set-ExecutionPolicy UnRestricted 
$acl = Get-Acl -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" 
$acl | Format-List 
$user = New-Object System.Security.Principal.NTAccount("Domain\User.Test") 
$permission = [System.Security.AccessControl.RegistryRights]"FullControl" 
$inherit = [System.Security.AccessControl.InheritanceFlags]::None 
$propagation = [System.Security.AccessControl.PropagationFlags]::None 
$type = [System.Security.AccessControl.AccessControlType]::Allow 
$rule = New-Object System.Security.AccessControl.RegistryAccessRule($user, $permission, $inherit, $propagation, $type) 
$acl.RemoveAccessRuleAll($rule) 
$acl | Set-Acl 

回答

2

尝试$acl.SetAccessRule($rule)而不是$acl.RemoveAccessRuleAll($rule)