我有一个关于删除注册密钥港大(HKEY_USERS)的问题。如果我用powershell运行这个程序,我会得到一个错误:
Invoke-Command -ComputerName $inputPC -ScriptBlock { Remove-Item -Path 'HKU:\S-1-5-25\Software\Microsoft\Windows\CurrentVersion\RunOnce'}错误:
Cannot find drive. A drive with the name 'HKU' does not exist.
+ CategoryInfo : ObjectNotFound: (HKU:String) [Remove-Item], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand
+ PSComputerName : clt64792但是,如果对于HKU:,我将它交换为HKLM: (例如,它可以工作并删除注册表项),我如何访问HKU?我尝试过不同的方法来删除注册表项,而且它们都是相同的,但是没有一个是映射HKU注册表项的。
发布于 2019-09-23 13:38:01
默认情况下,只定义以下引用注册表位置的PowerShell驱动器:
PS> Get-PSDrive -PSProvider Registry
Name Used (GB) Free (GB) Provider Root CurrentLocation
---- --------- --------- -------- ---- ---------------
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE 也就是说,在默认情况下,只驱动 HKLM: 和HKLM:。
为了访问HKEY_USERS单元中的密钥,您有两个选项:
New-PSDrive的自定义 PowerShell驱动器,正如theadzik在评论中所建议的那样,尽管这可能不值得(在您的例子中,您必须在传递给Invoke-Command):的脚本块中这样做。
# Define drive HKU:
New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS
# Now you can use HKU:\... pathsregistry:: 和本机注册表路径,这对于ad use来说更简单。
# E.g.
Get-ChildItem registry::HKEY_USERS\.DEFAULT在您的命令中:
Invoke-Command -ComputerName $inputPC -ScriptBlock {
Remove-Item 'registry::HKEY_USERS\S-1-5-25\Software\Microsoft\Windows\CurrentVersion\RunOnce'
}https://stackoverflow.com/questions/58059948
复制相似问题