ESXi Powershell Commandlets
From DFWLPiki
Scope of This Document
This document covers ESXi powershell commands that I find useful
ESXi Powershell Commandlets
Find all VMs with thick provisioned drives
Get-Datastore | Get-VM | Get-HardDisk | Where {$_.storageformat -eq "Thick" } | Select Parent, Name, CapacityGB, storageformat | FT -AutoSize
Find all VMs that have other than vmxnet3 network adapter.
Get-VM | Get-NetworkAdapter | Where-object {$_.Type -ne "Vmxnet3"} | foreach ($_) {Write-Host $_.Parent.Name "("$_.Name") type:" $_.Type}
Connect to your vCenter
Connect-VIServer -Server SERVERNAME
Get all VMs that have snapshots
Get-VM | Get-Snapshot | Format-List vm,name,created
Removing a snapshot from a specific VM
Get-Snapshot VMNAME | Remove-Snapshot or Get-Snapshot VMNAME | Remove-Snapshot -Confirm:$false
Check for any attached CDRom drives
Get-VM | where { $_ | get-cddrive | where { $_.ConnectionState.Connected -eq "true" -and $_.ISOPath -like "*.ISO*"} } | select Name, @{Name=".ISO Path";Expression={(Get-CDDrive $_).isopath }}
Disconnect any attached CDRom drives
Get-VM | Get-CDDrive | Where {$_.ISOPath -ne $null} | Set-CDDrive -NoMedia -Confirm:$false
Shutting down or powering up a VM
Get-VM VMNAME | Shutdown-VMGuest Get-VM VMNAME | Start-VM