忘記家裡/公司/咖啡廳 Wi-Fi 密碼,但電腦已自動連接?Windows 將所有連線過的無線網絡設定檔 (含明文密碼) 存儲在本地。本文提供 GUI 圖形操作、CMD 單行指令、PowerShell 批量導出 三種方法,覆蓋單查、批量備份、腳本化部署等場景。
ncpa.cpl)。




REM 列出所有已保存的無線網絡設定檔名稱
netsh wlan show profiles
REM 查看指定設定檔的明文密碼 (將 "SSID_Name" 替換為實際名稱)
netsh wlan show profile name="SSID_Name" key=clear
輸出中 Key Content 行即為密碼。若顯示「找不到金鑰」,可能是企業級 802.1X 認證 (無預共享金鑰) 或策略禁止導出。
一鍵導出所有 SSID 與密碼到桌面 CSV:
$profiles = netsh wlan show profiles | Select-String "所有用戶設定檔\s+:(.+)" | ForEach-Object { $_.Matches.Groups[1].Value.Trim() }
$results = @()
foreach ($ssid in $profiles) {
$detail = netsh wlan show profile name="$ssid" key=clear
$pwd = ($detail | Select-String "關鍵內容\s+:(.+)" ).Matches.Groups[1].Value.Trim()
$auth = ($detail | Select-String "驗證\s+:(.+)" ).Matches.Groups[1].Value.Trim()
$ciph = ($detail | Select-String "加密\s+:(.+)" ).Matches.Groups[1].Value.Trim()
$results += [PSCustomObject]@{SSID=$ssid; Password=$pwd; Authentication=$auth; Cipher=$ciph}
}
$results | Export-Csv -Path "$env:USERPROFILE\Desktop\WifiPasswords.csv" -NoTypeInformation -Encoding UTF8
Write-Host "已導出 $($results.Count) 個設定檔到桌面 WifiPasswords.csv"
REM 導出單個設定檔為 XML (含明文密碼)
netsh wlan export profile name="SSID_Name" folder="C:\Backup" key=clear
REM 批量導出所有
netsh wlan export profile folder="C:\Backup" key=clear
REM 在新電腦匯入 (需管理員權限)
netsh wlan add profile filename="C:\Backup\Wi-Fi-SSID_Name.xml" user=all
安全警示:XML 檔案包含明文密碼,導出後務必加密存儲 (BitLocker/VeraCrypt/7z 加密),用完立即粉碎刪除。
| 問題 | 原因與對策 |
|---|---|
| 「顯示字元」灰色不可勾選 | 組策略「禁止顯示密碼」生效:gpedit.msc → 計算機配置 → 管理範本 → 網路 → 無線網絡設置 → 禁止顯示密碼 設為「未配置/已禁用」 |
| netsh 提示「無線自動配置服務未運行」 | services.msc 啟動 WlanSvc (Wireless AutoConfig) 並設為自動 |
| 企業 802.1X (PEAP/EAP-TLS) 無密碼顯示 | 此類認證使用用戶憑證/帳密,不存儲 PSK;需向 IT 申請或使用原帳密重新連線 |
| 想查看手機熱點密碼 | 手機端:設定 → 個人熱點 → 查看密碼;電腦端無法反查手機熱點密碼 |