Un guide détaillé pour configurer Wake-on-LAN avec PowerShell, couvrant les commandes de base et les solutions aux problèmes typiques résultant des différences de pilotes de cartes réseau.
Étape 1 : Identification du périphérique.
Avant de configurer Wake-on-LAN (WOL) pour une carte réseau, il est nécessaire d’identifier précisément le périphérique avec lequel nous travaillons. Pour cela, nous utilisons une commande PowerShell qui recherche les périphériques par une partie de leur nom (par exemple, « Realtek » ou « Intel »).
Get-PnpDevice | Where-Object { $_.FriendlyName -like "*Realtek*" } | Select-Object FriendlyName, Status, Class, InstanceId

Cette commande indique au système :
> « Affichez-moi tous les périphériques dont le nom contient le mot «Realtek», et affichez-en un tableau avec quatre colonnes : nom complet, statut, classe et ID système. »
Get-PnpDevice: Récupère une liste complète de tous les périphériquesPlug-and-Play.|(Pipeline): Transmet la liste.Where-Object { ... }: Filtre la liste, en ne conservant que les périphériques dont le nom (FriendlyName) contient « Realtek ».|(Pipeline): Transmet la liste filtrée.Select-Object ...: Formate la sortie, en affichant uniquement les propriétés nécessaires.
Trouver le périphérique souhaité et prendre le premier de la liste
$device = Get-PnpDevice | Where-Object { $_.FriendlyName -like "*Realtek*" } | Select-Object -First 1
*Écrire ses propriétés dans des variables*
$DeviceName = $device.FriendlyName
$InstanceId = $device.InstanceId
$pmKey = "HKLM:\SYSTEM\CurrentControlSet\Enum\$InstanceId\Device Parameters"
Étape 2 : Autorisation globale de réveil
La commande powercfg donne au périphérique l’autorisation « officielle » de Windows de réveiller le système.
powercfg -deviceenablewake $DeviceName
Cette commande équivaut à cocher la case « Autoriser ce périphérique à sortir l’ordinateur du mode veille ».
Son action inverse — la désactivation :
powercfg -devicedisablewake $DeviceName
Étape 3 : Configuration du pilote.
Les paramètres WOL se trouvent dans les paramètres du pilote lui-même, qui sont stockés dans le registre.
Pour cocher la case « Autoriser uniquement un paquet magique à réveiller l’ordinateur », utilisez la commande Set-ItemProperty.
# Définir la propriété
Set-ItemProperty -Path $pmKey -Name "*WakeOnMagicPacket" -Value 1
Action inverse — désactivation de WOL (Value 0) :
Set-ItemProperty -Path $pmKey -Name "*WakeOnMagicPacket" -Value 0
Problème Le nom de ce paramètre peut différer selon les fabricants. Par exemple, pour Intel, c’est
*WakeOnMagicPacket, et pour Realtek —WakeOnMagicPacket(sans*). Si le paramètre n’est pas appliqué, vérifiez le nom correct avec la commandeGet-ItemProperty -Path $pmKeyet utilisez-le.
Étape 4 : Configuration finale via CIM
Pour s’assurer que les paramètres de gestion de l’alimentation sont appliqués correctement, nous utilisons la norme moderne CIM (Common Information Model).
# Trouver l'objet CIM associé à notre périphérique
$adapterCim = Get-CimInstance -Namespace root\wmi -ClassName MSPower_DeviceEnable | Where-Object { $_.InstanceName -like "*$($instanceId.Split('\')[-1])*" }
# Appliquer les modifications
if ($adapterCim) {
Set-CimInstance -CimInstance $adapterCim -Property @{ Enable = $true }
}
