rss logo

Comment remplacer le mot de passe WiFi sur des ordinateurs Windows par GPO

Logo WiFi

De nos jours il est frĂ©quent que les entreprises utilisent le WiFi pour connecter les utilisateurs au rĂ©seau de l'entreprise. Les protocoles de protection comme WPA2 et plus rĂ©cemment WPA3 offrent aujourd'hui une sĂ©curitĂ© plutĂŽt correcte mais que faire si le mot de passe venait Ă  ĂȘtre compromis ou si l'on souhaite tout simplement le renouveler de temps en temps? Cela peut vite devenir un casse tĂȘte, encore plus lorsque l'on doit gĂ©rer un parc de plusieurs centaines de machines.

Il n'y a, à ma connaissance, pas d'outil natif dans les GPO pour gérer cela. Nous allons donc devoir ruser. En effet nous allons voir ici comment changer le code WiFi associé à un SSID en utilisant un script batch. Ce script sera exécuté au démarrage de la machine (et géré par GPO).

Les commandes pour gérer le WiFi en ligne de commande

Dans le but de correctement comprendre le script, il peut ĂȘtre utile de parcourir rapidement les principales commandes de gestion du WiFi dans Windows.

  • Lister les commandes WiFi :
C:\WINDOWS\system32>netsh wlan The following commands are available: Commands in this context: ? - Displays a list of commands. add - Adds a configuration entry to a table. connect - Connects to a wireless network. delete - Deletes a configuration entry from a table. disconnect - Disconnects from a wireless network. dump - Displays a configuration script. export - Saves WLAN profiles to XML files. help - Displays a list of commands. IHV - Commands for IHV logging. refresh - Refresh hosted network settings. reportissues - Generate WLAN smart trace report. set - Sets configuration information. show - Displays information. start - Start hosted network. stop - Stop hosted network. To view help for a command, type the command, followed by a space, and then type ?.
  • Afficher les informations complĂštes de tous les pĂ©riphĂ©riques et rĂ©seaux wifi :
C:\WINDOWS\system32>netsh wlan show all
  • Afficher les profils Wi-Fi :
C:\WINDOWS\system32>netsh wlan show profiles Profiles on interface Wi-Fi: Group policy profiles (read only) --------------------------------- <None> User profiles ------------- All User Profile : FFBOXE All User Profile : STD_ROCKS
  • Afficher le profil STD_ROCKS :
C:\WINDOWS\system32>netsh wlan show profiles "STD_ROCKS" Profile STD_ROCKS on interface Wi-Fi: ======================================================================= Applied: All User Profile Profile information ------------------- Version : 1 Type : Wireless LAN Name : STD_ROCKS Control options : Connection mode : Connect automatically Network broadcast : Connect only if this network is broadcasting AutoSwitch : Do not switch to other networks MAC Randomization : Disabled Connectivity settings --------------------- Number of SSIDs : 1 SSID name : "STD_ROCKS" Network type : Infrastructure Radio type : [ Any Radio Type ] Vendor extension : Not present Security settings ----------------- Authentication : WPA2-Personal Cipher : CCMP Authentication : WPA2-Personal Cipher : GCMP Security key : Present Cost settings ------------- Cost : Unrestricted Congested : No Approaching Data Limit : No Over Data Limit : No Roaming : No Cost Source : Default
  • Exporter le profil WiFi dans «c:\Users\user\Desktop\Wi-Fi-STD_ROCKS.xml» :
C:\WINDOWS\system32>netsh wlan Export Profile Name="STD_ROCKS" key=clear folder=c:\Users\user\Desktop\
  • Importer le profil WiFi pour tous les utilisateurs depuis le fichier «c:\Users\user\Desktop\STD_ROCKS.xml» :
C:\WINDOWS\system32>netsh add profile filename="c:\Users\user\Desktop\STD_ROCKS.xml" user=all
  • DĂ©finir l'ordre de prĂ©fĂ©rence du rĂ©seau STD_ROCKS Ă  la prioritĂ© la plus Ă©levĂ© :
C:\WINDOWS\system32>netsh wlan set profileorder name="STD_ROCKS" interface="Wi-Fi" priority=1
  • Supprimer le profil Wi-Fi STD_ROCKS :
C:\WINDOWS\system32>netsh wlan delete profile name="STD_ROCKS" interface="Wi-Fi"

Création d'un nouveau SSID

Afin d'Ă©viter que les utilisateurs subissent des coupures de connexion nous allons faire cohabiter le temps de la migration deux SSID. L'ancien («STD_ROCKS_OLD» dans le diagramme ci-dessous) avec le mot de passe que l'on souhaite modifier et le nouveau («STD_ROCKS_NEW» dans le diagramme ci-dessous) avec le nouveau mot de passe. Une fois que tous les utilisateurs auront migrĂ© vers le nouveau rĂ©seau, l'ancien pourra ĂȘtre supprimĂ©.

groupe d'ordinateurs avec deux bornes wifi

Exporter le profil Wi-Fi vers un fichier xml

  • Se connecter manuellement sur le nouveau Wi-FiSTD_ROCKS_NEW» dans le diagramme ci-dessus) depuis un ordinateur Windows.
Menu affichant les Wi-Fi visibles sur une machine windows
  • Une fois connectĂ© exportĂ© le profil Wi-Fi vers un fichier xml :
C:\WINDOWS\system32>netsh wlan Export Profile Name="STD_ROCKS_NEW" key=clear folder=c:\Users\user\Desktop\
  • Le fichier xml devrait apparaitre sur le Bureau :
Fichier xml sur le bureau Windows
  • Ouvrir le fichier xml et vĂ©rifier les informations suivantes :
    • RĂ©seau Wi-Fi : STD_ROCKS_NEW (ici)
    • Mot de passe : P@WD2000 (ici)
<?xml version="1.0"?> <WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"> <name>STD_ROCKS_NEW</name> <SSIDConfig> <SSID> <hex>535444524F434B5342414259</hex> <name>STD_ROCKS_NEW</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>P@WD2000</keyMaterial> </sharedKey> </security> </MSM> <MacRandomization xmlns="http://www.microsoft.com/networking/WLAN/profile/v3"> <enableRandomization>false</enableRandomization> <randomizationSeed>1592637002</randomizationSeed> </MacRandomization> </WLANProfile>

Script Batch

  • Ce que le script fait :
    • CrĂ©er un fichier C:\WirelessSet.txt lors de la premiĂšre exĂ©cution, supprimer l'ancien profil (STD_ROCKS_OLD) si le fichier existe (car cela veut dire que le script a dĂ©jĂ  Ă©tĂ© exĂ©cutĂ© au moins une fois)
    • Ajouter un nouveau profil WiFi
    • DĂ©finir le nouveau profil comme profil par dĂ©faut
  • CrĂ©er le fichier wifi.bat :
REM Remove REM if you want to reset GPO : REM DEL C:\WirelessSet.txt REM If the file C:\WirelessSet.txt exists, it means the script has already been executed once, so jump to _END switch IF EXIST C:\WirelessSet.txt GOTO _END REM Otherwise add wireless profile from STD_ROCKS_NEW.xml file netsh wlan add profile filename="\\std.local\netlogon\Wi-Fi-STD_ROCKS_NEW.xml" user=all >> C:\WirelessSet.txt REM Set new profile (STD_ROCKS_NEW) with best priority netsh wlan set profileorder name="STD_ROCKS_NEW" interface="Wi-Fi" priority=1 REM exit script GOTO:eof REM _END SWITCH :_END REM Delete old (STD_ROCKS_OLD) wireless profile netsh wlan delete profile name="STD_ROCKS_OLD" interface="Wi-Fi"
  • Puis depuis un serveur Active Directory, copier les fichiers xml et wifi.bat dans C:\Windows\SYSVOL\sysvol\YOUR_DOMAIN\scripts :
Dossier sysvol d'un active directory dans lequel se trouve un script et un fichier xml

Création d'une GPO

Nous pouvons maintenant créer une GPO qui exécutera le script lorsque les ordinateurs démarreront.

  • Ouvrir la console de gestion Group Policy Manager :
Lancer la console de gestion des stratégies de groupe
  • CrĂ©er une nouvelle GPO et la lier dans l'OU oĂč se trouvent les objets ordinateurs :
créer une gpo
  • Donner un nom Ă  la GPO :
DĂ©finir le nom d'une GPO
  • Éditer la GPO :
Menu déroulant pour éditer GPO
  • Aller dans Configuration ordinateur > StratĂ©gies > ParamĂštres Windows > Scripts (DĂ©marrage/ArrĂȘt). Faire un clic droit sur DĂ©marrage > PropriĂ©tĂ©s
édition des propriétés des scripts de démarrage d'une gpo
  • Cliquer sur Ajouter… et Parcourir pour sĂ©lectionner le script :
les différentes phases pour l'ajout d'un script dans une gpo
  • Une fois que les ordinateurs auront redĂ©marrĂ© ils se connecteront automatiquement sur le nouveau SSID, l'ancien pourra ĂȘtre supprimĂ© :
schéma réseau avec deux ssid
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

contact mail address