• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Netzwerkumgebung vorm Amelden switchen

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
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
 

stk

Grünapfel
Registriert
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
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
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
 

Soul Monkey

Gast
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
 

stk

Grünapfel
Registriert
05.01.04
Beiträge
7.141
Moin,

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?

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
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
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