8

我有一个 Windows PowerShell 脚本。我以管理员身份登录到 Windows 并以管理员身份运行 PowerShell 并运行脚本,它可以工作;我可以看到运行此脚本后发生的所有更改。

但我仍然收到红色错误消息:

不允许请求的注册表访问

这让我发疯。

为什么我会收到这个错误,我怎样才能让它消失?

4

3 回答 3

6

如果您运行 regedit 并导航到您尝试使用脚本访问的密钥,则可以右键单击它并查看权限。您可以在该键上查看管理员拥有的权限(完全控制、读取、特殊权限)

于 2013-03-27T17:34:08.870 回答
1

这个 PowerShell 技巧对我有用:

$Path = "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpeg\UserChoice"
$SubKey = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey($Path, [Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree, [System.Security.AccessControl.RegistryRights]::ChangePermissions)
$Acl = $SubKey.GetAccessControl()
$RemoveAcl = $Acl.Access | Where-Object {$_.AccessControlType -eq "Deny"}
$Acl.RemoveAccessRule($RemoveAcl)
$SubKey.SetAccessControl($Acl)
$SubKey.Close()

**in $Path ==> 将其更改为您的路径(根文件夹后的路径)

**in $SubKey ==> [Microsoft.Win32.Registry]::CurrentUser :将其更改为您需要的根注册表路径

于 2020-09-27T11:24:29.497 回答
1

通过 psexec 尝试作为本地系统

这对我有用:

于 2021-09-07T11:06:39.603 回答