Netzlaufwerk nach SSID verbinden

Maneman

Maneman

Mitglied
Thread Starter
Dabei seit
25.11.2014
Beiträge
26
Reaktionspunkte
0
Hallo zusammen,

ich würde gerne bei meinem Macbook Air einige Netzlaufwerke in Abhängigkeit von der SSID der verschiedenen Router (verschiedene Locations: Zuhause, Arbeit,...) verbinden.
ist das per Script möglich :confused:

Ein Script zum verbinden von Netzlaufwerken habe ich schon aber das bringt mir immer eine Fehlermeldung (Zeitüberschreitung) wenn ich nicht im richtigen WLan/Netzwerk bin.
 
>ich würde gerne bei meinem Macbook Air einige Netzlaufwerke in Abhängigkeit von der SSID der verschiedenen Router (verschiedene Locations: Zuhause, Arbeit,...)

Das sollte mit verschiedenen Netzwerkumgebungen relativ einfach sein.

Lege für jeden Bereich eine eigene Netzwerkumgebung an.
Dort fügst du das jeweils passende WLAN / LAN hinzu.

Unter der jeweiligen Umgebung die entsprechenden Netzlaufwerke mouten. Z.B auf dem Desktop.
Diese dann mit Drag & Drop nach Systemeinstellungen -> Anmeldeobjekte bewegen.

Fertig.

Was damit nicht geht ist die automatische Auswahl der verschiedenen Netzwerkumgebungen.
Das musst du dann am jeweiligen Ort händisch machen.

Der Nachteil, die Netzlaufwerke werden unter der jeweilig passenden Netzwerkumgebung gemoutet und öffnen ein Finder-Fenster.
Letzteres lässt sich natürlich mit einem Automator-Script verhindern. Dazu brauchst du dann aber bei jeder Umgebung ein eigenes Script.

Ob man den Automator so weit prgrammieren kann das er in der jeweiligen Umgebung auch die richtigen Laufwerke mountet kann ich dir nicht sagen, dafür hat mir bisher die Geduld und vor allem die Zeit gefehlt. Ich sage aber mal unmöglich ist es mit dem Automator nicht.
 
Sowas gab's hier schonmal, hier nochmals in aktualisierter Form (ungetestet):

Code:
[COLOR=#5E6161][FONT=Verdana]-- Enter your network information here: --
[/FONT][/COLOR][FONT=Verdana][B]set[/B] [COLOR=#4f8f00]homeNetwork[/COLOR] [B]to[/B] {[COLOR=#4f8f00]SSID[/COLOR]:"Zuhause", [COLOR=#4f8f00]networkProtocol[/COLOR]:"afp", [COLOR=#4f8f00]IPAddress[/COLOR]:"192.168.2.100", [COLOR=#4f8f00]volumeList[/COLOR]:{"Freigabe1", "Freigabe2"}}[/FONT]
[FONT=Verdana][B]set[/B] [COLOR=#4f8f00]workNetwork[/COLOR] [B]to[/B] {[COLOR=#4f8f00]SSID[/COLOR]:"Arbeit", [COLOR=#4f8f00]networkProtocol[/COLOR]:"smb", [COLOR=#4f8f00]IPAddress[/COLOR]:"192.168.2.100", [COLOR=#4f8f00]volumeList[/COLOR]:{"Freigabe1", "Freigabe2"}}[/FONT]
[COLOR=#5E6161][FONT=Verdana]------------------------------------------------[/FONT][/COLOR]
[FONT=Verdana]
[/FONT]
[COLOR=#5E6161][FONT=Verdana]-- get SSID:[/FONT][/COLOR]
[FONT=Verdana][B]set[/B] [COLOR=#4f8f00]currentSSID[/COLOR] [B]to[/B] [COLOR=#012fbe][B]do shell script[/B][/COLOR] "System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport --getinfo | grep -w 'SSID' | sed s/' *SSID: '//"[/FONT]
[FONT=Verdana]
[/FONT]
[COLOR=#5E6161][FONT=Verdana]-- set currentNetwork:[/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]if[/B] [/COLOR]currentSSID[COLOR=#000000] [B]is[/B] [/COLOR]homeNetwork's SSID[COLOR=#000000] [B]then[/B][/COLOR][/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000]    [B]set[/B] [/COLOR]currentNetwork[COLOR=#000000] [B]to[/B] [/COLOR]homeNetwork[/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]else[/B] [B]if[/B] [/COLOR]currentSSID[COLOR=#000000] [B]is[/B] [/COLOR]workNetwork's SSID[COLOR=#000000] [B]then[/B][/COLOR][/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000]    [B]set[/B] [/COLOR]currentNetwork[COLOR=#000000] [B]to[/B] [/COLOR]workNetwork[/FONT][/COLOR]
[FONT=Verdana][B]else[/B][/FONT]
[FONT=Verdana]    [B]return[/B][/FONT]
[FONT=Verdana][B]end[/B] [B]if[/B][/FONT]
[FONT=Verdana]
[/FONT]
[COLOR=#5E6161][FONT=Verdana]-- if Server is available, mount volumes[/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]if[/B] [B]my[/B] [/COLOR]checkServer[COLOR=#000000]([/COLOR]currentNetwork's IPAddress[COLOR=#000000]) [B]then[/B][/COLOR][/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000]    [B]repeat[/B] [B]with[/B] [/COLOR]vol[COLOR=#000000] [B]in[/B] [/COLOR]currentNetwork's volumeList[/FONT][/COLOR]
[COLOR=#5E6161][FONT=Verdana]-- check, if volume isn't already mounted[/FONT][/COLOR]
[FONT=Verdana]        [B]if[/B] [COLOR=#4f8f00]vol[/COLOR] [B]is not[/B] [B]in[/B] ([COLOR=#012fbe][B]list disks[/B][/COLOR]) [B]then[/B][/FONT]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#012fbe][B]mount volume [/B][/COLOR]currentNetwork's networkProtocol[COLOR=#000000] & "://" & [/COLOR]currentNetwork's IPAddress[COLOR=#000000] & "/" & [/COLOR]vol[/FONT][/COLOR]
[FONT=Verdana]        [B]end[/B] [B]if[/B][/FONT]
[FONT=Verdana]    [B]end[/B] [B]repeat[/B][/FONT]
[FONT=Verdana][B]else[/B][/FONT]
[COLOR=#0433FF][FONT=Verdana][B]activate[/B][/FONT][/COLOR]
[FONT=Verdana]    [COLOR=#012fbe][B]display dialog[/B][/COLOR] "Server \"" & [COLOR=#4f8f00]currentNetwork's[/COLOR] [COLOR=#4f8f00]IPAddress[/COLOR] & "\" isn't available at this moment!" [COLOR=#012fbe]with icon[/COLOR] [COLOR=#5730be][I]stop[/I][/COLOR] [COLOR=#012fbe]giving up after[/COLOR] 20[/FONT]
[FONT=Verdana][B]end[/B] [B]if[/B][/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana]
[/FONT]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]on[/B] [/COLOR]checkServer[COLOR=#000000]([/COLOR]ServerIP[COLOR=#000000])[/COLOR][/FONT][/COLOR]
[FONT=Verdana]    [B]try[/B][/FONT]
[FONT=Verdana]        [COLOR=#012fbe][B]do shell script[/B][/COLOR] "ping -t2 -c1 " & [COLOR=#4f8f00]ServerIP[/COLOR][/FONT]
[FONT=Verdana]        [B]return[/B] [COLOR=#812fdc][I]true[/I][/COLOR][/FONT]
[FONT=Verdana]    [B]on[/B] [B]error[/B][/FONT]
[FONT=Verdana]        [B]return[/B] [COLOR=#812fdc][I]false[/I][/COLOR][/FONT]
[FONT=Verdana]    [B]end[/B] [B]try[/B][/FONT]
[COLOR=#000000][FONT=Verdana][B]end[/B] [/FONT][/COLOR][COLOR=#4F8F00][FONT=Verdana]checkServer[/FONT][/COLOR]
 
  • Gefällt mir
Reaktionen: andi42 und Maneman
Vielen Dank für die Antworten!!! Super Sache!!! Ich werde mal beide versuchen :)
 
Jetzt hab ich noch eine Frage...

Kann ich zu der Abfrage auch noch ein Kabelnetzwerk hinzufügen?
 
Auch das geht:

Code:
[COLOR=#5E6161][FONT=Verdana]-- Enter your network information here: --
[/FONT][/COLOR][FONT=Verdana][B]set[/B] [COLOR=#4f8f00]homeNetwork[/COLOR] [B]to[/B] {[COLOR=#4f8f00]SSID[/COLOR]:"Zuhause", [COLOR=#4f8f00]networkProtocol[/COLOR]:"afp", [COLOR=#4f8f00]IPAddress[/COLOR]:"192.168.2.100", [COLOR=#4f8f00]volumeList[/COLOR]:{"Freigabe1", "Freigabe2"}}[/FONT]
[FONT=Verdana][B]set[/B] [COLOR=#4f8f00]workNetwork[/COLOR] [B]to[/B] {[COLOR=#4f8f00]SSID[/COLOR]:"Arbeit", [COLOR=#4f8f00]networkProtocol[/COLOR]:"smb", [COLOR=#4f8f00]IPAddress[/COLOR]:"192.168.2.100", [COLOR=#4f8f00]volumeList[/COLOR]:{"Freigabe1", "Freigabe2"}}[/FONT]
[FONT=Verdana][B]set[/B] [COLOR=#4f8f00]ethernet[/COLOR] [B]to[/B] {[COLOR=#4f8f00]SSID[/COLOR]:"", [COLOR=#4f8f00]networkProtocol[/COLOR]:"smb", [COLOR=#4f8f00]IPAddress[/COLOR]:"192.168.2.100", [COLOR=#4f8f00]volumeList[/COLOR]:{"Freigabe1", "Freigabe2"}}[/FONT]
[COLOR=#5E6161][FONT=Verdana]------------------------------------------------[/FONT][/COLOR]
[FONT=Verdana]
[/FONT]
[FONT=Verdana]
[/FONT]
[COLOR=#5E6161][FONT=Verdana]-- get SSID:[/FONT][/COLOR]
[FONT=Verdana][B]set[/B] [COLOR=#4f8f00]currentSSID[/COLOR] [B]to[/B] [COLOR=#012fbe][B]do shell script[/B][/COLOR] "System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport --getinfo | grep -w 'SSID' | sed s/' *SSID: '//"[/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana]
[/FONT]
[COLOR=#5E6161][FONT=Verdana]-- set currentNetwork:[/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]if[/B] [/COLOR]currentSSID[COLOR=#000000] [B]is[/B] [/COLOR]homeNetwork's SSID[COLOR=#000000] [B]then[/B][/COLOR][/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000]    [B]set[/B] [/COLOR]currentNetwork[COLOR=#000000] [B]to[/B] [/COLOR]homeNetwork[/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]else[/B] [B]if[/B] [/COLOR]currentSSID[COLOR=#000000] [B]is[/B] [/COLOR]workNetwork's SSID[COLOR=#000000] [B]then[/B][/COLOR][/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000]    [B]set[/B] [/COLOR]currentNetwork[COLOR=#000000] [B]to[/B] [/COLOR]workNetwork[/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]else[/B] [B]if[/B] [/COLOR]ethernetIsConnected[COLOR=#000000]() [B]then[/B][/COLOR][/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000]    [B]set[/B] [/COLOR]currentNetwork[COLOR=#000000] [B]to[/B] [/COLOR]ethernet[/FONT][/COLOR]
[FONT=Verdana][B]else[/B][/FONT]
[FONT=Verdana]    [B]return[/B][/FONT]
[FONT=Verdana][B]end[/B] [B]if[/B][/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana]
[/FONT]
[COLOR=#5E6161][FONT=Verdana]-- if Server is available, mount volumes[/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]if[/B] [B]my[/B] [/COLOR]checkServer[COLOR=#000000]([/COLOR]currentNetwork's IPAddress[COLOR=#000000]) [B]then[/B][/COLOR][/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000]    [B]repeat[/B] [B]with[/B] [/COLOR]vol[COLOR=#000000] [B]in[/B] [/COLOR]currentNetwork's volumeList[/FONT][/COLOR]
[COLOR=#5E6161][FONT=Verdana]-- check, if volume isn't already mounted[/FONT][/COLOR]
[FONT=Verdana]        [B]if[/B] [COLOR=#4f8f00]vol[/COLOR] [B]is not[/B] [B]in[/B] ([COLOR=#012fbe][B]list disks[/B][/COLOR]) [B]then[/B][/FONT]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#012fbe][B]mount volume [/B][/COLOR]currentNetwork's networkProtocol[COLOR=#000000] & "://" & [/COLOR]currentNetwork's IPAddress[COLOR=#000000] & "/" & [/COLOR]vol[/FONT][/COLOR]
[FONT=Verdana]        [B]end[/B] [B]if[/B][/FONT]
[FONT=Verdana]    [B]end[/B] [B]repeat[/B][/FONT]
[FONT=Verdana][B]else[/B][/FONT]
[COLOR=#0433FF][FONT=Verdana][B]activate[/B][/FONT][/COLOR]
[FONT=Verdana]    [COLOR=#012fbe][B]display dialog[/B][/COLOR] "Server \"" & [COLOR=#4f8f00]currentNetwork's[/COLOR] [COLOR=#4f8f00]IPAddress[/COLOR] & "\" isn't available at this moment!" [COLOR=#012fbe]with icon[/COLOR] [COLOR=#5730be][I]stop[/I][/COLOR] [COLOR=#012fbe]giving up after[/COLOR] 20[/FONT]
[FONT=Verdana][B]end[/B] [B]if[/B][/FONT]
[FONT=Verdana]
[/FONT]
[FONT=Verdana]
[/FONT]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]on[/B] [/COLOR]checkServer[COLOR=#000000]([/COLOR]ServerIP[COLOR=#000000])[/COLOR][/FONT][/COLOR]
[FONT=Verdana]    [B]try[/B][/FONT]
[FONT=Verdana]        [COLOR=#012fbe][B]do shell script[/B][/COLOR] "ping -t2 -c1 " & [COLOR=#4f8f00]ServerIP[/COLOR][/FONT]
[FONT=Verdana]        [B]return[/B] [COLOR=#812fdc][I]true[/I][/COLOR][/FONT]
[FONT=Verdana]    [B]on[/B] [B]error[/B][/FONT]
[FONT=Verdana]        [B]return[/B] [COLOR=#812fdc][I]false[/I][/COLOR][/FONT]
[FONT=Verdana]    [B]end[/B] [B]try[/B][/FONT]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]end[/B] [/COLOR]checkServer[/FONT][/COLOR]
[FONT=Verdana]
[/FONT]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]on[/B] [/COLOR]ethernetIsConnected[COLOR=#000000]()[/COLOR][/FONT][/COLOR]
[FONT=Verdana]    [B]if[/B] ([COLOR=#012fbe][B]do shell script[/B][/COLOR] "ifconfig en0 | grep -o 'status: [a-z]*'") [B]contains[/B] " active" [B]then[/B][/FONT]
[FONT=Verdana]        [B]return[/B] [COLOR=#812fdc][I]true[/I][/COLOR][/FONT]
[FONT=Verdana]    [B]else[/B][/FONT]
[FONT=Verdana]        [B]return[/B] [COLOR=#812fdc][I]false[/I][/COLOR][/FONT]
[FONT=Verdana]    [B]end[/B] [B]if[/B][/FONT]
[COLOR=#000000][FONT=Verdana][B]end[/B] [/FONT][/COLOR][COLOR=#4F8F00][FONT=Verdana]ethernetIsConnected[/FONT][/COLOR]
 
  • Gefällt mir
Reaktionen: Maneman
Funktioniert Einwandfrei... Vielen vielen Dank!!!
 
Zurück
Oben Unten