Powershell 以管理员身份运行,但仍然是;不允许请求的注册表访问”;

Powershell 以管理员身份运行,但仍然是;不允许请求的注册表访问”;,powershell,Powershell,我有一个Windows PowerShell脚本。我以管理员身份登录Windows,并以管理员身份运行PowerShell的脚本,它运行正常;我可以看到运行此脚本后发生的所有更改 但我仍然收到红色的错误消息: 不允许请求的注册表访问 这让我快发疯了 为什么会出现此错误以及如何消除此错误?如果运行regedit并导航到您试图使用脚本访问的密钥,则可以右键单击该密钥并查看权限。您可以在该密钥上查看管理员拥有的权限(完全控制、读取、特殊权限)这个PowerShell技巧对我很有用: $Path = &

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

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

不允许请求的注册表访问

这让我快发疯了


为什么会出现此错误以及如何消除此错误?

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

这个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()
**在$Path==>中将其更改为您的路径(根文件夹后的路径)


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

它在抱怨注册表的哪一部分?部分注册表归受信任的安装程序所有。管理员还不够。这是否回答了您的问题?这通常是不起作用的,因为你没有被提升来完成这项工作。