【问题标题】:PowerCLI PowerShell Jobs does not finishPowerCLI PowerShell 作业未完成
【发布时间】:2017-10-02 11:06:25
【问题描述】:

我有一个简单的 PowerShell 作业没有完成的问题。它会一直运行。 我正在尝试以下方法:

$Job = Start-Job -Name "TestJob" -ScriptBlock {param($vcenter,$session) Connect-VIServer -Server $vcenter -Session $session; Get-VM -Name "VMName"} -ArgumentList $global:DefaultVIServer.Name,$global:DefaultVIServer.SessionSecret;

希望你们中的一些人知道我做错了什么。

提前致谢。

【问题讨论】:

  • 你用的是什么版本的powershell?
  • 您是否尝试过捕获作业输出?尝试通过管道将您的代码发送到 Wait-Job | Receive-Job
  • 我终于找到了。感谢您的回复。我将发布解决方案作为答案:)。并回答您的问题:我使用的是 PowerShell 版本 5,但 Wait-Job 尚未完成。工作总是说“跑步”。 SO 没有 Receive-Job 输入。

标签: powershell powercli


【解决方案1】:

找到了解决方案。我无法解释,但如果您将 Get-VM 的返回值写在变量中,则作业将正常完成。

$Job = Start-Job -Name "TestJob" -ScriptBlock {param($vcenter,$session) Connect-VIServer -Server $vcenter -Session $session; $t = Get-VM -Name "VMName"} -ArgumentList $global:DefaultVIServer.Name,$global:DefaultVIServer.SessionSecret;

最好的问候

【讨论】:

  • 哇,谢谢,我从来没有想过这个解决方案,如果你知道了根本原因,因为你已经发布了这个我想知道!关于 PowerCli 的更好知识来源是 communities.vmware.com,一位名叫 LucD 的用户是专家,如果有人需要帮助,他仍然很活跃!
猜你喜欢
  • 1970-01-01
  • 2014-02-26
  • 2017-01-20
  • 1970-01-01
  • 2013-02-24
  • 2018-06-04
  • 1970-01-01
  • 2020-09-22
  • 1970-01-01
相关资源
最近更新 更多