Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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 存储和检索HKLM中存储的注册表项时出现问题_Windows_Powershell_Registry_Registrykey - Fatal编程技术网

Windows 存储和检索HKLM中存储的注册表项时出现问题

Windows 存储和检索HKLM中存储的注册表项时出现问题,windows,powershell,registry,registrykey,Windows,Powershell,Registry,Registrykey,我将凭证存储在HKLM:/Software/test path中,然后稍后使用它进行授权 我在这里面临一个问题,它有时返回我设置的确切值,有时返回不同的值。但是我不能检查确切的注册表项,因为我没有对那台机器的物理访问权限 围绕这件事有几个问题- a) 一台机器中可以有两个HKLM帐户吗?根据所有在线文档,没有。但我想不出任何其他方式来证明这一点。我没有显式缓存该值,不确定windows是否在内部缓存该值。 b) 我还观察到,有时流无法检索该注册表项(testpath commandlet返回fa

我将凭证存储在HKLM:/Software/test path中,然后稍后使用它进行授权

我在这里面临一个问题,它有时返回我设置的确切值,有时返回不同的值。但是我不能检查确切的注册表项,因为我没有对那台机器的物理访问权限

围绕这件事有几个问题- a) 一台机器中可以有两个HKLM帐户吗?根据所有在线文档,没有。但我想不出任何其他方式来证明这一点。我没有显式缓存该值,不确定windows是否在内部缓存该值。 b) 我还观察到,有时流无法检索该注册表项(testpath commandlet返回false),但持续时间很短,然后它再次开始返回正确的值。有人对此有任何背景知识吗?它是否与regedit写入相关?如果是,那么建议的修复方法是什么


有人能帮我吗?我现在没有选择了。

将凭证存储在计算机注册表中是非常不安全的。每个有权限的人都可以得到它。请向我们展示您用于[1]创建注册表凭据值的代码,并[2]从远程pc读回该值。
HKEY_LOCAL_机器
不是帐户。它是给定机器上“机器”注册表项的预定义句柄。如果它实际上是本地计算机而不是远程计算机的RPC连接,则API将打开并使用系统键对象“\REGISTRY\machine”的实际句柄,“SOFTWARE”子键是本地注册表配置单元“%SystemRoot%\System32\config\SOFTWARE”。访问“软件”子项可能会重定向到“软件\WOW6432Node”,具体取决于访问进程是否为WOW64进程,以及是
KEY\u WOW64\u 32KEY
还是
KEY\u WOW64\u 64KEY
专门请求访问。@Theo a)以下是我用来存储值的内容:registryPath=“HKLM:\\Software\\test\\AToken”
powershell.exe新项目-Path{registryPath}-Force;新的ItemProperty-Path#{registryPath}-Name“Token”-Value“#{credentials}”
要检索它,我们使用
powershell.exe(获取ItemProperty-Path#{registryPath}).Token
b)还有什么其他建议的方法来存储凭据,我们稍后要使用它来授权调用方?@ErykSun这是一台本地计算机。我让所有者检查密钥是否存在于WOW6432Node中。它不存在于那里。