Befehlszeilenbefehl (CLI) zum Trennen von WLAN vom aktuellen Netzwerk

Ich suche nach einer Möglichkeit, die Verbindung zu meinem aktuellen WLAN-Netzwerk über CLI zu trennen. Es gibt einen Weg, das zu tun, aber es ist ein GUI-Weg.

Irgendwelche Ideen, wie man das bewerkstelligt?

Danke!

eine beschäftigte Katze

Hinweis: Ich möchte Wi-Fi nicht deaktivieren, da Airdrop funktionieren muss, also möchte ich es nur vom bestehenden Netzwerk trennen .

EDIT: Warum will ich das?

Bei der Arbeit verbinden wir MBPs mit Displays mit angeschlossenem Ethernet. Außerdem nutzen wir stark die AirDrop-Funktionalität. Das Ziel ist es, ein Skript zu schreiben, das automatisch die Verbindung zu WIFI-Netzwerken trennt, wenn ein Ethernet-Kabel eingesteckt wird, damit wir weiterhin andere WIFI-Funktionen wie AirDrop und Apple Watch-Entsperrung verwenden können.

Genau das will ich auch machen. Gibt es eine Chance, dass Sie ein Skript herausgefunden haben und es teilen möchten?

Antworten (2)

Verwenden Sie networksetup.

Es gibt mehrere Möglichkeiten, die Verbindung zu einem Wi-Fi-Netzwerk über das Terminal zu trennen:

  • Deaktivieren Sie den Wi-Fi-Dienst. Dies erfordert Root-Rechte. Das Radio bleibt eingeschaltet, aber es wird keine Verbindung hergestellt.

    $ sudo networksetup -setnetworkserviceenabled Wi-Fi off

  • Schalten Sie die Stromversorgung des Flughafens aus (dies ist wie das Klicken auf das (GUI) Wi-Fi-Symbol und die Auswahl von „Wi-Fi ausschalten“. Sie brauchen es nicht und Sie sollten wissen, welche sudoSchnittstelle ( en0, en1, usw.) Ihr Flughafenadapter ist. Wenn Sie den Dienst nicht ausprobieren, versucht macOS zu erraten, um welchen es sich handelt.

    $ networksetup -setairportpower Wi-Fi off

In dem speziellen Fall, in dem Sie nicht automatisch beitreten möchten, stellen Sie das Netzwerk einfach auf nicht automatisch beitreten ein und schalten Sie dann den Netzwerkstatus mit um networksetup.

Wenn Sie nur die Verbindung zu einem WLAN-Netzwerk trennen möchten, deaktivieren Sie den Adapter:

$ sudo networksetup -setnetworkserviceenabled Wi-Fi off && sleep 15 && sudo networksetup -setnetworkserviceenabled Wi-Fi on

(Sie können den Befehl auch ohne ausgeben, sudoaber Sie erhalten ein Popup, das Sie zur Eingabe eines Passworts für jeden networksetupAufruf auffordert.)

Hey Allan, danke für deine Antwort, aber damit AirDrop funktioniert, muss WLAN aktiviert sein. Deshalb habe ich ausdrücklich "Trennen" geschrieben.
@PanagiotisToniBobolakis Diese Erklärungsebene lässt sich am besten in den Hauptteil der Frage einfügen. Wenn Sie erklären, warum Sie es deaktivieren und auf eine andere Frage hier verlinken, die bereits diese Antwort enthält, wird deutlich, dass Sie nur die SSID-Zuordnung steuern möchten, nicht den Energiestatus ändern oder
Wenn ich neu starte, muss ich den sudo networksetup -setnetworkserviceenabled Wi-Fi offBefehl erneut ausführen?
Es existiert getairportpower <iface>, das den Zustand des iFace anzeigen sollte - ein oder aus. Aber wenn es deaktiviert ist, wird es networksetupanscheinend nicht zugänglich sein.

Sie können dieses verwenden (im Internet gefunden und selbst ausprobiert):

Verwenden Sie anstelle von "DEVICE_NAME" Ihre Schnittstelle (zB: en0)

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport "DEVICE_NAME" -z