Automatizar la ventana de inicio de sesión al arrancar Mac OS X

Maxx nos pregunta: «Hola: Gestiono varios Mac en un departamento I+D a través de Apple Remote Desktop y tengo varios problemas a la hora de arrancar algunos debido a que está seleccionado tras el arranque la gestión de usuarios. Es bastante molesto porque están dos pisos mas arriba así que tengo que subir, introducir el nombre de usuario y contraseña y luego volver a bajar para iniciar la gestión remota de estos ordenadores. ¿Alguna solución que me facilite la vida?: estoy hasta el gorro de estos paseos. Muchas gracias.

Es posible realizar esta tarea, aunque con ciertas «circunvalaciones», puesto que la ventana de inicio de sesión no es scriptable «per se» así que hay que emular la pulsación de teclas entre otras cosas.

Con Apple Remote Desktop puedes enviar a la máquina remota un script de la misma forma que se envía un comando de Terminal. Almacena en un documento el siguiente script que tendrás que enviar a la máquina (o máquinas, puedes hacerlo con varias máquinas a la vez si tienen la misma información – login y contraseña – de inicio):

#!bin/sh

cat >/tmp/Login_Automatically.sh <<-«EOF»

if [[ «$(who | grep console)» == «» ]]; then # Runs ONLY if no one is logged in

osascript <<EOT

set username_ to «nombre del usuario o usuarios»

set password_ to «su contraseña»

tell application «System Events»

key code 125 — Down Arrow

key code 125 — Down Arrow

delay 1

key code 125 — Down Arrow

key code 125 — Down Arrow

key code 125 — Down Arrow

key code 125 — Down Arrow

key code 125 — Down Arrow

key code 125 — Down Arrow

delay 0.5

key code 36 — Return

delay 1

tell process «SecurityAgent» to set value of text field 1 of group 1 of window 1 to username_

tell process «SecurityAgent» to set value of text field 2 of group 1 of window 1 to password_

click button «Log In» of window 1 of application process «SecurityAgent»

end tell

EOT

fi

EOF

chmod 755 /tmp/Login_Automatically.sh

./tmp/Login_Automatically.sh

rm -f /tmp/Login_Automatically.sh

El script funciona con Mac OS X 4104 Tiger en adelante y adicionalmente, para la gestión de máquinas remotas, es posible utilizarlo en ordenadores que cierran sesión de forma automática tras un tiempo de inactividad, tal como puede configurarse Mac OS X en las opciones de Seguridad en las Preferencias del Sistema.

One Comment

  1. juanfal

    Poner el siguiente programa en la ventana de enviar comando UNIX al equipo de AppleRemoteDesktop. Poner antes bien login/contraseña:

    ———–

    osascript << EndOfMyScript tell application "System Events" keystroke "administrador" keystroke tab delay 0.5 keystroke "passwd" delay 0.5 keystroke return end tell EndOfMyScript

    ---------

    - j

Deja una respuesta