1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Netzwerkumgebung vorm Amelden switchen

Dieses Thema im Forum "macOS & OS X" wurde erstellt von commander, 28.02.07.

  1. commander

    commander Baldwins roter Pepping

    Dabei seit:
    25.02.04
    Beiträge:
    3.210
    Moin,

    folgendes Szenarion:

    Ich habe einen Arbeitsaccount, mit dem ich zuhause unter VPN und völlig anderen Netzwerkeinstellungen arbeite als in der Arbeit. Ich würde gerne VOR dem Anmelden wahlweise festlegen, ob die Netzwerkumgebung 'VPN' oder 'Arbei' geladen wird. Nach dem anmelden laufen ansonsten einige Startobjekte ins Leere.

    Gibts da ne schöne Möglichkeit, die ich nicht kenne?

    Gruß,

    .commander
     
  2. stk

    stk Grünapfel

    Dabei seit:
    05.01.04
    Beiträge:
    7.141
    Moin,

    spontan würde mir das /Library/Scripts/UI Element Scripts/Set Network Location.applescript Beispielscript von Apple einfallen, das man über einen LogoutHook triggern könnte.

    Gruß Stefan
     
  3. commander

    commander Baldwins roter Pepping

    Dabei seit:
    25.02.04
    Beiträge:
    3.210
    Ok, wäre eine Möglichkeit, setzt aber voraus, dass ich beim Runterfahren immer weiß, wo ich den Rechner wieder hochfahren werde, oder sehe ich das falsch?

    Gruß,

    .commander
     
  4. Wenn man sich nicht immer abmeldet, bzw. Fast User Switching verwendet damit alle Anwendungen gestartet bleiben und somit der Wechsel der Network Location nicht unbedingt vor dem Anmelden sein muss, koennte man das ueber AppleScript machen.

    Ich verwende ein Script um zwischen 2 Network Locations zu wechseln und je nachdem welche Network Location gewaehlt wurde, wird die Systemlautstaerke geaendert, outgoing mail server,..., Growl Benachrichtigung.

    Ich rufe einfach das Skript auf, dieses prueft welche die aktuelle Network Location ist und wechselt dann einfach auf die andere und fuehrt danach die oben angefuehrten Aktionen aus. Dauert vielleicht 5 Sekunden.

    Zwar gaebe es auch Moeglichkeiten die wenn sie ein bestimmtes Netzwerk erkennen automatisch wechseln usw. aber das Skript aufrufen ueber Butler oder Quicksilver dauert ja auch nicht lange.

    Die Startobjekte koennte man in das Skript auch integrieren.

    Ich habe mal mein Skript etwas abgeaendert, verkuerzt und mit ein paar Kommentaren versehen wie das etwa aussehen koennte. Kann man sicherlich verbessern aber fuer mich funktioniert es gut. (Den Teil mit VPN habe ich jetzt nur so hineingeschrieben, verwende ich sonst nicht.)

    Code:
    --prueft welche die aktuelle netzwerk location ist
    set current_location to do shell script "scselect 2>&1 | grep '^ ' 2>&1 | grep '*' | cut -f 2 -d '(' | cut -f 1 -d ')'"
    
    --wenn aktuelle netzwerk location Arbeit dann folgende Befehle ausfuehren
    if current_location is equal to "Arbeit" then
    
    	--wechsel auf netzwerk location VPN
    	do shell script "scselect VPN"
    	
    	--VPN wird verbunden, username und passwort eintragen, keine ahnung wie die parameter genau sein sollen
    	do shell script "vpnclient connect <profile> [user <username>] [eraseuserpwd | pwd <password>]"
    	
    	--Lautstaerke 0
    	set volume 0
    	
    	--Aenderung des smtp mail servers
    	tell application "Mail"
    		set smtp server of account "Account" to smtp server "url"
    	end tell
    	
    	(*Benachrichtigung ueber Growl das die Netzwerk Location geaendert wurde
    	dazu http://growl.info/documentation/applescript-support.php lesen*)
    	tell application "GrowlHelperApp"
    		notify with name "Network Location Notification" title "Network Location" description "set to VPN" application name "Network Location" image from location "file:///Users/Markus/.network.png"
    	end tell
    	
    	--wenn aktuelle netzwerk location VPN dann folgende Befehle ausfuehren
    else if current_location is equal to "VPN" then
    
    	--wechsel auf netzwerk location Arbeit
    	do shell script "scselect Arbeit"
    	
    	--VPN wird getrennt
    	do shell script "vpnclient disconnect"
    	
    	--Lautstaerke 4
    	set volume 4
    	
    	--smtp mail Server wird wieder geaendert
    	tell application "Mail"
    		set smtp server of account "Account" to smtp server "url"
    	end tell
    	
    	(*Benachrichtigung ueber Growl das die Netzwerk Location geaendert wurde
    	dazu http://growl.info/documentation/applescript-support.php lesen*)
    	tell application "GrowlHelperApp"
    		notify with name "Network Location Notification" title "Network Location" description "set to Arbeit" application name "Network Location" image from location "file:///Users/Markus/.network.png"
    	end tell
    end if
     
  5. stk

    stk Grünapfel

    Dabei seit:
    05.01.04
    Beiträge:
    7.141
    Moin,

    Nicht wenn Du ein Dialogfeld dazubaust, in dem Du z.B. aus einer Liste von Netzwerkumgebungen die nächste gedachte auswählen kannst. Aber: ja, wo Du als nächstes landest solltest Du dann wissen - so hatte ich die Aufgabenstellung verstanden ;).

    Gruß Stefan
     
  6. commander

    commander Baldwins roter Pepping

    Dabei seit:
    25.02.04
    Beiträge:
    3.210
    Danke, Leute, ihr habt mir sehr geholfen.

    Ich werde mir das glaub ich wie SoulMoney zusammenscripten, Dialoge anzeigen kann man da ja auch und das Skript selbst in die Startobjekte und fertig ist die Laube.

    Das Dumme ist, dass ich nicht sicher weiß, ob ich Abends nochwas in dem Benutzer mache oder nicht, das ist sehr von der Laune abhängig - für privat hab ich sowieso einen anderen User.

    Gruß,

    .commander
     

Diese Seite empfehlen