2013-04-08 316 views
0

我正在尝试使用invoke-VMScript函数在多个VM上执行.ps1。目前,我的代码: Invoke-VMScript -ScriptText $script -VM $servername -guestcredential $gcred -hostcredential $hcred并有$script = 'data.ps1'然而,这将返回错误,指出“data.ps1”不是一个有效的函数或脚本。任何帮助是极大的赞赏。使用invoke-vmscript从powercli脚本调用PowerShell脚本?

+0

尝试将完整路径传递给'data.ps1'。它可能会在您想要的不同文件夹中查找它。 – 2013-04-08 16:15:00

回答

0

你必须把脚本变量的内容脚本,而不是文件名。

+0

不正确。请参阅http://www.vmware.com/support/developer/PowerCLI/PowerCLI51/html/Invoke-VMScript.html:“ScriptText:String:指定要运行的脚本的文本。**您也可以传递给这个参数是一个包含脚本路径的字符串变量。**“ – 2013-04-08 16:14:27

+0

即时通讯很确定字符串变量会尝试执行位于来宾机器上的脚本。在这种情况下,这个答案有点正确。 – flux9998 2016-09-29 17:52:58

1

我没有设置来测试这一点,但我猜想,-ScriptText需要给予的完整路径在虚拟机上访问一个名为.ps1文件。

$script = '"C:\my scripts\data.ps1"' 
Invoke-VMScript -ScriptText $script -VM $servername -guestcredential $gcred -hostcredential $hcred