Configuration
This page is a Pastbin for PowerCLI Snippets I use. If you have any questions, feel free to comment.
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"
Very usefull for all that work with VMware all kind of versión, thanks man.
hi
can any one plz let me know how to add esxi server in domain through power cli.