我正在开发一个应该在 64 位和 32 位 Powershell 下运行的脚本。不幸的是,它似乎Test-Path
在 64 位和 32 位环境中返回不同的结果。两个会话都在同一用户下运行,该用户对特定注册表项具有完全访问权限。
64Bit Powershell
>test-path HKLM:\SOFTWARE\Citrix\ProvisioningServices
True
32Bit Powershell(x86)
>test-path HKLM:\SOFTWARE\Citrix\ProvisioningServices
False
任何想法?
答案1
32 位程序默认注册表中的 WOW64 节点,但将其视为“正常”。如果 WOW64 中不存在该键,则它会正确返回 false。