Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 使用远程注册表服务访问所有用户注册表_Windows_Powershell_Registry_Remote Registry - Fatal编程技术网

Windows 使用远程注册表服务访问所有用户注册表

Windows 使用远程注册表服务访问所有用户注册表,windows,powershell,registry,remote-registry,Windows,Powershell,Registry,Remote Registry,我目前正在使用PowerShell工具,该工具通过远程注册表服务远程读取注册表。当用户登录时,我读取的数据位于HKCU\Software\中。很明显,当一台电脑有多个用户帐户时,香港中文大学不会准确反映所有用户。有没有一种动态的方式可以让我遍历计算机上的所有用户并访问他们的注册表 目前,我正在PowerShell中执行以下操作: $KeyType = [Microsoft.Win32.RegistryHive]::CurrentUser $BaseRegKey = [Microsoft.Win3

我目前正在使用PowerShell工具,该工具通过远程注册表服务远程读取注册表。当用户登录时,我读取的数据位于HKCU\Software\中。很明显,当一台电脑有多个用户帐户时,香港中文大学不会准确反映所有用户。有没有一种动态的方式可以让我遍历计算机上的所有用户并访问他们的注册表

目前,我正在PowerShell中执行以下操作:

$KeyType = [Microsoft.Win32.RegistryHive]::CurrentUser
$BaseRegKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($KeyType, $RemoteComputer)
$SoftwareKey = $BaseRegKey.OpenSubKey($SoftwarePathEnding)
我怎样才能使用类似的代码在所有用户之间循环,以获得我正在寻找的正确数据

抱歉,如果解释得不太清楚,并且我需要提供一些说明。

HKCU是到HKU\的快捷方式,在登录时加载用户配置文件中的ntuser.dat。要访问每个用户的注册表分支,您需要首先加载每个用户的ntuser.dat,例如通过Invoke命令在远程主机上运行reg load

完成后不要忘记注册卸载文件。

HKCU是HKU\的快捷方式,登录时会加载用户配置文件中的ntuser.dat。要访问每个用户的注册表分支,您需要首先加载每个用户的ntuser.dat,例如通过Invoke命令在远程主机上运行reg load


完成后别忘了注册卸载文件。

你的最终目标是什么?这可以通过集团政策更好地实现。你的最终目标是什么?这可能是更好地完成与集团政策。正确的,我喜欢这个答案。我希望在不必在远程主机上运行命令的情况下实现一些功能,但这是有意义的。谢谢。为了澄清“快捷方式”,HKEY_CURRENT_USER是一个预定义的键句柄,API会自动映射到当前进程的\Registry\USER\句柄。在远程注册表中使用这个句柄显然没有什么意义。HKEY_USERS是另一个预定义句柄,它被映射到本地\注册表\用户的句柄或远程系统上此项的RPC句柄。使用预定义句柄简化了当前用户和远程访问的API。在我看来,预定义句柄的名称在路径字符串中的使用方式混淆了它是一个句柄相对路径。我希望在不必在远程主机上运行命令的情况下实现一些功能,但这是有意义的。谢谢。为了澄清“快捷方式”,HKEY_CURRENT_USER是一个预定义的键句柄,API会自动映射到当前进程的\Registry\USER\句柄。在远程注册表中使用这个句柄显然没有什么意义。HKEY_USERS是另一个预定义句柄,它被映射到本地\注册表\用户的句柄或远程系统上此项的RPC句柄。使用预定义句柄简化了当前用户和远程访问的API。在我看来,预定义句柄的名称在路径字符串中的使用方式混淆了它是句柄相对路径。
Invoke-Command -Computer 'hostname' -ScriptBlock {
    & reg load 'HKU\someuser' 'C:\Users\someuser\ntuser.dat'
}