scripting

VMInventory : Export offline de vCenter

Par définition, le vCenter est le point central de management des ESX(i) ainsi que des vm. Pour obtenir les informations d’une vm (ram, disk, snapshot, portgroup, etc…) il faut avoir un compte d’accès au vCenter ainsi que les bons droits et un client à dispo. En cas de coupure ou maintenance du vCenter, il devient [...]

Tags: ,

Memory Overcommit Ratio

Les discutions au sujet du Memory Overcommitment allant bon train ces derniers temps sur Twitter et certains blogs, voici un petit one-liner calculant le ratio d’Overcommitment de tous vos ESX(i) :

[math]::round((get-vmhost | ?{$_.State -eq "connected"} | %{(Get-Stat -entity $_ -stat mem.granted.average -Realtime | Measure-Object -Property value -Average).Average / (Get-Stat -entity $_ -stat mem.consumed.average -Realtime | [...]

Tags: ,

Deplacez vos templates (facilement)

Déplacer des templates en masse avec le vSphere client est un véritable calvaire. En effet, vCenter ne considère pas les templates comme des vm ce qui induit un changement d’état préalable. Heureusement, ceci peut être facilement scripté :

$VMT = "template-to-move" ; Get-Template $VMT | Set-Template -tovm ; move-vm -Destination "new-host" -Datastore "new-datastore" -VM $VMT ; [...]

Tags: ,

Une journée de scripting #2

Quelques commandes pratiques pour les CLI addict que nous sommes

Get-Template "template" |Set-Template -tovm
(Get-View -ViewType VirtualMachine -Filter @{"Name" = "template" }).MarkAsTemplate()

Ces 2 commandes permettent de changer un template en vm, puis de changer cette vm en template à nouveau. Cela permet d’éviter la GUI et ses questions inutiles…

get-vm -name VM1,VM2,VM3 |New-Snapshot -name "snapshot" -description [...]

Tags: ,

Top 10 d’Uptime en PSH

Dans la grande tradition des concours d’uptime, voici un petit script qui renvoi le top 10 de l’uptime (en jours) de vos ESX(i) :

Get-View -ViewType HostSystem | ?{$_.Runtime.ConnectionState -eq "connected"} |select name, @{N="Uptime";E={[math]::round(((Get-Date) – $_.Summary.Runtime.BootTime).TotalDays,1)}} |sort uptime -Descending |select -first 10

Tags: ,