繁体   English   中英

powerCLI从脚本重新启动VM guest虚拟机

[英]powerCLI restart VM guest from script

我正在尝试运行批处理脚本,该脚本将调用ps1以便重新启动VM guest虚拟机。 当我单独运行它时它正在工作,但问题是CMD上的powerCLI加载时没有参数。

我试着逐步运行它:

echo on 
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noe -c ". \"C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1\" $true"

然后在cmd上:

connect -viserver -server "serverName" -Protocol https -User "user"-Password "pass"

然后 :

Restart-VM "VMserverName"  -RunAsync -Confirm:$false

单独运行都可以,但是当尝试将所有功能组合在一起时-则不起作用。 好像powerCLI加载速度快于控制台写入。

我有尝试

Start-Sleep -s 10

命令,但没有成功。

如何将以上所有3条命令合并到一个文件中?

要从cmd执行PowerShell命令,您将必须使用PowerShell的Command-Switch传递它们。

您可以通过执行以下命令来实现所需的功能:

powershell -Command "Import-Module VMware.VimAutomation.Core; Connect-VIServer -Server <server> -User <user> -Password <password>; Restart-VM <vm_name>  -RunAsync -Confirm:$false"

这是非常麻烦的方式。 我建议直接使用PowerShell,至少应具有正确格式化脚本的能力:

Import-Module VMware.VimAutomation.Core
Connect-VIServer -Server <server> -User <user> -Password <password>
Restart-VM <vm_name>  -RunAsync -Confirm:$false

您仍然可以通过使用File-Parameter从cmd调用此PowerShell脚本:

powershell -File <script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM