Jump to content
clive-guilde

apple script montage lecteur réseau

Recommended Posts

Salut à tous les informaticiens,

 

Je vous contacte car j'aurais besoin à nouveau de votre expertise. On vient de changer l'URL de mon lecteur de réseau et mon apple script ne fonctionne plus car le pathname contient le caractère % en début d'un nom de sous-dossier (bravo à l'informaticien pour cette grande décision !)

Voici mon script :

tell application "System Events"
	do shell script "mount_smbfs '//nom_du_domaine;user:paswword@adresse_du_domaine/folder1/folder2/%25folder3/folder4' /Users/mon_nom/dossier_cible"
	delay 2
end tell

C'est au niveau du sous-dossier folder3 qu'il y a le caractère % devant le nom et qui pose problème. J'ai essayé de le convertir en ASCII (si je me trompe pas) avec %25 mais cela ne fonctionne pas vraiment. J'arrive de temps en temps à accéder au folder3 mais jamais au folder4. J'ai l'erreur suivante :

error "Erreur dans System Events : sh: line 1:   896 Illegal instruction: 4  mount_smbfs '//nom_du_domaine;user:paswword@adresse_du_domaine/folder1/folder2/%25folder3/folder4' /Users/mon_nom/dossier_cible" number 132

Si un expert informatique (et je sais qu'ils sont nombreux et compétents sur ce forum) pouvait m’aider.

 

Merci pour m'avoir lu.

Share this post


Link to post
Share on other sites
Posted (edited)

Pour ne pas tout mélanger... Est-ce qu'en exécutant la commande "mount_..." directement dans le Terminal (sans passer par un Apple Script) il y a la même erreur ou pas ?

EDIT : sachant que "%25" est un code qui représente le caractère "%"  dans les URL, mais qu'ici ce n'est pas une URL, essaie avec "%folder3" au lieu de "%25folder3"

Edited by pehache

Share this post


Link to post
Share on other sites
Posted (edited)

@pehache
Merci pour ta reponse. je suis en télétravail aujourd'hui. J'essaye de séparer demain comme tu le proposes et ferais un retour. 

 

J'ai pu un peu progresser entre temps et c'est encore plus bizarre. En fait mon script que j'exécute dans Apple script marche bien à la première exécution. Je déconnecte le lecteur réseau puis je relance le script et c'est là j'ai l'erreur. Je redémarre mon ordinateur. Je relance le script et ça remarche mais seulement la première fois.

 

A ne plus rien n'y comprendre.

 

Edit : % seul ne fonctionne pas.

Edited by clive-guilde

Share this post


Link to post
Share on other sites
Posted (edited)

Bon j'ai essayé de l'exécuter dans le terminal mais ça ne marche pas comme dans apple script et je n'arrive à rien.

J'ai essayé %25 et % pour le folder3 mais sans aucun succès.

Je pense que je vais abandonner et aller manuellement 2 sous dossier plus bas (c'est à dire me connecté au folder2). Par contre lors de mes recherches j'ai pu améliorer mon script qui est maintenant beaucoup simple à mettre en œuvre car :

- il ne nécessite plus de dossier source en local sur l'ordinateur et il est donc transposable entre différents mac,

- inclus maintenant un test try pour ne plus bloquer l'ordinateur lorsqu'il ne trouve pas le dossier réseau (le finder peut planter sans le try s'il ne trouve pas le dossier réseau pour X raisons).

 

Voici le nouveau script si ça peut intéresser quelqu'un :

tell application "Finder"
	try
		mount volume "smb://URL_du_dossier_reseau" as user name "mon_login"
	end try
	delay 2
end tell

Comme la connexion ne change pas la recherche est toujours supporté (attention pour cela il faut au minimum macOS 10.13 de mémoire).

Le mot de passe est demandé à la première connexion mais il peut être stocké dans le trousseau et donc n'être demandé qu'une seule fois.

De plus contrairement à avant mon script ne comporte plus en clair le mot de passe donc c'est beaucoup mieux.?

Voici également le script pour déconnecter les lecteurs réseaux :

tell application "System Events"
	try
		do shell script "diskutil unmount /Volumes/nom_du_dossier_connecté"
	end try
	delay 2
end tell

 

Edited by clive-guilde
ajout du script de déconnexion

Share this post


Link to post
Share on other sites
Le 09/07/2020 à 16:13, clive-guilde a dit :

Bon j'ai essayé de l'exécuter dans le terminal mais ça ne marche pas comme dans apple script

??

Bon, la façon dont tu t'y prends maintenant parait plus propre de toutes façons (pour l'histoire du mot de passe).

Après, je ne sais pas quel est ton besoin exact, mais il me semble que l'automount serait LA bonne solution ici.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...