Netzlauferke mit Applescript mounten

C

chris_crack77

Aktives Mitglied
Thread Starter
Dabei seit
20.11.2004
Beiträge
183
Reaktionspunkte
2
Hallo Leute

bin ein absoluter Neuling in Sachen Applescript; kenn mich leider mit Netzwerken auch nicht so gut aus :(

Haette aber zu gern nach dem Ruhezustand automatisch meine Netzlaufwerke wieder verbunden. Hab hier schon oefter gelesen, dass sich das mit nem Applescript hinbekomme. Um dies nach dem Ruhezustand moeglich zu machen, hab ich mir DisplayWatcher (http://www.brunchboy.com/displaywatcher.shtml) runtergeladen. DisplayWatcher kann nach dem aufwachen automatisch Programme ausfuehren. Da haette ich dann an ein Applescript zum mounten meiner Netzlaufwerke gedacht.

Leider weiss ich nicht viel von Netzwerken und vom Applescript schon gleich garnich. Ich find nur solche Hinweise wie diese, die auch nicht weiter erklaert sind:

in /System/Libary/StartupItems/Network/Network

in der funktion "Start"
/sbin/mount_smbfs -u localusername -g localgroup -U remoteusername
//remoteusername:remotepass@ip/freigabe /Volumes/mountpoint 2>&1

oder eben per afs (parameter fast gleich)


Was bedeutet das und wie kann ich konkret Laufwerke mounten (per Applescript), die auf meiner Dose mit der IP 192.198.0.102 sind?

Vielleicht weiss ja jemand was eleganteres...

cHRIS
 
zB so...

Hallo.
Hier mal ein Beispielscript, mit dem ich meine Volumes mounte:
Code:
try
	set t to do shell script "ping -c 1 192.168.0.1"
	if t contains "0% packet loss" then
		tell application "Finder"
			
			activate
			mount volume "smb://GRP01;gerrit:12345@192.168.0.1/Datenplatte"

		end tell
	end if
end try
Es wird erst überprüft, ob die IP erreichbar ist. Dafür ist das pingen zuständig.
Nur wenn das erfolgreich ist, wird eine Verbindung hergestellt.
Der Mount-Befehl an sich ist folgendermaßen aufgebaut:
Code:
mount volume "smb://ARBEITSGRUPPE;BENUTZER:PASSWORT@SERVER-IP/FREIGABENAME"

Du kannst den oberen Code kopieren und musst noch deine Werte anpassen.
Du schreibst dein Apple-Script mit dem Script-Editor und musst beim Speichern bei 'Dateiformat' "Programm" auswählen und alle Häkchen deaktivieren. Natürlich gibt es da verschiedenste Möglichkeiten. So hast du allerdings zB noch die Möglichkeit, das Script noch zu ändern, bzw. noch zu erweitern.

MfG der Gerrit
 
Danke :) das hilft mir schon mal viel mehr weiter - ich werd's gleich mal ausprobieren.

cHRIS
 
Es funtioniert! :D

Kannst du mir noch sagen, wie ich gleich mehrere Laufwerke mounten kann? Hab ausprobiert einfach nochmal die Zeile
mount volume "smb://GRP01;gerrit:12345@192.168.0.1/Datenplatte"
einzugeben - mit und ohne activate davor. Leider hat er mir immer nur die erste Platte gemountet. Was muss ich fuer weitere Platten machen?

cHRIS
 
Ok...hab das Problem gefunden. Er mountet die zweite Platte nicht, wenn die erste schon vor Scriptstart gemountet war. Spielt fuer mich aber keine Rolle, da ich eh immer beide Platten mounten will.

Leider kann ich komischerweise den Startdialog nicht ausschalten. Der Haken beim Speichern geht einfach nicht weg. Und dadurch kommt den immer so ein stressiges Startbild. Was kann ich dagegen machen?

cHRIS
 
Das könnte z.B. so aussehen:
Code:
on run
  tell application "Finder"
    activate
      try
        -- Netzlaufwerk auf dem Server verbinden
        mount volume "smb://Benutzer:Passwort@IP-Adresse-Server/Freigabename1"
        mount volume "smb://Benutzer:Passwort@IP-Adresse-Server/Freigabename2"
      on error
        --Die Verbindung konnte nicht hergestellt werden
      end try
    end tell
end run
 
chris_crack77 schrieb:
... Der Haken beim Speichern geht einfach nicht weg. ...
Klicke nicht auf das Kästchen bei "Startdialog", sondern auf den Text.
Dann geht's.
 

Anhänge

  • script.jpg
    script.jpg
    37,3 KB · Aufrufe: 1.168
Bei mir kommt kein Startbild.
Ich kann nachher noch mal schauen, wie du genau speichern musst.
Muss nu leider schnell weg.


MfG Gerrit
 
Ich würde jeden mount in eigenen try-Block setzen. Denn sonst würde er die weiter hinterliegenden Mounts nicht probieren, wenn einer der weiter vorne liegenden fehl schlägt, z. B. weil der jeweilige Server gerade nicht erreichbar ist.

@Kryptaesthesie
Das Ping kann man sich sparen. Denn durch den try-Block versucht er zu mounten und wenn es fehl schlägt es halt fehl.

Pingu
 
Danke euch allen. :)

Jetzt funzt alles! Wie HäckMäcn gesagt hat, ist der Startdialog auch verschwunden, nachdem ich direkt auf den Text geklickt hab - welch ein banaler Programmierfehler.

cHRIS
 
Zuletzt bearbeitet:
Danke euch allen. :)

Jetzt funzt alles! Wie HäckMäcn gesagt hat, ist der Startdialog auch verschwunden, nachdem ich direkt auf den Text geklickt hab - welch ein banaler Programmierfehler.

cHRIS
 
Zuletzt bearbeitet:
Zurück
Oben Unten