公众号旧文

一键把所有无线局域网都改成不自动连接

作者:胖子阅读 —

不知道有多少人有这样的需求:

所处的环境中有多个无线局域网,偶尔需要切换到另一个,但是大多数时间,连的都是固定的某一个,此时就需要关闭其他SSID的自动连接,不然进入这个环境时,自动连接会导致不一定连上的是哪一个。

一、实现原理

  • Windows 会保存你连过的 Wi-Fi(SSID 配置)
  • 每个配置里有一个 ConnectionMode
  • 我们做的事:

二、PowerShell 脚本

⚠️ 必须用“管理员身份”运行 PowerShell

# 获取当前已连接的 WiFi SSID
$currentSSID
 = (netsh wlan show interfaces |

Select-String

"SSID"
 |

Where-Object
 {
$_

-notmatch

"BSSID"
 } |

ForEach-Object
 {
        (
$_

-split

":"
,
2
)[
1
].Trim()
    })
Write-Host

"当前连接的 WiFi:"

$currentSSID
# 获取所有已保存的 WiFi 配置
$profiles
 = netsh wlan show profiles |

Select-String

"所有用户配置文件"
 |

ForEach-Object
 {
        (
$_

-split

":"
,
2
)[
1
].Trim()
    }
foreach
 (
$ssid

in

$profiles
) {

if
 (
$ssid

-ne

$currentSSID
) {

Write-Host

"设置 [
$ssid
] 为不自动连接"
        netsh wlan
set
 profileparameter name=
"
$ssid
"
 connectionmode=manual |
Out-Null
    }
}

三、使用方法

  1. 开始菜单
  2. 搜索 PowerShell
  3. 右键 → 以管理员身份运行
  4. 粘贴上面的代码
  5. 回车执行

执行完成后:

  • ✅ 当前 Wi-Fi 不受影响
  • ❌ 其它所有 Wi-Fi 都不会再自动连