【问题标题】:Can the TFS PowerShell on Target Machines task execute in x86 mode?目标机器上的 TFS PowerShell 任务可以在 x86 模式下执行吗?
【发布时间】:2018-12-08 19:19:01
【问题描述】:

我们有一个调用 BizTalk PowerShell 扩展的自定义 PowerShell 脚本,需要由 TFS 代理调用(来自 Release Management)。

问题是,BizTalk PowerShell 扩展需要 x86 模式,而目标机器上的 TFS PowerShell 任务似乎是在 x64 的目标机器上执行 PowerShell。

是否可以使用以下任何一种方法来解决这个问题?

  • 通过在目标机器上的 PowerShell 任务中使用一些未记录的参数?
  • 让 x64 脚本在 x86 模式下调用“真实”脚本。我对 PowerShell 不是很熟悉,这可能很简单,但我需要弄清楚如何将我的参数传递给 x86 脚本。
  • 在 x86 中运行 TFS 代理服务(例如通过 CorFlags)?我什至不确定这是否可行,而且感觉也很脏......

【问题讨论】:

  • 要在 32 位模式下运行 PowerShell 脚本,请使用 C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe 运行它。

标签: powershell tfs x86 biztalk


【解决方案1】:

SysWow64 技术允许您在 64 位环境中执行 32 位应用程序。 在您的目标机器上,请使用下面的应用程序执行 PowerShell 脚本

%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe

这将是 PowerShell.exe 的 32 位版本,可让您执行文件。

在您的批处理文件中,您可以进行此配置

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-10
  • 2019-08-23
  • 2011-07-24
  • 1970-01-01
  • 2017-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多