我正在尝试为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
答案 0 :(得分:1)
除非您具有某些权限,并且在当前进程中启用了这些权限,否则无法将新所有者分配给文件或文件夹。通常,所有权是通过允许其他人自己获得所有权来实现的。这确保了审计过程的完整性。权利特别是SeBackupPrivilege。
那就是说,我不是说这是不可能的。下载powershell社区扩展,并按照我在此处发布的说明进行操作:
http://pscx.codeplex.com/Thread/View.aspx?ThreadId=214175
-Oisin