You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Windows 10中仅针对特定Wi-Fi网络禁用IPv6连接

如何在Windows 10中仅针对特定Wi-Fi网络禁用IPv6连接

嘿,这个场景我太懂了!来回手动开关IPv6真的是折腾人,下面给你两个靠谱的自动解决方法,不用再每次手动调设置:

方法一:PowerShell脚本 + 任务计划自动触发

这个方法能让Windows在你连接到家里的VPN路由器Wi-Fi时自动禁用IPv6,断开时自动恢复,完全不用手动干预。

步骤1:准备两个PowerShell脚本

首先打开记事本,分别创建两个脚本:

禁用IPv6的脚本(命名为Disable-IPv6.ps1

# 获取当前Wi-Fi适配器名称(一般是"Wi-Fi",如果你的不一样可以在网络适配器里查看)
$adapterName = "Wi-Fi"
# 禁用该适配器的IPv6
netsh interface ipv6 set interface "$adapterName" disable

启用IPv6的脚本(命名为Enable-IPv6.ps1

$adapterName = "Wi-Fi"
netsh interface ipv6 set interface "$adapterName" enable

把这两个脚本保存到你好找的地方,比如C:\Scripts\文件夹里。

步骤2:创建任务计划触发脚本

接下来要让Windows在连接到特定Wi-Fi时自动运行禁用脚本,断开时运行启用脚本:

  1. 打开任务计划程序(可以在开始菜单搜索直接打开)
  2. 点击左侧的「创建任务」,给任务起个名字,比如“连接家用VPN Wi-Fi时禁用IPv6”
  3. 切换到「触发器」标签,点击「新建」:
    • 在「开始任务」下拉选「当特定事件被记录时」
    • 日志选「系统」,来源选「Microsoft-Windows-NetworkProfile」,事件ID填10000(这个事件代表网络连接成功)
    • 点击「条件」,添加事件筛选器:在XML标签里勾选「手动编辑查询过滤器」,粘贴下面的内容(把"你的家用VPN路由器Wi-Fi名称"改成你实际的SSID):
      <QueryList>
        <Query Id="0" Path="System">
          <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-NetworkProfile'] and EventID=10000]] and *[EventData[Data='你的家用VPN路由器Wi-Fi名称']]</Select>
        </Query>
      </QueryList>
      
    • 确定保存这个触发器
  4. 切换到「操作」标签,点击「新建」:
    • 操作选「启动程序」,程序或脚本填powershell.exe,添加参数填-ExecutionPolicy Bypass -File "C:\Scripts\Disable-IPv6.ps1"(路径改成你实际保存脚本的位置)
  5. 同理,再创建一个任务,名字比如“断开家用VPN Wi-Fi时启用IPv6”:
    • 触发器的事件ID改成10001(代表网络断开),XML里同样指定你的Wi-Fi名称
    • 操作里调用Enable-IPv6.ps1脚本
  6. 最后记得把任务的安全选项设置为「不管用户是否登录都要运行」,这样就算你用不同账号登录也能生效。

方法二:手动设置特定Wi-Fi的IPv6属性

如果你不想搞脚本,也可以手动给特定Wi-Fi单独禁用IPv6,这个方法只有在你连接该网络时才会生效,其他网络不受影响:

  1. 右键任务栏的网络图标,选「打开网络和Internet设置」
  2. 点击「Wi-Fi」,然后选「管理已知网络」
  3. 找到你家用VPN路由器的Wi-Fi名称,点击「属性」
  4. 在弹出的窗口里,找到「IP设置」部分,点击「编辑」
  5. 把IP分配方式改成「手动」,然后把IPv6的开关关掉,保存设置

这样下次你连接这个Wi-Fi时,系统就会自动禁用IPv6,连接其他Wi-Fi时还是正常使用IPv6。

备注:内容来源于stack exchange,提问作者IT gone wild

火山引擎 最新活动