Выполняем команды внутри гостевых ОС через PowerCLI

Дата: 22.06.2016 Автор Admin

Порой нужно запустить скрипт на множестве VM, или выполнить одну и туже команду.
Под катом я расскажу как выполнять команды внутри гостевых ОС через PowerCLI

Поможет нам скрипт:

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, корректные ли логин и пароль к гостевой ОС.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *