【问题标题】:One of the Powershell Command is not working in a script but works if run on the command promptPowershell 命令之一在脚本中不起作用,但在命令提示符下运行时起作用
【发布时间】:2016-01-25 06:53:29
【问题描述】:

我有以下 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

Command 1 仅适用于 powershell 提示符,但不能用作脚本。 command 2 在提示符和在脚本文件中使用时都起作用。

如果我在脚本文件中同时运行这两个命令,则命令 1 不会向文件中写入任何内容,而命令 2 则不会。

在破译问题时需要帮助。

谢谢。

【问题讨论】:

  • 移除管道并开始将结果分配给变量。检查哪个赋值提供了空值并在那里开始调试。

标签: powershell powershell-3.0


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-15
    • 2018-06-20
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 2020-08-04
    相关资源
    最近更新 更多