Forenindex » Programmierung/Entwicklung » AppleScript » Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Mr. Zwiebelfisch
Beiträge gesamt: 453

15. Jan 2021, 22:02
Bewertung:

gelesen: 19009

Beitrag als Lesezeichen
Hallo liebes Forum :-)

Ich habe ein kleines Automator Programm, das via Anmeldeobjekte verschiedene Volumen mountet.

Wenn ich jetzt bspw. im Homeoffice bin und noch keine VPN Verbindung besteht, bekomme ich die Fehlermeldung, dass die Laufwerke nicht gemutet werden können. Klar! ;-)

Kann ich diese Fehlermeldung per Abfrage irgendwie unterdrücken?

Viele Grüße und vielen Dank für eure Hilfe!

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Hans Haesler
  
Beiträge gesamt: 5826

15. Jan 2021, 22:27
Bewertung:

gelesen: 18989

Beitrag als Lesezeichen
Guten Abend Mr. Zwiebelfisch,

welcome back im AppleScript-Forum! :-)

Vielleicht wird es reichen, den Befehl zum Mounten mit einem try-Wickel zu umgeben:

Code
try 
# hier versuchen, die Laufwerke zu mounten
end try

Oder hilft das bei dieser Aufgabe nicht?

Gute Nacht, Hans

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Mr. Zwiebelfisch
Beiträge gesamt: 453

17. Jan 2021, 15:19
Bewertung:

gelesen: 18856

Beitrag als Lesezeichen
Hallo Hans,

vielen Dank für dein Antwort.

Leider geht das nicht. Vielleicht mache ich es aber auch falsch!?

Mein Script sieht so aus:

Code
tell application "Finder" 
try
mount volume "smb://volume1" as user name "Zwiebelfisch"
mount volume "smb://volume2" as user name "Zwiebelfisch"
end try
end tell


Ich habe folgendes im Netz gefunden, aber ich verstehe es nicht richtig ;-)
Lt. der Beschreibung soll der Server erst angepinged werden...

Code
-- (0) Check to see if there server exists by pinging it 
set max_retry to 60
set k to 0
repeat while (do shell script "ping -c 1 some_server") contains "100% packet loss"
delay 5
set k to k + 1
if k > max_retry then error "Server is not responding for predefined period." number 8000
end repeat

-- (1) It exists, mount the volume
tell application "Finder"
try
mount volume "smb://USERNAME:PASSWORD@some_server/SHARENAME"
delay 1
end try
end tell

___________________________________________________
Mac OS X 10.7.3 • Prozessor 2x3 GHz Quad-Core Intel Xeon

(Dieser Beitrag wurde von Mr. Zwiebelfisch am 17. Jan 2021, 15:23 geändert)

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Hans Haesler
  
Beiträge gesamt: 5826

17. Jan 2021, 16:18
Bewertung:

gelesen: 18837

Beitrag als Lesezeichen
Hallo Mr. Zwiebelfisch,

bitte sehr.

Nun, zum Mounten braucht es den Finder nicht. Doch dieser "Umweg" sollte sich nicht störend auswirken.

Ist ein Passwort notwendig? Dann würde dies so aussehen:

Code
try 
mount volume "smb://volume1" as user name "Zwiebelfisch" with password "xyz"
mount volume "smb://volume2" as user name "Zwiebelfisch" with password "xyz"
end try


*****
In der Ping-Zeile muss 'some_server' durch den Namen Deines Servers ersetzt werden.

Gruss, Hans

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Thomas Richard
Beiträge gesamt: 19339

20. Jan 2021, 15:25
Bewertung:

gelesen: 18510

Beitrag als Lesezeichen
Schön wäre jetzt noch, wenn Username und Passwort nicht im Klartext im Script ständen, sondern aus dem Schlüsselbund geholt würden.


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Mr. Zwiebelfisch
Beiträge gesamt: 453

22. Jan 2021, 21:31
Bewertung:

gelesen: 18298

Beitrag als Lesezeichen
Hallo,

sorry für die verzögerte Reaktion von mir. Jetzt habe ich endlich wieder etwas Luft mich damit zu beschäftigen :-)

Das Passwort wird tatsächlich aus de Schlüsselbund geholt. Das ist in der Tat schöner :-)

Aber egal was ich auch versuche, eine gescheite Abfrage gelingt mir nicht. Auchnicht mit all den Varianten weiter oben. Ich bekomme weiterhin die Fehlermeldung.
___________________________________________________
Mac OS X 10.7.3 • Prozessor 2x3 GHz Quad-Core Intel Xeon

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Hans Haesler
  
Beiträge gesamt: 5826

23. Jan 2021, 07:50
Bewertung:

gelesen: 18229

Beitrag als Lesezeichen
Guten Morgen Mr. Zwiebelfisch,

eine einfache Lösung wäre: Das Script prüft zu Beginn, ob das Volume gemountet ist.
Falls nicht, wird versucht, es zu mounten:

Code
# prüfen, ob das Voulume gemountet ist ... 
tell application "Finder" to set vol1_isMounted to (exists disk "smb://volume1")
# ... falls nicht, versuchen das Mounten vorzunehmen
if vol1_isMounted is false then
try
mount volume "smb://volume1" as user name "Zwiebelfisch" with password "xyz"
on error
display dialog "\"volume1\" kann nicht gemountet werden." buttons "OK" default button 1 with icon 2
error number -128
end try
end if

Ist doch einen Versuch wert.

Gruss, Hans