无法使用 powershell 映射 HKU 注册表配置单元

Tau*_*vis 2 registry powershell

我有一个关于从注册表项 HKU (HKEY_USERS) 中删除的问题。如果我用 powershell 运行它,我会收到一个错误:

Invoke-Command -ComputerName $inputPC -ScriptBlock { Remove-Item -Path 'HKU:\S-1-5-25\Software\Microsoft\Windows\CurrentVersion\RunOnce'}
Run Code Online (Sandbox Code Playgroud)

错误:

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
Run Code Online (Sandbox Code Playgroud)

但是,如果HKU:我将HKLM:它交换为例如它可以工作并删除注册表项,我该如何访问HKU?我尝试了不同的方法来删除注册表项,并且所有方法都相同,但它们都没有映射 HKU 注册表项。

mkl*_*nt0 7

默认情况下,仅定义以下引用注册表位置的 PowerShell 驱动器:

PS> Get-PSDrive -PSProvider Registry

Name           Used (GB)     Free (GB) Provider      Root                                                                                                           CurrentLocation
----           ---------     --------- --------      ----                                                                                                           ---------------
HKCU                                   Registry      HKEY_CURRENT_USER                                                                                                             
HKLM                                   Registry      HKEY_LOCAL_MACHINE                                                                                                            
Run Code Online (Sandbox Code Playgroud)

也就是说,只有驱动器HKCU:HKLM:默认存在


为了访问HKEY_USERS配置单元中的密钥,您有两个选择:

  • 定义一个定制的HKUPowerShell驱动器使用New-PSDrive,如theadzik建议在评论,尽管这可能并不值得(你的情况,你就必须做到这一点的脚本块内传递给Invoke-Command):
# Define drive HKU:
New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS
# Now you can use HKU:\... paths
Run Code Online (Sandbox Code Playgroud)
  • 将 provider 前缀registry::与本机注册表路径一起使用,这对于临时使用更简单
# E.g.
Get-ChildItem registry::HKEY_USERS\.DEFAULT
Run Code Online (Sandbox Code Playgroud)

在您的命令的上下文中:

# Define drive HKU:
New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS
# Now you can use HKU:\... paths
Run Code Online (Sandbox Code Playgroud)