Abfrage des mobilen Netzadapters in PowerShell
Hallo zusammen,
ich arbeite im Moment an einem Skript, dass Daten von der integrierten Festplatte auf das persönliche Netzlaufwerk transferiert. Das Skript soll jedoch überprüfen, ob das Notebook momentan mobile Daten verwendet und wenn dies der Fall ist, das Skript terminieren. Grund dafür ist, dass die zu transferierende Dateien zum Teil mehrere Gigabyte groß sein können und die User nicht das komplette Datenvolumen für ein Back-Up aufbrauchen.
Mein Problem ist, dass das Skript die Abfrage überspringt und nicht direkt terminiert, wenn mobile Daten aktiviert sind.
#Variable
$mobilfunk = Get-NetAdapter | Where-Object {$_.name -contains "mobilfunk" }| Where-Object {$_.status -eq "Connected"}
#if-Abfrage
if ($mobilfunk -eq $true) {
Write-Output "Back-Up nicht möglich, da sie akutell mobile Daten verwenden. Bitte stellen sie eine erneute Verbindung mit einem anderen Medium her oder wenden Sie sich an einen Systemadministrator."
pause}
Könnt ihr mir bei meinem Denkfehler weiterhelfen, habe hier schon etliche Zeit investiert :/.
ich arbeite im Moment an einem Skript, dass Daten von der integrierten Festplatte auf das persönliche Netzlaufwerk transferiert. Das Skript soll jedoch überprüfen, ob das Notebook momentan mobile Daten verwendet und wenn dies der Fall ist, das Skript terminieren. Grund dafür ist, dass die zu transferierende Dateien zum Teil mehrere Gigabyte groß sein können und die User nicht das komplette Datenvolumen für ein Back-Up aufbrauchen.
Mein Problem ist, dass das Skript die Abfrage überspringt und nicht direkt terminiert, wenn mobile Daten aktiviert sind.
#Variable
$mobilfunk = Get-NetAdapter | Where-Object {$_.name -contains "mobilfunk" }| Where-Object {$_.status -eq "Connected"}
#if-Abfrage
if ($mobilfunk -eq $true) {
Write-Output "Back-Up nicht möglich, da sie akutell mobile Daten verwenden. Bitte stellen sie eine erneute Verbindung mit einem anderen Medium her oder wenden Sie sich an einen Systemadministrator."
pause}
Könnt ihr mir bei meinem Denkfehler weiterhelfen, habe hier schon etliche Zeit investiert :/.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 535255
Url: https://administrator.de/forum/abfrage-des-mobilen-netzadapters-in-powershell-535255.html
Ausgedruckt am: 12.04.2025 um 01:04 Uhr
7 Kommentare
Neuester Kommentar
Moin,
Example 6: Use multiple conditions
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
Gruß
Example 6: Use multiple conditions
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
Gruß
Moin,
So ward dat nix.
heißt: Suche in dem Array $_.name, ob sich darin ein Wert mit exakt "Telekom.de" befindet. Steht da was anderes, dann ist das immer falsch und somit $mobilfunk leer.
und so geht's.
hth
Erik
Zitat von @Sheev20:
$mobilfunk = Get-NetAdapter | Where-Object {$_.name -contains "Telekom.de" -and $_.status -eq "Connected"}
$mobilfunk = Get-NetAdapter | Where-Object {$_.name -contains "Telekom.de" -and $_.status -eq "Connected"}
So ward dat nix.
{$_.name -contains "Telekom.de"}
heißt: Suche in dem Array $_.name, ob sich darin ein Wert mit exakt "Telekom.de" befindet. Steht da was anderes, dann ist das immer falsch und somit $mobilfunk leer.
{$_.name -like "*Telekom.de*"}
und so geht's.
hth
Erik
Hi!
Du könntest aber auch den Type aller Network Adapter abfragen und deren connectionstatus. So kannst du ausschließen dass Mobil-Connections verwendet werden ohne deren Namen zu kennen:
https://devblogs.microsoft.com/scripting/using-powershell-to-find-connec ...
Grüße!
Du könntest aber auch den Type aller Network Adapter abfragen und deren connectionstatus. So kannst du ausschließen dass Mobil-Connections verwendet werden ohne deren Namen zu kennen:
https://devblogs.microsoft.com/scripting/using-powershell-to-find-connec ...
Grüße!
Zitat von @Sheev20:
Den Befehl per se erkennt er aber er gibt mir einfach nicht die Nachricht aus und springt weiter im Skript statt aufzuhören :/.
ist doch auch kein Wunder.Den Befehl per se erkennt er aber er gibt mir einfach nicht die Nachricht aus und springt weiter im Skript statt aufzuhören :/.
$mobilfunk = Get-NetAdapter | Where-Object {$_.name -contains "Telekom.de" -and $_.status -eq "Connected"}
$mobilfunk wird hier nicht auf $true/$false gesetzt.Wenn dir der Name schon bekannt ist, warum dann nicht einfach ein
if ((Get-NetAdapter -Name "WLAN").MediaConnectionState -eq "Connected")