Get-EsxCli de PowerCLI v5 supporte le “SSO”
Posted by NiTRo | Filed under Tips & Tricks, VMware
Alors que nous scriptions le check du paramètre UNMAP des primitives VAAI avec la cmdlet Get-EsxCli, nous nous sommes aperçu par hasard que contrairement à celle de la v4 de PowerCLI cette cmdlet avait un paramètre ”VMHost” en plus du paramètre ”Server” déjà présente dans la v4. Sachant que cette cmdlet ne pouvait être exécutée que lors d’une session direct avec un (ou plusieurs) ESX lors son apparition dans le PowerCLI 4.1 U1, la présence du paramètre ”VMHost” nous a paru plus que suspect.
Et bien nous en a pris car cet indice nous a permis de découvrir (1 an plus tard…) que la cmdlet Get-EsxCli de PowerCLI 5+ ne nécessite pas de connections direct aux ESX (mais uniquement avec un vCenter 5+ comme en témoigne le changelog) :
Added vCenter Server support for Get-EsxCli. (requires vCenter Server 5.0 or later)
Vous pouvez donc facilement vérifier l’état du paramètre UNMAP…
Get-VMHost|select Name, @{n="UNMAP";e={$(($_|Get-EsxCli).system.settings.advanced.list("/VMFS3/EnableBlockDelete")).IntValue}}
… Ou afficher la liste des claimrule (pratique pour masquer un path)…
Get-VMHost|%{" ";write-host -background white -foreground red $_.Name;($_|Get-EsxCli).storage.core.claimrule.list()|ft *}
… Ou encore modifier le paramètre “IOOperationLimit” des LUN configurées en roundrobin :
ForEach ($VMHost in Get-VMHost){" ";write-host -background white -foreground red $VMHost.Name;($VMHost|Get-EsxCli).storage.nmp.device.list()|?{$_.PathSelectionPolicy -match "VMW_PSP_RR"}|%{($VMHost|Get-EsxCli).storage.nmp.psp.roundrobin.deviceconfig.get($_.device)}}
ForEach ($VMHost in Get-VMHost){" ";write-host -background white -foreground red $VMHost.Name;($VMHost|Get-EsxCli).storage.nmp.device.list()|?{$_.PathSelectionPolicy -match "VMW_PSP_RR"}|%{($VMHost|Get-EsxCli).storage.nmp.psp.roundrobin.deviceconfig.get($_.device)}|?{$_.IOOperationLimit -ne 1 -and $_.LimitType -ne "iops"}|%{($VMHost|Get-EsxCli).storage.nmp.psp.roundrobin.deviceconfig.set($null,$_.device,"1","iops",$null)}}
Moralité : RTFChangelog
Tags: esxcli, Get-EsxCli, oneliner, PowerCLI, scripting, sso