windows - 使用远程注册表服务访问所有用户注册表
问题描述
我目前正在开发一个 PowerShell 工具,该工具通过远程注册表服务从注册表远程读取。当用户登录时,我正在读取的数据位于HKCU\Software\
. 显然,当一台计算机有多个用户帐户时,HKCU 并不能准确地反映所有用户。是否有一种动态方式可以让我循环访问计算机上的所有用户并访问他们的注册表?
目前我在 PowerShell 中执行以下操作:
$KeyType = [Microsoft.Win32.RegistryHive]::CurrentUser
$BaseRegKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($KeyType, $RemoteComputer)
$SoftwareKey = $BaseRegKey.OpenSubKey($SoftwarePathEnding)
我如何能够使用类似的代码来遍历所有用户以获取我正在寻找的正确数据?
对不起,如果这没有解释得很好,如果我需要提供一些澄清。
解决方案
HKCU
是 的快捷方式HKU\<User-SID>
,ntuser.dat
在登录时从用户的配置文件中加载。要访问每个用户的注册表分支,您需要首先加载每个用户的注册表ntuser.dat
,例如通过reg load
在远程主机上运行Invoke-Command
.
Invoke-Command -Computer 'hostname' -ScriptBlock {
& reg load 'HKU\someuser' 'C:\Users\someuser\ntuser.dat'
}
完成后不要忘记reg unload
文件。
推荐阅读
- regression - Statsmodels:如何为回归选择不同的置信区间
- python - 在列表中的元素上“合并”2个数据框?- 双键
- typescript - 打字稿:一个类方法可以成为另一个方法的装饰器吗?
- reactjs - D3 图表不会在新数据上重绘
- amazon-web-services - Amazon Cognito 用户名重复
- javascript - 正则表达式搜索因特殊字符而失败
- react-native - 原生模块:{ Component } = NativeModules 和 requireNativeComponent('Component') 之间的区别
- prolog - Prolog 中的元解释逻辑剪切(编辑以容纳评论)
- php - 创建新博客文章时如何自动检查 Woocommerce 会员资格“禁用限制”复选框
- python - 与 plotly 一起使用的 locationmode 列表