Autorun-Skript: WakeOnLAN für Netzwerkadapter unter Windows 10 aktivieren
Mit nachfolgendem PowerShell-Skript (abgespeichert unter C:\logoDIDACT\Autorun\setup\10_enable-wol.ps1) kann sichergestellt werden, dass die WakeOnLAN-Funktion unter Windows für alle Netzwerkadapter aktiviert ist, die diesen Modus unterstützen.
Wichtig:
Es gilt hierbei darauf zu achten, dass die Unterstützung durch den Treiber geliefert wird und daher ein vernünftiger LAN-Treiber passend zum Netzwerkadapter unter Windows 10 (ins Image) installiert werden muss. Der von Microsoft mitgelieferte LAN-Treiber unterstützt WakeOnLAN von Haus aus nicht.
#Requires -Version 3
<#
.SYNOPSIS
Enable WakeOnLan on all supported physical NICs
.DESCRIPTION
Enable WakeOnLan on all supported physical NICs via cmdlet Set-NetAdapterPowerManagement
.PARAMETER WhatIf
Check for supported ethernet adapters without applying actual changes
.NOTES
Version: 1.0
Author: jm@sbe.de
Creation Date: 26.06.2020
.LINK
https://sbe.de
.EXAMPLE
C:\PS> $MyInvocation.MyCommand.Name
#>
Param (
[Parameter(Mandatory = $false)]
[Switch]$WhatIf
)
$ErrorActionPreference = "SilentlyContinue"
function EnableWOL([Bool]$DryRun = $False) {
if ($DryRun) { $DryRun_Hint = "[DRYRUN] " }
Get-NetAdapter -Physical -Name Eth* | Get-NetAdapterPowerManagement | Where-Object { $_.WakeOnMagicPacket -ieq "Disabled" } | ForEach-Object {
Write-Host ("{0}Enabling WakeOnLan support on ethernet adapter '{1}'" -f $DryRun_Hint, $_.InterfaceDescription)
if (-not $DryRun) {
Set-NetAdapterPowerManagement -InterfaceDescription $_.InterfaceDescription -WakeOnMagicPacket Enabled
}
}
}
EnableWOL -DryRun $WhatIf
Bei erfolgreicher Umsetzung, sieht man im Gerätemanager, in den Eigenschaften des richtigen Netzwerkadapters, das es aktiviert ist.