Wechsel der Verbindung in Windows 10 überwachen
Hallo in die Runde!
Ich suche eine Möglichkeit einen bestimmten Dienst zu stoppen, sobald der Anwender von LAN/WLAN auf eine getaktete (mobile) Verbindung (3G/4G) umschaltet.
Das ganze sollte per Batch oder Powershell überwacht werden. Ich suche mich zu Tode und finde nichts Gescheites. Das Problem geht schon damit los, dass ich nicht genau definieren kann, woran man die Umschaltung am besten erkennen kann.
Änderung der IP-Adresse ist Käse. DNS-Suffix wäre ne Möglichkeit aber steht auch auf wackligen Füßen.
Jemand ne Idee?
Ich suche eine Möglichkeit einen bestimmten Dienst zu stoppen, sobald der Anwender von LAN/WLAN auf eine getaktete (mobile) Verbindung (3G/4G) umschaltet.
Das ganze sollte per Batch oder Powershell überwacht werden. Ich suche mich zu Tode und finde nichts Gescheites. Das Problem geht schon damit los, dass ich nicht genau definieren kann, woran man die Umschaltung am besten erkennen kann.
Änderung der IP-Adresse ist Käse. DNS-Suffix wäre ne Möglichkeit aber steht auch auf wackligen Füßen.
Jemand ne Idee?
Please also mark the comments that contributed to the solution of the article
Content-Key: 380623
Url: https://administrator.de/contentid/380623
Printed on: April 28, 2024 at 12:04 o'clock
3 Comments
Latest comment
Dafür gibt es ein WMI Event , dann noch das Netzwerkprofil im Event abfragen feddich.
Grüße Uwe
-edit- Tippfehler korrigiert.
# event subscriber löschen
Get-EventSubscriber | Unregister-Event -Force
# media connect event registrieren
Register-WMIEvent -Namespace root\wmi -Class MSNdis_StatusMediaConnect -Action {
$cprofile = [Windows.Networking.Connectivity.NetworkInformation]::GetInternetConnectionProfile()
if ($cprofile){
$cost = $profile.GetConnectionCost()
if ($cost -ne $null){
if ($cost.NetworkCostType -eq 2 -or $cost.NetworkCostType -eq 3){
write-host "Getaktete Verbindung erkannt." -F Green
}
}
}
}
cls
write-host "Warte auf neue Verbindungen..."
while($true){
sleep 1
}
-edit- Tippfehler korrigiert.