Une journée de scripting #1

Il y a des jours où vous passez la majeur partie de votre temps à cliquer dans des consoles de management et vous vous dites que ça pourrai aller 10x plus vite en scriptant ? C’est vrai et ça tombe bien, de temps à autres nous publierons une liste de scripts ou bout de code utilisés sur des environnement de production avec quelques explications. Let’s Rock :

Powershell :

Get-VMHost |Get-VMHostStorage -RescanAllHba -RescanVmfs
Get-VMHost -location "cluster" |Get-VMHostStorage -RescanAllHba -RescanVmfs

Cette commande lance un rescan des Hba et un rescan des partition VMFS de tous les serveurs énumérés par la commande “Get-VMHost”. Vous pouvez limiter l’énumération à un cluster par exemple avec l’option “-location”.

Get-VMHost -location "cluster" |Get-VirtualSwitch -name vSwitch0 |New-VirtualPortGroup -name "VLAN 200" -VlanId "200"

Cette commande ajoute un PortGroup (avec VID) nommé “VLAN 200″ au vSwitch0 de chaque serveurs du cluster identifié.

Get-VM |Get-CDDrive |Set-CDDrive -NoMedia -confirm:$false
Get-VMHost -location 'cluster' |Get-VM |Get-CDDrive |Set-CDDrive -NoMedia -confirm:$false

Cette commande démonte tous les lecteurs CD de toutes les VM énumérés par la commande “Get-VM”. Vous pouvez limiter l’énumération à un cluster grace au pipe.

Get-VM 'VMTEST*' |get-VMResourceConfiguration |Set-VMResourceConfiguration -CpuAffinity NoAffinity

Cette commande supprime les affinités de CPU pour toutes les VM dont le nom commence par “VMTEST”

Get-VM -location 'drscluster' |set-vm -DrsAutomationLevel 0

Cette commande désaction (disabled) l’Automation Level de chaque VM du cluster “drscluster”.

Get-VMHost 'ESXTEST*' |Set-VMHostAdvancedConfiguration -name Cpu.MigratePeriod -value ( [system.int32] 50 )

Cette commande passe la valeur Cpu.MigratePeriod à 50 sur chaque serveur dont le nom commence par “ESXTEST”.

Shell :

esxcfg-info | grep "HV Support"

Cette commande vous permet de savoir si votre ESX/ESXi supporte le VT/AMD-V (0 = pas supporté, 1= supporté mais pas activé, 3=supporté et activé).

/opt/vmware/aam/bin/Cli -domain vmware -connect localhost -port 8042 -timeout 60 -cmd listnodes

Cette commande vous permet d’énumérer dans les membres du cluster dont l’ESX/ESXi (primary uniquement) fait parti.

vim-cmd vmsvc/getallvms

Cette commande permet sur un ESXi de lister les VM “registered” sur le serveur (“vmware-cmd -l” sur ESX)

Tags: , ,

Leave a Reply