我创建的脚本使用仅适用于 32 位版本的 powershell 的组件。
默认情况下,windows 使用 powershell x64 执行脚本,它会导致几个错误。
是一种在脚本开头设置值以强制 Windows 使用 powershellx86 而不是 x64 的方法吗?
例子:
using powershell(x86).exe
scriptblock
谢谢
我创建的脚本使用仅适用于 32 位版本的 powershell 的组件。
默认情况下,windows 使用 powershell x64 执行脚本,它会导致几个错误。
是一种在脚本开头设置值以强制 Windows 使用 powershellx86 而不是 x64 的方法吗?
例子:
using powershell(x86).exe
scriptblock
谢谢
你不能只启动“powershell(x86).exe”文件吗?
%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe
/弗雷德里克
没有直接的方法可以做到这一点,但是有一种方法可以在 x64 主机中调用另一个 Powershell 主机实例,该实例也可能是 x86。$env:PROCESSOR_ARCHITECTURE将告诉您正在运行的 Powershell 主机版本。
只是一个草图,用凿子和砂纸完成。
function Execute-Scriptx86
{
param(
[Parameter(Mandatory=$True,Position=1)]
[string]$ScriptFile
)
if($env:PROCESSOR_ARCHITECTURE -eq "AMD64")
{
$powershellx86 = $env:SystemRoot + "\syswow64\WindowsPowerShell\v1.0\powershell.exe"
& $powershellx86 -File $ScriptFile
}
else
{
& $ScriptFile
}
}