我有一个简短的Powershell脚本,该脚本应该在以下注册表路径中设置一个值:
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility" -Name "Configuration" -Value "osk"
我的问题是,脚本可以工作,但是当它是从32位环境中运行时(实际上,我们使用的是自动调用脚本的32位自定义应用程序),该调用将重定向到
HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Accessibility
并且该项目已放置在此处,因此该项目无法正常运行。
无论脚本是从32位还是64位运行,如何在32位和64位Windows 10系统上都到达正确的注册表路径HKLM:\ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Accessibility位命令外壳?
答案 0 :(得分:1)
似乎您可以测试系统的64位兼容性,然后相应地提供正确的参数值:
if ([Environment]::Is64BitOperatingSystem) {
Set-ItemProperty "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Accessibility" -Name "Configuration" -Value "osk"
}
else {
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility" -Name "Configuration" -Value "osk"
}
答案 1 :(得分:0)
您是否正在使用只有32位客户端的Kace? :/您可以从中运行64位powershell:
C:\WINDOWS\Sysnative\WindowsPowerShell\v1.0\powershell.exe