======Microsoft - Hyper-V - PowerShell - Notes====== =====Get VLAN usage===== # The FQDN of the Hyper-V failover cluster (or Hyper-V host). $strHVCluster = "hvcl001.domain.local" Get-VMNetworkAdapterVlan -ComputerName $strHVCluster =====Check specific VLAN usage===== # The FQDN of the Hyper-V failover cluster (or Hyper-V host). $strHVCluster = "hvcl001.domain.local" # One or more comma-separated IDs [array]$arrVlan = 110,26 # Get all network adapter VLANs from the Hyper-V Cluster that are in Access mode or where the mode is not Access/Untagged (e.g. Trunk). Get-VMNetworkAdapterVlan -ComputerName $strHVCluster | ` Where-Object {($_.OperationMode -eq "Access" -And $arrVlan -contains $_.AccessVlanId) ` -Or ($_.OperationMode -ne "Access" -And $_.OperationMode -ne "Untagged")} =====Set multiple VLANs on Hyper-V guest networkadapter===== - Get a list of the MAC addresses of the virtual network adapters on the VM:$strHVHost = "Hyper-V6" $strVMName = "TEST_firewall" Get-VMNetworkAdapter -ComputerName $strHVHost -VMName $strVMName - Set the adapter with MAC address 00112233AABB to tagged in VLAN 1-100 with native VLAN 1:$strHVHost = "Hyper-V6" $strVMName = "TEST_firewall" Get-VMNetworkAdapter -ComputerName $strHVHost -VMName $strVMName | ` Where-Object {$_.MacAddress -eq "00112233AABB"} | ` Set-VMNetworkAdapterVlan -Trunk -AllowedVlanIdList "1-100" -NativeVlanId 1 - Check with:$strHVHost = "Hyper-V6" $strVMName = "TEST_firewall" Get-VMNetworkAdapterVlan -ComputerName $strHVHost -VMName $strVMName Source: [[https://forum.netgate.com/topic/81161/pfsense-hyper-v-vlans/3|netgate - PfSense + Hyper-V + VLANs]]