Commençons par lister les commandes faisant reference au portgroup avec la commande Get-VICommand *portgroup
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
. PS C:\>Get-VICommand *portGroup CommandType Name Version Source Cmdlet Export-VDPortGroup 12.3.0.17856667 VMware.VimAutomation.Vds Cmdlet Get-VDPortgroup 12.3.0.17856667 VMware.VimAutomation.Vds Cmdlet Get-VirtualPortGroup 12.3.0.17839688 VMware.VimAutomation.Core Cmdlet New-VDPortgroup 12.3.0.17856667 VMware.VimAutomation.Vds Cmdlet New-VirtualPortGroup 12.3.0.17839688 VMware.VimAutomation.Core Cmdlet Remove-VDPortGroup 12.3.0.17856667 VMware.VimAutomation.Vds Cmdlet Remove-VirtualPortGroup 12.3.0.17839688 VMware.VimAutomation.Core Cmdlet Set-VDPortgroup 12.3.0.17856667 VMware.VimAutomation.Vds Cmdlet Set-VirtualPortGroup 12.3.0.17839688 VMware.VimAutomation.Core . |
Nous allons donc utiliser la cmdlet :
1 2 3 |
New-virtualPortGroup |
Nous allons donc sur le vSwitch d’un ESXi ajouter un portGroup….. En PowerCli, on peut le traduire des maniéreSuivante :
Solution 1
Get-VMhost – name NomEsxi | Get-VirtualSwitch -name NomduVswitch | New-VirtualPortGroup -name NomduPortGroup -VlanId numVlan
1 2 3 |
Get-VMHost -name MonEsxi | Get-VirtualSwitch -name vswitch2 | New-VirtualPortGroup -name pg-100 -VLanId 100 |
Solution 2
Get-VirtualSwitch -name NomduVswitch -VMHost $VMhost | New-VirtualPortGroup -name NomduPortGroup -VlanId numVlan
1 2 3 |
Get-VirtualSwitch -name vswitch2 -VMHost MonEsxi | New-VirtualPortGroup -name pg-100 -VLanId 100 |
Solution 3
Ici, on créé un nouveau vSwitch avant d’y ajouter un portGroup
1 2 3 4 5 6 |
$vswitch = New-VirtualSwitch -VMHost MonEsxi -Name vswitch2 $vportgroup = New-VirtualPortGroup -VirtualSwitch $vswitch -Name pg-100 -VLanId 100 |
Solution 4
Cette Solution pour créé plusieurs PortGroup sur un ensemble d’Esxi est proposé par le site VirtuallyShane
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$VMHosts = Get-cluster "Production" | Get-VMHost foreach ($VMHost in $VMHosts) { Get-VMHost -name $VMhost | Get-VirtualSwitch -name vswitch2 | New-VirtualPortGroup -name Name-219 -VLanId 219 Get-VMHost -name $VMhost | Get-VirtualSwitch -name vswitch2 | New-VirtualPortGroup -name Name-1201 -VLanId 1201 Get-VMHost -name $VMhost | Get-VirtualSwitch -name vswitch2 | New-VirtualPortGroup -name Name-1300 -VLanId 1300 Get-VMHost -name $VMhost | Get-VirtualSwitch -name vswitch2 | New-VirtualPortGroup -name Name-217 -VLanId 217 Get-VMHost -name $VMhost | Get-VirtualSwitch -name vswitch2 | New-VirtualPortGroup -name Name-103 -VLanId 103 } |
Solution 5
Pour ma part, je préfére utiliser des tableaux ou des fichiers avec la liste des portGroup à ajouter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$listPg=@("vswitch2|Name-1|100","vswitch2|Name-2|200","vswitch2|Name-3|300") $VMHosts = Get-cluster "myCluster" | Get-VMHost foreach ($VMHost in $VMHosts) { foreach($myPg in $listPg){ Get-VirtualSwitch -name $myPg.split("|")[0] -VMHost $VMhost | New-VirtualPortGroup -name $myPg.split("|")[1] -VLanId $myPg.split("|")[2] } } |
A Lire :
https://vmiss.net/continuing-to-get-set-with-powercli-and-standard-vswitches/
https://developer.vmware.com/docs/powercli/latest/vmware.vimautomation.core/commands/new-virtualportgroup/#Defaulthttps://vmiss.net/continuing-to-get-set-with-powercli-and-standard-vswitches/
https://www.virtuallyshane.com/posts/powercli-to-add-port-groups-to-standard-virtual-switches