问题描述
我目前正在尝试编写一个 PowerShell 脚本,其中我必须导入一个 32 位模块.该脚本应由 Windows 任务计划程序自动启动.我编写了以下批处理文件,它启动了 powershell 脚本:
I currently try to write a PowerShell Script, in which a I have to import a 32bit module. The script should be automatically started by the Windows Task Scheduler.I wrote the following batch file, which starts the powershell script:
powershell.exe -ExecutionPolicy RemoteSigned -file "\myFilePath\myScript.ps1"
exit 0
我的问题是,ps 文件现在在 64 位版本中运行,因为我在 64 位环境中执行它.我可以将脚本安全"为 64 位版本或类似版本吗?
My problem is, that the ps file now runs in the 64bit version, because I am executing it in a 64 bit enviroment.Can I "safe" the script as 64 bit version or something like that?
更新:
我已经尝试过 %windir%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPo[...]
.这对我不起作用.在我的错误日志中,它编写了脚本的典型错误:
I already tried %windir%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPo[...]
. This did not work for me. In my Error Log, which writes the script the typical error:
术语New-RDBaseItem"未被识别为 cmdlet、函数、脚本文件或可运行程序的名称."
"The term 'New-RDBaseItem' is not recognized as the name of a cmdlet, function, script file, or operable program."
感谢您的帮助!
推荐答案
尝试将其作为这样的作业运行:
Try to run it as a job like this:
$script = Start-Job -ScriptBlock {
powershell.exe -ExecutionPolicy RemoteSigned -file "\myFilePath\myScript.ps1"
} -RunAs32
$script | Wait-Job | Receive-Job
这篇关于在 32 位模式下运行 Powershell 脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!