Heute geht es mal nicht um ein Ausbildungsthemen, sondern um ein Produktivitätsthema, dass die Arbeit mit Netzlaufwerken unter Mac OS X für mich erheblich vereinfacht hat. Seit ich Mac OS X 10.8. nutze ist mir ziemlich auf die Nerven gegangen, dass ich Netzlaufwerke nach der Initialisierung einer VPN Verbindung immer manuell einbinden musste. Im Finder kann man mit "cmd K" bzw. in der Menüleiste unter "Gehe zu" --> "Mit Server verbinden" die Netzlaufwerke einbinden.
Automatisierung des Verbindungsaufbau
Unter Mac OS X stehen mehrere Lösungsmöglichkeiten zur Automatisierung bereit. Eine erste automatische Lösung mit Automator funktionierte bei mir nicht richtig. Ich habe dann im Internet gesucht und bin auf ein Blog (http://blog.schmehr.de/2012/03/23/mac-os-x-vpn-verbindung-und-statische-route-mit-apple-script/) gestoßen, in dem eine funktionierende Lösung zum Verbinden via VPN steht. Der erste Teil ist somit abgeschlossen. Die Netzlaufwerke einbinden kann man mit "mount volume".
tell application "System Events"tell current location of network preferences# NAME_DER_VPN_VERBINDUNG finden Sie in den Netzwerkeinstellungenset VPNservice to service "NAME_DER_VPN_VERBINDUNG"if exists VPNservice then connect VPNservicerepeat until (connected of current configuration of VPNservice)delay 1end repeatend tellend tell# try, damit das Script nicht abstürzt, wenn die Share nicht online ist.try# Die Netzwerkshares (Windows Shares via SAMBA) werden nach folgendem Schema eingebunden# Wenn keine Domäne vorhanden einfach DOMAENE; weglassenmount volume "smb://DOMAENE;NUTZERNAME@SERVERNAME_ODER_IP/SHARE"mount volume "smb://DOMAENE;NUTZERNAME@SERVERNAME_ODER_IP/SHARE2"end try
Automatisierung des Verbindungsabbau
Der Verbindungsabbau sollte ebenfalls automatisiert werden. Dazu müssen natürlich die Netzlaufwerke zuerst ausgehangen werden. Dies geht am einfachsten, indem man den UNIX-Befehl "umount" verwendet. Die Befehle, die man auf der Kommandozeile starten kann, lassen sich mit do shell script in Applescript einbinden. Vorher sollten alle geöffneten Dateien der Shares geschlossen werden, sonst droht Datenverlust.
# try, damit das Script nicht abstürzt, wenn die Shares nicht gemountet sind.try#Aufrufen des UNIX-Befehls umount. Alle Windows-Shares des Servers werden ausgebunden.do shell script "umount -t smbfs -h SERVERNAME_ODER_IP;"delay 3end try#Prüfen ob VPN-Verbindung besteht und diese dann beendentell application "System Events"tell current location of network preferencesset VPNservice to the service "NAME_DER_VPN_VERBINDUNG"if VPNservice is not null thendisconnect VPNserviceend ifend tellend tell
Speicherung der Scripte
Die Scripte kann man per Export als App ablegen und dann starten. Ich nutze Butler (http://manytricks.com/butler/) um wiederkehrende Tätigkeiten zu strukturieren. Damit kann man den exportierten Scripten eine Tastenkombination zuweisen. Mit "ctrl-alt-c" startet der Rechner nun die VPN Verbindung und mountet die Laufwerke, mit "ctrl-alt-d" werden die Laufwerke ausgehangen und die VPN-Verbindung abgebaut.
Fazit
Im Prinzip eine sehr einfache Lösung, die prima für mich funktioniert. Damit keine Passwörter im Script stehen (man könnte auch mount volume "smb://DOMAENE;NUTZERNAME:PASSWORT@SERVERNAME_ODER_IP/SHARE" aufrufen) empfehle ich die VPN-Verbindung manuell zu starten und die Shares manuell zu verbinden und die Passwörter dann im Schlüsselbund zu speichern.