[英]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.