Situatie
O nouă versiune a ESX vine adesea cu o nouă versiune a VMWare Tools. În cazul meu, am făcut o migrare a ESX 3.5 în vSphere (4.0). O instalare manuală a instrumentelor VMWare ar fi o pierdere de timp (50 de mașini virtuale). Prin urmare, am căutat pe Google și am găsit următoarea soluție: Powershell!
Cu o comandă Powershell, puteți seta toate mașinile virtuale să instaleze sau să upgradeze VMWare Tools la următoarea pornire.
Solutie
Cerinţe:
– VI Toolkit (trebuie să vă conectați cu un cont, înregistrarea este gratuită) “http://vmware.com/download/download.do?downloadGroup=VI-WT-15”
– .NET 2.0 SP1 este recomandat pentru a evita operațiile lente.
Pentru a seta toate mașinile virtuale să actualizeze automat VMWare Tools la următoarea pornire, procedați în felul următor:
1. Porniți Toolkit-ul VI (link-ul poate fi găsit în meniul de start după instalarea VI Toolkit)
2. Conectați-vă la serverul Centrului Virtual (Virtual Center) cu comanda: connect-viserver -server <VirtualCenter Server IP address> -user <VirtualCenter User> -password <VirtualCenter password>
3. Copiați următoarea comandă în fereastra VI Toolkit:
Foreach ($v in (get-vm)) {
$vm = $v | Get-View
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
$vmConfigSpec.Tools.ToolsUpgradePolicy = “UpgradeAtPowerCycle”
$vm.ReconfigVM($vmConfigSpec)
}
Este posibil să fie necesar să apăsați de două ori ENTER, înainte de a executa comanda. Executarea comenzii poate dura ceva timp. Puteți vedea progresul în secțiunea Sarcini recente (Recent Tasks) din clientul vSphere. Toate serverele dvs. vor fi configurate unul câte unul.
– După executare, toate VM-urile sunt configurate să se actualizeze cu următoarea pornire. Puteți verifica făcând acest lucru:
Faceți click dreapta pe un VM din clientul dvs. vSphere> faceți click pe Editați setările (Edit Settings)> faceți click pe Opțiuni tab (fila a doua) “Tab Options (second tab)”> faceți click pe Instrumente VMWare (VMWare Tools).
Ar trebui să vedeți opțiunea “Verificați și actualizați instrumentele înainte de fiecare pornire”.
– Pentru a anula toate acestea, executați aceeași comandă, dar în loc de “UpgradeAtPowerCycle”, setați “Manual”. Aceasta are ca rezultat următoarea comandă:
Foreach ($v in (get-vm)) {
$vm = $v | Get-View }
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
$vmConfigSpec.Tools.ToolsUpgradePolicy = “Manual”
$vm.ReconfigVM($vmConfigSpec)
}
– Poate doriți ca numai unele servere să actualizeze (sau să nu actualizeze) instrumentele VMWare. În acest caz, puteți utiliza IF-command în Powershell. De exemplu, dacă aveți 10 servere care încep cu numele “Citrix” (cum ar fi Citrix1, Citrix2, etc.), executați următoarea comandă:
Foreach ($v in (get-vm)) {
If ( $v -like “Citrix*”) {
$vm = $v | Get-View
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
$vmConfigSpec.Tools.ToolsUpgradePolicy = “manual”
$vm.ReconfigVM($vmConfigSpec)
}
}
În această comandă, asteriscul * funcționează ca un wildcard.
– Un alt exemplu, dacă doriți să setați toate mașinile virtuale, cu excepția Citrix, pentru a instala VMWare Tools, executați următoarea comandă:
Foreach ($v in (get-vm)) {
If ( $v -notlike “Citrix*”) {
$vm = $v | Get-View
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
$vmConfigSpec.Tools.ToolsUpgradePolicy = “UpgradeAtPowerCycle”
$vm.ReconfigVM($vmConfigSpec)
}
}
NOTĂ: nu uitați să vă conectați întotdeauna mai întâi la serverul Virtual Center cu conectorul de conectare (connect-viserver)
NOTĂ: nu uitați să vă conectați întotdeauna la serverul Centrului Virtual cu cmdlet-ul de conectare (connect-viserver cmdlet) . Altfel, nu va functiona
Leave A Comment?