使用cmd連接wifi(netsh命令)

Step1.創(chuàng)建配置文件

  • 導出已有配置文件
    netsh wlan export profile key=clear(clear表示以明文方式顯示密碼)

  • 修改文件

<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
    <name>MI 6</name>
    <SSIDConfig>
        <SSID>
            <name>MI 6</name>
        </SSID>
    </SSIDConfig>
    <connectionType>ESS</connectionType>
    <connectionMode>manual</connectionMode>
    <MSM>
        <security>
            <authEncryption>
                <authentication>WPA2PSK</authentication>
                <encryption>AES</encryption>
                <useOneX>false</useOneX>
            </authEncryption>
            <sharedKey>
                <keyType>passPhrase</keyType>
                <protected>false</protected>
                <keyMaterial>{password}</keyMaterial>
            </sharedKey>
        </security>
    </MSM>
    <MacRandomization xmlns="http://www.microsoft.com/networking/WLAN/profile/v3">
        <enableRandomization>false</enableRandomization>
    </MacRandomization>
</WLANProfile>

name和SSID可以不同(最好設為一致),name是配置文件名稱,SSID是要連接的wifi名;
connectionMode可以為手動連接的manual或者自動連接的auto;
keyMaterial處填寫密碼,無密碼狀態(tài)如下:

<security>
    <authEncryption>
        <authentication>open</authentication>
        <encryption>none</encryption>
        <useOneX>false</useOneX>
    </authEncryption>
</security>

Step2.添加配置文件

  • 檢查配置文件是否已經(jīng)存在:
    netsh wlan show profile

比較奇葩的是當有兩個SSID相同但name不同的配置時,這兩個wifi會同時出現(xiàn)在當前可連接的wifi列表中,而且顯示的是name名:



所以應當盡量避免這種情況

  • 刪除配置文件:
    netsh wlan delete profile name="MI 6 2"
    netsh wlan delete profile name="MI 6"
  • 添加配置文件:
    netsh wlan add profile filename="wifi.xml"
    注意這里面參數(shù)是文件名,默認路徑為當前目錄,添加成功后提示:已將配置文件 MI 6添加到接口 WLAN。

Step3.進行連接

netsh wlan connect name="MI 6"
重要的事情說三遍:這里的name是剛剛添加過的配置文件中的name,而不是配置文件名!而不是配置文件名!而不是配置文件名!因為我剛開始就是栽在這里頭了,老是連不上。
連接成功的提示信息為已成功完成連接請求。

常用netsh命令總結(jié):

  • 列出配置文件:netsh wlan show profile
  • 導出配置文件:netsh wlan export profile key=clear
  • 刪除配置文件:netsh wlan delete profile name=""
  • 添加配置文件:netsh wlan add profile filename=""
  • 連接wifi:netsh wlan connect name=""
  • 列出接口:netsh wlan show interface
  • 開啟接口:netsh interface set interface "Interface Name" enabled
  • 列出所有可連接wifi詳細信息:netsh wlan show networks mode=bssid
  • 為cmd/powershell設置代理netsh winhttp set proxy 127.0.0.1:1080
  • 取消代理netsh winhttp reset proxy
  • 查看代理netsh winhttp show proxy

使用命令行加配置文件的方式連接wifi看似沒什么卵用,實際用處非常大,比如可以直接在C#中通過此方式取得可連接wifi列表,相比封裝的ManagedWifi要簡潔得多

using System;  
using System.Diagnostics;  
  
namespace WifiTest  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Process proc = new Process();  
            proc.StartInfo.CreateNoWindow = true;  
            proc.StartInfo.FileName = "netsh";  
            proc.StartInfo.Arguments = "wlan show networks mode=bssid";  
            proc.StartInfo.RedirectStandardOutput = true;  
            proc.StartInfo.UseShellExecute = false;  
            proc.Start();  
            string output = proc.StandardOutput.ReadToEnd();  
            proc.WaitForExit();  
  
            Console.WriteLine(output);  
            Console.Read();  
        }  
    }  
}  

參考資料:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,564評論 19 139
  • 最近寢室網(wǎng)不太好,經(jīng)常莫名其妙的連不上網(wǎng)。害的我上次一個上午沒有收集到數(shù)據(jù)。其實也簡單,每次手動在自己寢室和隔壁寢...
    George_Lee閱讀 858評論 0 0
  • 我一直都希望,我一轉(zhuǎn)身,只見你一人,站在陽光下對我微笑。那一定是最溫暖的笑容。那樣的畫面一直在我的腦海里回...
    十二妖閱讀 326評論 0 0
  • 重慶的霧也終成了霾,一場現(xiàn)代都市的流行病,起因無數(shù)卻也順其自然。倒是讓人想起90年代初的重慶,或許那時候稱為霧霾更...
    入海閱讀 300評論 0 0
  • 「如果你沒有選項,你那不叫決策,只能叫決心?!?/div>
    Gzw丶南山閱讀 177評論 0 0

友情鏈接更多精彩內(nèi)容