1 votos

Necesito ayuda para configurar un script para cambiar la fecha y la hora Mac OS Catalina

esperando que alguien pueda ayudar con esto. Estoy intentando escribir un terminal automator script en Mac OS Catalina que desactive el WiFi, desactive la configuración automática de la fecha y la hora y configure mi mac con una fecha y hora específicas del sistema. Realmente no tengo experiencia en programación pero lo que tengo hasta ahora funciona para apagar el wifi y cambiar la fecha y hora del sistema...pero el scriptno sale en automator...sigue girando. No estoy seguro de cómo conseguir que el comando Sudo -S salga una vez que se establece la fecha y la hora del sistema. Esto es lo que tengo hasta ahora:

networksetup -setairportpower en0 off

echo "password" | sudo -S date 0101000120

Así que esto va a apagar el wifi, y pasará mi contraseña (también puede hacerlo a través de un diálogo, pero eso no es mi problema) y establecerá la fecha del sistema ... a continuación, la rueda automator sólo spins....

  1. Alguna idea de cómo conseguir que el terminal script salga y pase al siguiente comando...o simplemente lo ejecuto y luego salgo del script mientras gira, lo cual no es ideal pero también funciona
  2. ¿comando para activar y desactivar la actualización automática de la fecha y hora del sistema mac?

Muchas gracias por leer y agradezco enormemente cualquier ayuda.

EDIT: Actualmente reescribí la tarea de automator para ejecutar el comando de terminal, pedir una contraseña y luego pasarla:

networksetup -setairportpower en0 off pw="$(osascript -e 'Tell application "System Events" to display dialog "Password:" default answer "" with hidden answer' -e 'text returned of result' 2>/dev/null)" && / echo "$pw" | sudo -S date 0101000120

Sigue girando la rueda en un bucle infinito al final, pero puedo hacer clic y forzar la parada. Cualquiera que sepa una forma de conseguir que se detenga lo agradecerá.

0 votos

echo envía la salida a la consola. Se espera una solicitud de contraseña entrada . El comando que buscas es expect . Sin embargo, apagar el WiFi y cambiar la hora del sistema es un flujo de trabajo bastante extraño. ¿Qué estás tratando de lograr?

0 votos

Ejecuto un programa heredado de una empresa ya desaparecida que configura equipos antiguos pero muy fiables donde trabajo (por desgracia, no hay actualizaciones de software para un programa de Windows de 1998). No se ejecuta si la fecha del sistema en parallels es más allá de una fecha determinada. ¡Es un dolor para ir manualmente a través de la mac y cambiar todas estas cosas manualmente por lo que tratar de automatizarlo ... sobre todo por lo que no tiene que ser el único capaz de arrancar esto!

0 votos

el prompt echo está enviando mi contraseña a la terminal y la acepta...el siguiente comando sudo -s se ejecuta pero luego AppleScript sólo da vueltas...probé con 'expect' en lugar de 'echo' pero ahora pide "expected input again" que echo parece estar proporcionando. Todo lo que he escrito funciona bien, sólo que no termina o sale más allá de la fecha...¿hace eso echo?

1voto

user102836 Puntos 1

Pude conseguir que esto funcionara pasando la contraseña a sudo desde un archivo en lugar de usar echo:

sudo -S date 0101000120 < ~/passwd.txt

No estoy seguro de qué implicaciones de seguridad tiene esto, pero me parece mal...

Si buscas una solución rápida y sucia entonces esto lo hará, sin embargo como por el comentario de nohillside, aquí hay algunas instrucciones para ejecutar comandos sudo sin requerir una contraseña . Estas sugerencias me funcionan en Mojave en iTerm2 y terminal.

1 votos

Tiene más o menos las mismas implicaciones que la versión de la pregunta: cualquiera que tenga acceso a passwd.txt (o al archivo de Automator para el enfoque adoptado en la pregunta) puede iniciar la sesión como Administrador después. Podría ser mejor utilizar visudo para editar el archivo sudoers y permitir el acceso sudo sin contraseña al date para el usuario específico.

0 votos

Bien, gracias. No me siento cómodo tampoco teniendo el PW en un archivo como ese, y cuando lo intenté también funciona pero automator solo hace girar la rueda en un bucle infinito. Así que he modificado para que pida la contraseña y luego pase esto al comando Sudo -S ... entonces sólo tendrá que hacer clic en el botón "salir" para que automator deje de girar. Aún así es más rápido que ir a las preferencias y cambiar todo esto.

0 votos

networksetup -setairportpower en0 off pw="$(osascript -e 'Tell application "System Events" to display dialog "Password:" default answer "password" with hidden answer' -e 'text returned of result' 2>/dev/null)" && / echo "$pw" | sudo -S date 0101000120

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