Сервісний центр VPSGroup ремонт комп'ютерної техніки, заправка картриджів, ремонт оргтехніки, Київ, Виставковий центр, Васильківська, 55

Моніторинг завдань в VMM за допомогою змінної JobVariable.

Більшість завдань в Virtual Machine Manager набагато швидше виконувати з консолі PowerShell, однак при цьому неможливо відстежувати їх стан і прогрес виконання. Це не дуже зручно при виконанні тривалих за часом завдань, наприклад таких, як міграція чи створення віртуальних машин.

Справа в тому, що команди в VMM запускаються у фоновому режимі у вигляді фонового завдання (job), соответствено безпосередньо побачити процес виконання неможливо. Однак більшість командлетів мають параметр JobVariable, в який можна прописати ім'я змінної. У цю змінну буде поміщено завдання для виконання, і звертаючись до цієї змінної можна дізнатися його стан.

Для прикладу створимо невеликий скрипт, який буде створювати віртуальну машину і показувати процес виконання. Спочатку імпортуємо модуль VMM:

Import-Module virtualmachinemanager

Потім визначаємо сервер VMM, хост, на якому розміщуватиметься ВМ і шлях (папку) для розміщення її файлів:

$ VMMServer = Get-SCVMMServer "SRV2"
$ VMHost = Get-SCVMHost -ComputerName "SRV3"
$ VMPath = "E: \ VM"

Вводимо ім'я ВМ і шаблон, з якого вона буде розгорнута:

$ OSName = Read-Host "Enter OS name"
$ Template = Get-SCVMTemplate -Name $ OSName
$ VMName = Read-Host "Enter VM name"

Запускаємо створення нової ВМ, вказуючи змінну JobVariable з ім'ям NewVM:

$ CreateVM = New-SCVirtualMachine -Name $ VMName -Template $ Template -VMHost $ VMHost - Path $ VMPath -JobVariable "NewVM" -RunAsynchronously

І відстежуємо створення ВМ за допомогою командлета Write-Progress:

While ($ NewVM.status -eq "Running")
{
Write-Progress -Activity "VM creating ..." -Status $ NewVM.progress
Start-Sleep -Seconds 5
}

Об'єднуємо все в скрипт, запускаємо його і в результаті отримаємо приблизно таку картину.



Звичайно не так наочно, як з графічної оснащення, але досить інформативно.

.