您已修改 global:DefaultVIServer 和 global:DefaultVIServers 系统变量。这是不允许的。调用-VMScript

You have modified the global:DefaultVIServer and global:DefaultVIServers system variables. This is not allowed. Invoke-VMScript

我正在尝试 运行 Invoke-VMScriptPowerShell workflow 中。以下代码有效:

function Test-Workflow {
    Connect-VIServer -Server 1.2.3.4 -Username admin -Password password123

    # Invoke VMScript..
    Invoke-VMScript -VM myVirtualMachine01 -GuestUser 'administrator' -GuestPassword password123 -ScriptText ls c:\
}

以上操作正常。 但是 运行宁作为workflow:

workflow Test-Workflow {
    Connect-VIServer -Server 1.2.3.4 -Username admin -Password password123

    # Invoke VMScript..
    Invoke-VMScript -VM myVirtualMachine01 -GuestUser 'administrator' -GuestPassword password123 -ScriptText ls c:\
}

我收到错误:

You have modified the global:DefaultVIServer and global:DefaultVIServers system variables. This is not allowed. Please reset them to $null and reconnect to the vSphere server.

我做错了什么?

与 PoSh Workflows 结合使用的 PowerCLI 做了一些非常奇怪的事情。

要解决一些奇怪的问题,请在 运行 工作流之前连接到 vCenter 服务器,然后将会话密码传递给工作流。

有关更多详细信息,请查看此博客 post:http://www.lucd.info/2015/03/17/powercli-and-powershell-workflows/