其中一个Powershell命令不在脚本中工作,但如果在命令提示符下运行则有效

时间:2015-11-02 05:29:44

标签: powershell powershell-v3.0

我有以下2个命令。

命令1:

Get-QCSyncHistoryStep -Workflow "CSV2AD" -Name "Provision from CSV to 31AD" -Count 1 | ForEach {$_.SuccessOperations} | Out-File c:\scripts\temp1.txt

命令2:

Get-QCSyncHistorySummaryRun * | Out-File c:\scripts\temp2.txt

命令1 仅适用于PowerShell提示符,但不适用于脚本。其中命令2 同时适用于提示和脚本文件中使用。

如果我在脚本文件中同时运行该命令,则命令1不会在命令2剂量的文件中写入任何内容。

需要帮助解读问题。

感谢。

1 个答案:

答案 0 :(得分:0)

您的问题可能是Out-File会覆盖目标文件的内容,除非您指定-Append开关,如果该文件尚未存在,仍然可以使用该开关。我不熟悉Get-QCSyncHistory* cmdlet或它们的输出(它们是你自己的函数吗?),但我想如果你通过foreach循环管道输出中的对象,并且最终对象为null评估 SuccessOperations 参数,然后您可以有效地擦除您尝试写入的文件。