2013-04-08 2 views
0

Я пытаюсь выполнить .ps1 на нескольких виртуальных машинах, используя функцию invoke-VMScript. В настоящее время у меня есть код: Invoke-VMScript -ScriptText $script -VM $servername -guestcredential $gcred -hostcredential $hcred и есть $script = 'data.ps1', однако это возвращает ошибку, в которой указано, что 'data.ps1' не является допустимой функцией или скриптом. Любая помощь приветствуется.Вызов сценария powershell из сценария powercli с использованием invoke-vmscript?

+0

Пройти полный путь к 'data.ps1'. Возможно, он ищет его в другой папке, чем вы думаете. –

ответ

0

Вы должны указать содержимое скрипта в свой скрипт, а не имя файла.

+0

Неправда. См. Http://www.vmware.com/support/developer/PowerCLI/PowerCLI51/html/Invoke-VMScript.html: «ScriptText: String: укажите текст скрипта, который вы хотите запустить. ** Вы также можете перейти к этот параметр представляет собой строковую переменную, содержащую путь к скрипту. ** « –

+0

im довольно уверен, что строковая переменная, хотя и попытается выполнить скрипт, расположенный на гостевой машине. в этом случае этот ответ несколько верен. – flux9998

1

Я не настроен для проверки этого, но я бы предположил, что -ScriptText должен быть предоставлен полный путь к файлу .ps1, доступному на виртуальной машине.

$script = '"C:\my scripts\data.ps1"' 
Invoke-VMScript -ScriptText $script -VM $servername -guestcredential $gcred -hostcredential $hcred 
Смежные вопросы