设置注册表权限错误“Set-Acl:不允许请求的注册表访问”。

时间:2010-08-05 17:47:02

标签: powershell

我正在尝试为FullControl设置注册表权限,但不断收到此错误。一切正常,直到Set-Acl。我做错了什么?

New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT

$acl = Get-Acl HKCR:\CLSID\"{000C1090-0000-0000-C000-000000000046}"\InprocServer32

$newOwner = [System.Security.Principal.NTAccount]"$env:userdomain\$env:username"
$acl.SetOwner($newOwner)

$person = [System.Security.Principal.NTAccount]"Administrators"
$access = [System.Security.AccessControl.RegistryRights]"FullControl"
$inheritance = [System.Security.AccessControl.InheritanceFlags]"None"
$propagation = [System.Security.AccessControl.PropagationFlags]"None"
$type = [System.Security.AccessControl.AccessControlType]"Allow"
$rule = New-Object System.Security.AccessControl.RegistryAccessRule("$person","$access","$inheritance","$propagation","$type")
$acl.SetAccessRule($rule)

$acl | Set-Acl

1 个答案:

答案 0 :(得分:1)

除非您具有某些权限,并且在当前进程中启用了这些权限,否则无法将新所有者分配给文件或文件夹。通常,所有权是通过允许其他人自己获得所有权来实现的。这确保了审计过程的完整性。权利特别是SeBackupPrivilege。

那就是说,我不是说这是不可能的。下载powershell社区扩展,并按照我在此处发布的说明进行操作:

http://pscx.codeplex.com/Thread/View.aspx?ThreadId=214175

-Oisin