12 votes

MacOS Sierra : AppleScript mount volume demande sans cesse une connexion

Pour plusieurs versions d'OS X que j'ai utilisées :

/usr/bin/osascript -e mount volume "smb://yourserver" as user name  "yourusername" with password “yourpassword”

Cela a bien fonctionné, un montage agréable et silencieux du partage réseau, s'il est disponible bien sûr.

Maintenant, récemment, j'ai installé MacOS Sierra (10.12 public beta, build 16A238m), et le script fonctionne toujours, mais il va maintenant soudainement toujours montrer un dialogue de connexion, pré-rempli avec les valeurs "yourusername" et "yourpassword". L'utilisateur devra toujours cliquer sur "Connect" pour monter le partage.

Quelqu'un sait-il s'il s'agit d'un "bug" dans la version bêta (j'ai signalé ce problème dans l'application Feedback d'Apple), ou est-ce attendu et/ou quel serait le "correctif" ?

Voir aussi : Documentation AppleScript "mount volume" (en anglais)

15voto

mnewt Points 351

Comme Apple a répondu au ticket référencé dans l'article de mattdwen Ouvrir le lien Radar ci-dessus, à partir de MacOS Sierra 10.12,

vous ne pouvez plus créer d'éléments dans /Volumes à moins que Root.

De plus, ma meilleure compréhension de l'AppleScript monter le volume est qu'elle n'a pas la possibilité de spécifier le point de montage et par conséquent elle uniquement monte les volumes sous /Volumes par le biais du mécanisme standard du Finder. Donc, je ne pense pas que vous puissiez le faire via AppleScript.

Mais il y a un autre moyen. Vous pouvez accomplir la même chose en utilisant le niveau inférieur mount commandement :

mkdir -p ~/mnt
mount_smbfs "//my_username:my_password@my_hostname/share" ~/mnt

Après avoir monté le volume de cette manière, vous devriez voir une icône normale de "volume" apparaître sur votre bureau et le symbole ~/mnt apparaîtra comme "share" lorsque vous parcourez votre répertoire utilisateur via le Finder.

La seule chose qui manque à cette approche est la sauvegarde des identifiants de connexion dans le trousseau. Pour ce faire, vous devez faire un peu plus de script. Quelque chose comme ceci.

Enregistrez le mot de passe :

security add-generic-password -a my_username -s my_hostname -w my_password

Récupérez le mot de passe et montez le partage :

pass=$(security find-generic-password -a my_username -s my_hostname -w)
mount_smbfs "//my_username:${pass}@my_hostname/share" ~/mnt

REMARQUE : Si votre mot de passe contient des caractères spéciaux, vous devrez probablement le coder en URL, par exemple de la manière suivante :

pass='my !@#%%^& password'
pass=$(php -r "echo urlencode(\"$pass\");")
>>> my+%21%40%23%25%25%5E%26+password

3voto

Jan Dubois Points 171

Ce problème a été corrigé par Apple dans MacOS Sierra 10.12.2 :

https://support.apple.com/en-us/HT207112

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X