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é.

Illustration montrant la transition d'un ancien réseau Wi-Fi (SSID : STD_ROCKS_OLD, Password : OLD2000@) vers un nouveau réseau Wi-Fi (SSID : STD_ROCKS_NEW, Password : P@WD2000) dans un environnement Active Directory.

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.
Capture d'écran du menu Wi-Fi de Windows montrant le nouveau réseau Wi-Fi « STD_ROCKS_NEW » en surbrillance, prêt à se connecter.
  • Une fois connecté, exporter 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 :
Icône du fichier de configuration Wi-Fi nommé « Wi-Fi-STD_ROCKS_NEW.xmlr » sur un 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 :
Vue de l'explorateur de fichiers Windows montrant le chemin d'accès au dossier des scripts sysvol contenant un fichier batch 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 :
Boîte de dialogue Exécuter de Windows avec la commande gpmc.msc pour ouvrir 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 :
La console de gestion des stratégies de groupe offre la possibilité de créer une GPO dans le domaine et de la lier à une unité d'organisation spécifique.
  • Donner un nom à la GPO :
Nouvelle boîte de dialogue de création de GPO dans la console de gestion de la stratégie de groupe avec le champ de nom défini sur WiFi et la GPO source de départ définie sur aucun.
  • Éditer la GPO :
Console de gestion de la stratégie de groupe montrant le menu contextuel pour la GPO WiFi avec l'option Editer en surbrillance.
  • Aller dans Configuration ordinateur > Stratégies > Paramètres Windows > Scripts (Démarrage/Arrêt). Faire un clic droit sur Démarrage > Propriétés
L'éditeur de gestion de la stratégie de groupe affiche la section Scripts de démarrage avec l'option Propriétés en surbrillance pour la configuration des scripts de démarrage.
  • Cliquer sur Ajouter… et Parcourir pour sélectionner le script :
La boîte de dialogue Propriétés du démarrage montre le processus d'ajout d'un script de démarrage en naviguant pour sélectionner le fichier batch wifi dans le dossier scripts de sysvol.
  • Une fois que les ordinateurs auront redémarré ils se connecteront automatiquement sur le nouveau SSID, l'ancien pourra être supprimé :
Diagramme montrant la transition de l'ancien SSID et mot de passe du réseau Wi-Fi vers le nouveau SSID et mot de passe du réseau Wi-Fi, appliqué à plusieurs ordinateurs portables.
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

contact mail address