How to connect to a WiFi using CMD only?
So you already know netsh wlan
If you enter it you get a list of possible commands. One is add
.
If you enter netsh wlan add
you get another list of possible subcommands. One is profile
.
If you enter netsh wlan add profile
you get a detailed explanation about all its possible parameters. One needed parameter is a XML file containing the profile informations.
So how to get such an XML file? Go back to netsh wlan
and study the keywords. There is export
.
If you enter netsh wlan export
you get another list of possible subcommands. One is profile
. It creates an XML in your local directory containing the needed informations for your current WiFi connection.
If you like to get the password in clear text, you'll also have to add the parameter key=clear
. Make the whole command becoming
netsh wlan export profile key=clear
Here is an example which already contains the needed placeholders
<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>{SSID}</name>
<SSIDConfig>
<SSID>
<name>{SSID}</name>
</SSID>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>auto</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>
Simply replace the keywords {SSID}
(occurs two times) and {password}
with the desired values and import that file by calling
netsh wlan add profile filename="myProfile.xml"