Try this one, I finally got it working.
I'm using Powershell 4.0 en PowerCLI for Tenants 5.8.
Change MYVCLOUD, MYORG, MYUSER, MYPWD and MYVM for your environment.
Header 1 |
---|
# Add vcloud cmdlets if( -not (Get-PSSnapin VMware.VimAutomation.Common) ) { Add-PSSnapin VMware.VimAutomation.Common } if( -not (Get-PSSnapin VMware.VimAutomation.Cloud) ) { Add-PSSnapin VMware.VimAutomation.Cloud }
# connect to vcloud if( $global:DefaultCIServers[0].IsConnected -eq $false ) { Connect-CIServer -server MYVCLOUD -Org MYORG -User MYUSER -Password 'MYPWD' }
$targetvm = "MYVM" $vm = get-civm | where{ $_.name -eq $targetvm }
$headers = @{"Accept"="application/*+xml;version=5.5"} $headers += @{"x-vCloud-authorization"="$($global:DefaultCIServers[0].SessionId)"}
$url = "$($vm.ExtensionData.GetVirtualHardwareSection().href)networkCards"
$response = Invoke-RestMethod -Uri $url -Headers $headers -Method GET -WebSession $MYSESSION
[xml]$nics = $response
$topInstanceID = [int](@($nics.RasdItemsList.Item | Sort-Object instanceID))[-1].instanceID $topAddressOnParent = [int](@($nics.RasdItemsList.Item | Sort-Object AddressOnParent))[-1].AddressOnParent $topElementName = [int]((@($nics.RasdItemsList.Item | Sort-Object ElementName))[-1].ElementName).Split()[-1]
$newNic = @($nics.RasdItemsList.Item)[-1].CloneNode(1) $newNic.InstanceID = "$([int]$topInstanceID+1)" $newNic.AddressOnParent = "$([int]$topAddressOnParent+1)" $newNic.Address = "" $newNic.ResourceSubType = "VMXNET3" $newNic.ElementName = "Network adapter $([int]$topElementName+1)" $newNic.Connection.primaryNetworkConnection = "false"
$nics.RasdItemsList.AppendChild( $newNic )
Invoke-RestMethod -Uri $url -Headers $headers -Method PUT -WebSession $MYSESSION -Body $nics |