12 votos

MacOS Sierra: El volumen de montaje de AppleScript sigue pidiendo el inicio de sesión

Para varias versiones de OS X que he utilizado:

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

Esto ha funcionado muy bien, un montaje agradable y tranquilo de la red compartida, si está disponible, por supuesto.

Recientemente he instalado MacOS Sierra (10.12 beta pública, build 16A238m), y el script sigue funcionando, sin embargo, ahora de repente siempre mostrará un cuadro de diálogo de inicio de sesión, pre-populado con los valores "yourusername" y "yourpassword". El usuario todavía tendrá que hacer clic en "Conectar" para montar el recurso compartido.

¿Alguien sabe si se trata de un "error" de la versión beta (lo he reportado con la aplicación de comentarios de Apple), o es algo esperado y/o cuál sería la "solución" para ello?

Véase también: Documentación de AppleScript "montar volumen"

15voto

Unbelievable Me Puntos 26

Como Apple respondió al ticket referenciado en el artículo de mattdwen Abrir el enlace del radar a partir de MacOS Sierra 10.12,

ya no se pueden crear elementos en /Volúmenes a menos que sea Root.

Además, mi mejor entendimiento del AppleScript volumen de montaje es que no tiene una forma de especificar el punto de montaje y por lo tanto sólo monta volúmenes bajo /Volumes a través del mecanismo estándar del Finder. Por lo tanto, no creo que se pueda hacer a través de AppleScript.

Pero hay otra manera. Puede conseguir lo mismo utilizando el nivel inferior mount comando:

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

Después de montar el volumen de esta manera, debería ver aparecer un icono de "volumen" normal en su escritorio y el ~/mnt aparecerá como "compartido" cuando navegue por su directorio de usuario a través de Finder.

Lo único que falta en este enfoque es guardar las credenciales de inicio de sesión en el Llavero. Para hacer eso, tienes que hacer un poco más de scripting. Algo como esto.

Guarda la contraseña:

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

Recupera la contraseña y monta el recurso compartido:

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

NOTA: Si tiene caracteres especiales en su contraseña, probablemente tendrá que codificarla con la URL, tal vez de la siguiente manera:

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

3voto

Jan Dubois Puntos 11

Esto ha sido corregido por Apple en MacOS Sierra 10.12.2:

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X