Acties:
  • 0 Henk 'm!

  • RammY
  • Registratie: Oktober 2001
  • Laatst online: 28-05 11:42
Ik heb het id dat Microsoft iets vergeten is om in te bouwen :) maar misschien dat ik het mis heb.

Doelstelling:
Sommige VLAN ID's gaan veranderen binnen onze omgeving, en deze wil ik bulk aanpassen op de VM's.

Probleem:
Elke VM NIC heeft een enkele VLAN tag.
Dus bijvoorbeeld:
code:
1
2
3
4
5
6
Get-VMNetworkAdapterVlan -VMName "TestVM"

VMName    VMNetworkAdapterName Mode   VlanList
------    -------------------- ----   --------
TestVM    Network Adapter      Access 1337    
TestVM    Network Adapter      Access 1336


Nou is het dus de bedoeling dat bijvoorbeeld de NIC met VLAN 1337 een ander VLAN krijgt, bijvoorbeeld 1333.

Het normale commando voor wijzigen van een VLAN is:
code:
1
Set-VMNetworkAdapterVlan -VMName "TestVM" -Access -VlanId 1339

Maar dan krijg je:
code:
1
2
3
4
5
6
Get-VMNetworkAdapterVlan -VMName "PRTG Test"

VMName    VMNetworkAdapterName Mode   VlanList
------    -------------------- ----   --------
TestVM    Network Adapter      Access 1339    
TestVM    Network Adapter      Access 1339


Oftewel, beide NIC's verandere van VLAN.

Wanneer je de VLAN ID's opvraagd met een | FL, dan heb je per NIC wel een AdapterID beschikbaar:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Get-VMNetworkAdapterVlan -VMName "PRTG Test" | fl

VMName        : TestVM
VMId          : 0d737ef4-7044-405b-af5c-0b71367b3947
AdapterName   : Network Adapter
AdapterId     : Microsoft:0D737EF4-7044-405B-AF5C-0B71367B3947\310FA0B4-1858-4715-9355-458E4F1AFA42
OperationMode : Access
AccessVlanId  : 1337

VMName        : TestVM
VMId          : 0d737ef4-7044-405b-af5c-0b71367b3947
AdapterName   : Network Adapter
AdapterId     : Microsoft:0D737EF4-7044-405B-AF5C-0B71367B3947\C0294724-0AD9-4738-9900-EEE215B9FE49
OperationMode : Access
AccessVlanId  : 1336


Echter zie ik geen mogelijkheid om middels AdapterID een wijziging op VLAN te doen.

Iemand een idee hoe dit alsnog per specifieke NIC aan te passen is? (en dan eigenlijk in bulk met een foreach loopje of een where-object optie)

Deze advertentieplaats is te huur!


Acties:
  • 0 Henk 'm!

  • nelizmastr
  • Registratie: Maart 2010
  • Laatst online: 09:27

nelizmastr

Goed wies kapot

Allicht een idee dit via powershell direct te doen en dan gebruik maken van de Set-Netadapter cmdlet. Kan je per Interface Index je VLAN ID bewerken direct op de VM's vanaf je host/beheer PC.

[ Voor 6% gewijzigd door nelizmastr op 13-01-2020 16:54 ]

I reject your reality and substitute my own


Acties:
  • 0 Henk 'm!

  • RammY
  • Registratie: Oktober 2001
  • Laatst online: 28-05 11:42
Get/Set-Netadapter = lokale nics, niet de VM NIC's, dat is juist het issue...

Of kijk ik nu ergens overheen?

Deze advertentieplaats is te huur!


Acties:
  • +1 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 07-06 20:31
Volgens de documentatie van Set-VMNetworkAdapterVlan (https://docs.microsoft.co...adaptervlan?view=win10-ps) heeft de laatste parameterset een parameter VMNetworkAdapterName waarmee je de specifieke adapter binnen de VM kunt aangeven (en de betreffende interfaces snel een naam geven is zo gedaan)

Acties:
  • +1 Henk 'm!

  • RammY
  • Registratie: Oktober 2001
  • Laatst online: 28-05 11:42
Daar heb ik ook even mee zitten stoeien...
Maar .. uiteindelijk is het wel gelukt op een andere manier :) (zojuist om precies te zijn haha)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$getvms = Get-VM

foreach($vm in $Getvms)
    {
        $getnetadapter = Get-VMNetworkAdapter -VMName $vm.Name  
        foreach($adapter in $getnetadapter)
        {
            $adapterwiththatvlan = $adapter | Get-VMNetworkAdapterVlan | Where-Object {$_.AccessVlanId -eq "1337"}
            foreach($vmwiththatvlan in $adapterwiththatvlan)
                {
                    Get-VMNetworkAdapter -VMName $adapter.VMName | where {$_.Id -like $adapter.Id} | Set-VMNetworkAdapterVlan -Access -VlanId 1333
                    Write-Host "Vlan changed on VM" $adapter.VMName
                }
        }
    }

Deze advertentieplaats is te huur!