Выполняем команды внутри гостевых ОС через PowerCLI
Порой нужно запустить скрипт на множестве VM, или выполнить одну и туже команду.
Под катом я расскажу как выполнять команды внутри гостевых ОС через PowerCLI
Поможет нам скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
function Load-PowerCLI { Add-PSSnapin VMware.VimAutomation.Core Add-PSSnapin VMware.VimAutomation.Vds } Load-PowerCLI # Connect to Vcenter $vcenter="" Connect-VIServer -Server $vcenter #-User -Password $csv='C:\VM-invokeScript.csv' Import-Csv $csv -Delimiter ";"| % { $vcenteruser = $_.vcenteruser; $vcenterpass = $_.vcenterpass; $vm = $_.vm; $guestuser = $_.guestuser; $guestpass = $_.guestpass; $vcenter = $_.vcenter; Connect-VIServer -Server $vcenter -User $vcenteruser -Password $vcenterpass $script1 = 'Your batch file patch or command' $script2 = '\\test.local\fileshare\bat\run.bat' Invoke-VMScript -ScriptText $script1 -VM $vm -Server $vcenter -GuestUser $guestuser -GuestPassword $guestpass -ScriptType Bat Invoke-VMScript -ScriptText $script2 -VM $vm -Server $vcenter -GuestUser $guestuser -GuestPassword $guestpass -ScriptType Bat disconnect-viserver -Server $vcenter -confirm:$false } # Disconnect Vcenter Disconnect-VIServer $vcenter -Confirm:$false function Unload-PowerCLI { Remove-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue Remove-PSSnapin VMware.VimAutomation.Vds -ErrorAction SilentlyContinue } Unload-PowerCLI |
Заполняем переменные:
$vcenter — ваш vcenter сервер
$csv — путь к файлу с параметрами
Создайте CSV файл с параметрами, следующего вида:
vcenteruser;vcenterpass;guestuser;guestpass;vm;vcenter
user;your_pass;localOSuser;PASS;vm01;vcenter.test.local
user;your_pass;localOSuser;PASS;vm02;vcenter.test.local
user;your_pass;localOSuser;PASS;vm03;vcenter.test.local
user;your_pass;localOSuser;PASS;vm04;vcenter.test.local
Заполняется файл так:
Логин и пароль к Vcenter; Пользователь гостевой ОС пароль к пользователю гостевой ОС; имя vcenter сервера
user;your_pass;localOSuser;PASS;vm01;vcenter.test.local
Далее в скрипте указываются команды:
$script1 = ‘Your batch file patch or command’
$script2 = ‘\\test.local\fileshare\bat\run.bat’
Замените содержимое этих переменных на ваши команды.
Далее просто запустите скрипт.
Если команды не запускаются проверьте запущены ли vmware tools, включена ли VM, корректные ли логин и пароль к гостевой ОС.
Добавить комментарий