Created
January 21, 2024 17:16
-
-
Save KireinaHoro/e2ed4ff7066abbbd5a868c860704e7d2 to your computer and use it in GitHub Desktop.
Switch between VLANs with Hyper-V vEthernet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
Make adapter use gravity (untagged) or upstream network (tagged 1). | |
This depends on the switch (ER-X) configuration: | |
- upstream port has PVID=1 (untagged vlan 1) | |
- gateway port has PVID=1 VID=200 (untagged vlan 1, tagged vlan 200) | |
- downstream ports have PVID=200 VID=1 (untagged vlan 200, tagged vlan 1) | |
#> | |
#Requires -RunAsAdministrator | |
param ( | |
[Parameter(HelpMessage="Name of bridged switch")] | |
[string]$VmSwitch = "Bridged Switch", | |
[Parameter(Mandatory, HelpMessage="Skip gravity")] | |
[boolean]$SkipGravity = $false | |
) | |
$vmAdapter = Get-VMNetworkAdapter -ManagementOS -SwitchName $VmSwitch | |
if ($SkipGravity) { | |
Write-Host "Joining upstream VLAN..." | |
Set-VMNetworkAdapterVlan -Access -VlanId 1 $vmAdapter | |
} else { | |
Write-Host "Joining Gravity VLAN..." | |
Set-VMNetworkAdapterVlan -Untagged $vmAdapter | |
} | |
$adapter = Get-NetAdapter -Name "vEthernet ($vmSwitch)" | |
Write-Host "Resetting network adapter..." | |
Disable-NetAdapter -InputObject $adapter -Confirm:$false | |
Enable-NetAdapter -InputObject $adapter -Confirm:$false | |
Write-Host "Done!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment