You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法从远程注册表HKU SID路径获取打印机列表,求解决方案

问题原因与解决方法

核心问题

  1. 用户配置文件未加载:HKEY_USERS下的用户SID子键仅在用户登录目标远程机器时才会被加载到注册表。如果目标用户未登录,其对应的注册表单元(NTUSER.DAT)处于离线状态,远程注册表无法直接访问。
  2. 脚本逻辑错误:原脚本仅调用OpenSubKey打开注册表键,并未获取该键下的子键列表;直接将RegistryKey对象传入Out-GridView,无法解析出子键信息,因此返回空表格。

解决方案

场景1:目标用户已登录远程机器

修改脚本,添加子键获取逻辑:

$userId = "userid"
$compName = "computerName"

# 获取用户SID
$sid = (Get-ADUser -Identity $userId).SID.Value

# 构建打印机连接注册表路径
$printerConnPath = "$sid\Printers\Connections\"

# 打开远程HKEY_USERS基键
$remoteHKU = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::Users, $compName)

# 尝试打开目标子键
$connKey = $remoteHKU.OpenSubKey($printerConnPath)

if ($connKey) {
    # 获取所有子键名称(格式即为,,serverName,printerName)
    $connKey.GetSubKeyNames() | Out-GridView -Title "已安装打印机连接"
    $connKey.Close()
} else {
    Write-Warning "无法找到指定路径:可能目标用户未登录远程机器,或路径不存在"
}

场景2:目标用户未登录远程机器

需加载离线的NTUSER.DAT文件(需远程机器管理员权限):

$userId = "userid"
$compName = "computerName"
$adminCred = Get-Credential -Message "输入远程机器管理员凭据"

# 获取用户SID
$sid = (Get-ADUser -Identity $userId).SID.Value

# 远程执行离线注册表加载与查询操作
Invoke-Command -ComputerName $compName -Credential $adminCred -ScriptBlock {
    param($userId)
    # 默认用户配置文件路径(若为自定义路径需调整)
    $ntuserPath = "C:\Users\$userId\NTUSER.DAT"
    
    if (Test-Path $ntuserPath) {
        # 加载离线注册表到HKLM临时键
        reg load HKLM\TempUser $ntuserPath
        # 获取打印机连接子键列表
        $subKeys = Get-ChildItem "HKLM:\TempUser\Printers\Connections\" -Name
        # 输出结果
        $subKeys
        # 卸载临时键(必须执行,否则NTUSER.DAT会被锁定)
        reg unload HKLM\TempUser
    } else {
        Write-Warning "未找到用户配置文件:$ntuserPath"
    }
} -ArgumentList $userId | Out-GridView -Title "离线用户打印机连接"

注意事项

  • 确保远程机器已开启Remote Registry服务,且执行脚本的用户拥有远程注册表访问权限(或管理员权限)。
  • 离线加载注册表后必须执行卸载操作,否则目标用户的配置文件会被锁定,无法正常登录。

内容的提问来源于stack exchange,提问作者Kenneth Fish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 00:45:02