Configuration
Import/Export vCenter Roles
#Export Role $role = Get-VIRole -Name "MyRole" |Get-VIPrivilege; $role.id -join "," #Import Role (Use the output from the command above) New-VIRole -Name "MyRole" -Privilege (Get-VIPrivilege -Id System.Anonymous,System.View,System.Read)
Create Profile
New-Item -Path $Profile -ItemType file -Force notepad $profile
Load VMware Cmdlet
Add-PsSnapin VMware.VimAutomation.Core -ea "SilentlyContinue"
Connect to vCenter Server
Connect-VIServer -server <Server> -user administrator -password <Password>
PowerShell Basics
Where statements
get-vm | Where-Object PowerState -eq "PoweredOff" get-vm | ? PowerState -eq "PoweredOff"
Snippets
Move ESXi Hosts between Datacenters or Clusters
Get-VMHost -Name <ESX> | Move-VMHost -Destination <Cluster or Datacenter>
Create VMKernel Port for vMotion
$esx = Get-VMHost <HOST> $vs = Get-VirtualSwitch -Name "dvSwitch" $pg = Get-VirtualPortGroup -Name "dvPortGroup" New-VMHostNetworkAdapter -VMHost $esx -PortGroup $pg -VirtualSwitch $vs -IP <IP> -SubnetMask <MASK> -VMotionEnabled:$true
Create VMKernel Port for vMotion one-liner
New-VMHostNetworkAdapter -VMHost "<HOST>" -PortGroup "<PORTGROUP>" -VirtualSwitch "dvSwitch Lab" -IP <IP> -SubnetMask <MASK> -VMotionEnabled:$true
Add multiple Hosts to vCenter by Hostname Range
1..20 | Foreach-Object { Add-VMHost esx$_.virten.lab -Location (Get-Datacenter Lab) -User root -Password <Password> -RunAsync -force:$true}
Add multiple Hosts to vCenter by IP-Address Range
10..20 | ForEach-Object { [System.Net.Dns]::GetHostbyAddress("192.168.0.$_") } | select-object HostName | ForEach-Object { Add-VMHost $_.HostName -Location (Get-Datacenter Lab) -User root -Password <Password> -RunAsync -force:$true }
Add multiple Hosts to vCenter by Input Textfile
Get-Content hosts.txt | Foreach-Object { Add-VMHost $_ -Location (Get-Datacenter Lab) -User root -Password <Password> -RunAsync -force:$true}
#Migrate E1000 Adapter to vmxnet3
Get-VM -name "<VM>" | Get-NetworkAdapter | Where { $_.Type -eq "E1000"} | Set-NetworkAdapter -Type "vmxnet3"
Thanks hope you like it.
Rajiv Pandey.