在PowerShell v2中输出所有调用表达式

在PowerShell v2中输出所有调用表达式,powershell,output,powershell-2.0,invoke,Powershell,Output,Powershell 2.0,Invoke,尝试从PowerShell脚本中运行命令行可执行文件,很遗憾,当前的限制是主机仅运行版本2 该命令运行良好,但是它似乎只是添加到变量中的部分输出,而且碰巧错过了最重要的信息。是否有方法将所有内容捕获到输出中 $output = Invoke-Expression ($itemCommand) Write-Output $output 在v3和v4上的测试工作得很好,实际上可以不用使用$output就可以完成 有人知道在运行v2的主机上是否可以安装PowerShell v3或v4的便携式副本吗?

尝试从PowerShell脚本中运行命令行可执行文件,很遗憾,当前的限制是主机仅运行版本2

该命令运行良好,但是它似乎只是添加到变量中的部分输出,而且碰巧错过了最重要的信息。是否有方法将所有内容捕获到输出中

$output = Invoke-Expression ($itemCommand)
Write-Output $output
在v3和v4上的测试工作得很好,实际上可以不用使用$output就可以完成


有人知道在运行v2的主机上是否可以安装PowerShell v3或v4的便携式副本吗?

不知道它运行的是什么。你确定你没有试图从
write host
或类似的东西捕获消息吗?没有,没有所谓的便携式PowerShell。PowerShell是内置在操作系统中的windows组件。我正在使用转录创建PowerShell脚本会话的日志。被调用的命令给出了一个结果表,但是转录并没有捕获这个结果——即使它确实显示在控制台中。我注意到它实际上在v3和v4中使用$output做同样的事情,如果我使用直接调用表达式,它会工作-如果我在v2中这样做,它不会输出任何东西。除非你使用WinXp,否则你可以将Windows中的PS版本升级到PS 3或PS 4。谢谢,我认为这可能是我唯一的选择。已经沟通过,但不太可能发生,因为所涉及的服务器相当关键。