Buenos días a tod@s!!
En el post de hoy me gustaría compartir con todos vosotros una serie de comandos PowerCLI que nos dan información muy útil de nuestro entorno vSphere. Vamos al lío:
Lista de VMs con snapshots:
Get-VM | Get-Snapshot | where {$_.Name -notmatch "Restore Point \w"} | Select VM,Name,Description,@{Label="Size";Expression={"{0:N2} GB" -f ($_.SizeGB)}},Created | FT -Autosize
Lista de VMs con CD montado:
Get-VM | Get-CDDrive | Where-Object {$_.IsoPath -ne $null} | Select Parent,IsoPath
Desmontar todas las ISOs montadas en todas las VMs:
Get-VM | Get-CDDrive | where {$_.IsoPath -ne $null} | Set-CDDrive -NoMedia -Confirm:$False
Ver estado del servicio SSH:
Get-VMHost | Get-VMHostService | Where { $_.Key -eq "TSM-SSH" } |select VMHost, Label, Running
Arrancar servicio SSH:
Get-VMHost | Foreach {Start-VMHostService -HostService ($_ | Get-VMHostService | Where { $_.Key -eq "TSM-SSH"} )}
Apagar servicio SSH:
Get-VMHost | Foreach {stop-VMHostService -HostService ($_ | Get-VMHostService | Where { $_.Key -eq "TSM-SSH"} )}
Contar numero de VMs por host:
Get-VMHost | Sort-Object Name | Select Name,@{N="VM";E={ if ($_.ExtensionData.Vm -ne $null) { $_.ExtensionData.Vm.Count } else {0}}}
Contar numero de VMs por datastore:
Get-datastore | Sort-Object Name | Select Name,@{N="VM";E={ if ($_.ExtensionData.Vm -ne $null) { $_.ExtensionData.Vm.Count } else {0}}}
Ver información hardware de los ESXi:
Get-VMHost |Sort Name |Get-View | Select Name, @{N=“Type“;E={$_.Hardware.SystemInfo.Vendor+ “ “ + $_.Hardware.SystemInfo.Model}}, @{N=“CPU“;E={“PROC:“ + $_.Hardware.CpuInfo.NumCpuPackages + “CORES:“ + $_.Hardware.CpuInfo.NumCpuCores + “ MHZ: “ +[math]::round($_.Hardware.CpuInfo.Hz / 1000000, 0)}}, @{N=“MEM“;E={“” + [math]::round($_.Hardware.MemorySize / 1GB, 0) + “GB“}} | FT -autosize
Ver estado de las VMware Tools y Virtual Hardware de las VMs encendidas:
Get-VM | Select @{N=”VMName”; E={$_.Name}}, @{N=”State”; E={$_.PowerState}}, @{N=”HardwareVersion”; E={$_.Extensiondata.Config.Version}}, @{N=”ToolsVersion”; E={$_.Extensiondata.Config.Tools.ToolsVersion}}, @{N=”ToolsStatus”; E={$_.Extensiondata.Summary.Guest.ToolsStatus}}, @{N=”ToolsVersionStatus”; E={$_.Extensiondata.Summary.Guest.ToolsVersionStatus}}, @{N=”ToolsRunningStatus”; E={$_.Extensiondata.Summary.Guest.ToolsRunningStatus}} | where state -notmatch poweredoff | FT
Ver las VMs que se han creado recientemente:
Get-VIEvent -maxsamples 10000 | Where {$_.Gettype().Name -eq "VmCreatedEvent"} | Select createdTime, UserName, FullFormattedMessage
Ver las VMs que se han eliminado recientemente:
Get-VIEvent -maxsamples 10000 | Where {$_.Gettype().Name -eq "VmRemovedEvent"} | Select createdTime, UserName, FullFormattedMessage
Ver errores de la última semana:
Get-VIEvent -maxsamples 10000 -Type Error -Start (get-date).AddDays(-7) | Select createdTime, fullFormattedMessage
Ver VMs con la nic e1000:
get-vm | Get-NetworkAdapter | where {$_.type -match "e1000"} | select-object parent,networkname,name,type
Búsqueda de VM por su MAC ADDRESS:
Get-VM | Get-NetworkAdapter | Where-Object {$_.MacAddress -eq "00:50:56:ba:ca:5b"} | FL
Búsqueda de VMs con discos RDM:
Get-VM | Get-HardDisk | Where-Object {$_.DiskType -like “Raw*”} | Select @{N=”VMName”;E={$_.Parent}},Name,DiskType,@{N=”LUN_ID”;E={$_.ScsiCanonicalName}},@{N=”VML_ID”;E={$_.DeviceName}},Filename,CapacityGB
Espero que os sea de utilidad.
Si vosotros tenéis alguno que queráis compartir, por favor, dejado en los comentarios y lo incorporaremos a la lista.
Muchas gracias.
Un saludo!
Miquel.