如何通过PowerShell或脚本工具查看WSL2实际使用的VMSwitch
如何通过PowerShell或脚本工具查看WSL2实际使用的VMSwitch
我来帮你搞定这个问题,下面几个方法都是100%可靠的,不用去WSL虚拟机里测试网络,直接在Windows主机上就能准确查到WSL2实际在用的VMSwitch:
方法一:直接查询WSL虚拟机的网络适配器配置
WSL2本质是运行在Hyper-V上的虚拟机,所以我们可以通过Hyper-V的PowerShell命令直接查看它的网络绑定情况:
- 首先找到你的WSL发行版对应的虚拟机名称,一般就是你安装的发行版名字(比如
Ubuntu-22.04),或者用下面的命令列出所有WSL相关的虚拟机:
Get-VM | Where-Object {$_.Name -match "Ubuntu|WSL"}
- 拿到虚拟机名称后,执行以下命令就能看到它绑定的VMSwitch:
Get-VMNetworkAdapter -VMName "Ubuntu-22.04" | Select-Object VMName, SwitchName, Status
输出结果里的SwitchName字段就是WSL2当前实际使用的VMSwitch名称,Status还能帮你确认网络连接状态是否正常。
方法二:直接获取对应的VMSwitch详细信息
如果想一次性拿到VMSwitch的完整配置(比如类型、绑定的物理网卡等),可以用下面的命令:
Get-VMNetworkAdapter -VMName "Ubuntu-22.04" | Get-VMSwitch
这个命令会返回该交换机的所有关键信息,帮你进一步验证桥接/NAT模式是否符合预期。
补充说明
- 如果你的WSL2用的是默认NAT模式,对应的VMSwitch名称通常是
WSL - 如果你在
.wslconfig里配置了桥接模式和指定的VMSwitch,用上面的命令可以直接验证配置是否实际生效,不用去虚拟机里ping或测试网络连接
备注:内容来源于stack exchange,提问作者pgr
相关产品推荐
相关产品推荐

