解决虚拟网卡无法连接到 Internet 问题(之一)
虚拟网卡无法连接到 Internet 的可能情况之一是:网络连接中存在不支持网络连接共享(ICS)的网络连接,可以在 "控制面板\网络和 Internet\网络连接" 中查看是否存在不支持 ICS 的网络连接。
我遇到的情况是我电脑中存在一个名为 “传入的连接” 的网络连接,我不知道这是否是 Windows 的 BUG,已经给微软提交了反馈,下面是解决办法:
方法 1、删除所有不支持 ICS 的网络连接。
方法 2、启用虚拟网卡的 Internet 连接共享功能,再禁用。
方法 2 不能彻底解决问题,重启后很有可能问题再现,如果你不想删除网络连接,可以使用此方法。
这里有重启 ICS 功能的脚本,免去启动禁用 ICS 的手动步骤:
下载以下 2 个脚本文件
1、https://raw.githubusercontent.com/loxia01/PSInternetConnectionSharing/master/PSInternetConnectionSharing.psd1
2、https://raw.githubusercontent.com/loxia01/PSInternetConnectionSharing/master/PSInternetConnectionSharing.psm1
下载之后,你需要在你的 powershell 模块路径(%ProgramFiles%\WindowsPowerShell\Modules)下新建文件夹,名为 `PSInternetConnectionSharing`,并把下载的这两个文件移动过去,你应该得到如下的路径和文件:
随后,随便找个位置新建一个文本文件,命名为 `resetics.txt`,然后在文件中输入以下内容:
@echo off PowerShell -Command "Start-Process PowerShell -Verb RunAs -ArgumentList '$netAdapters = Get-NetAdapter | Select-Object -ExpandProperty Name; Set-Ics -PublicConnectionName $netAdapters[0] -PrivateConnectionName $netAdapters[1]; Disable-Ics'"
保存,把 `resetics.txt` 改为 `resetics.cmd`,双击运行这个文件,提示需要管理员权限,点击确认,授权即可,随后当出现虚拟网卡不能连接到 Internet 时,就可以通过运行这个文件来重置 ICS,所以,你也可以把这个 `resetics.cmd` 脚本的路径添加到环境变量里,这样你就可以通过 win + R 打开 “运行”,然后输入 "resetics" 就能运行这个文件,但我更推荐直接删除不支持 ICS 的网络连接。