Cómo crear y asignar scripts para Mac

Un script es esencialmente una secuencia de instrucciones (comandos) que el ordenador ejecuta, lo que lo convierte en una excelente herramienta para automatizar tareas repetitivas. Los scripts son altamente escalables y versátiles.

Debido a que los scripts pueden ser implementados en dispositivos de usuario a través de soluciones de gestión de dispositivos (como Applivery), son invaluables para los equipos de TI. Permiten realizar tareas complejas de manera rápida, precisa y sin esfuerzo:

  • Rápidamente: Al utilizar scripts junto con la gestión de dispositivos móviles, puedes automatizar procesos tediosos. Por ejemplo, puedes acceder a un programa de computadora en 100 dispositivos de la empresa con cero clics en lugar de hacerlo manualmente 100 veces.
  • Con precisión: Un script bien escrito ejecutará consistentemente la misma acción definida cada vez, reduciendo el riesgo de errores que podrían ocurrir si un administrador humano realizara la tarea manualmente, lo que puede llevar a inconsistencias y confusiones.
  • Fácilmente: Puedes lograr tareas complejas y detalladas dividiéndolas en scripts más pequeños y manejables, lo que simplifica el proceso general.

Paso 1 - Crea tu primer script #

Dirígete al panel de control de Applivery and y haz clic en Gestión de Dispositivos > Recursos(1), luego localiza la sección de Scripts (2) y haz clic en + Crear Script (3).

Crear script

Aparecerá un editor de código en la pantalla.

Dentro del editor, puedes crear un nuevo script o cargar uno existente desde tu dispositivo. Esta flexibilidad facilita la adaptación de los scripts a tus necesidades.

Para crear un nuevo script, utiliza las opciones de la interfaz y empieza a escribir.

Para cargar un script existente, haz clic en Cargar desde archivo (4) en el editor, elige tu archivo de script y estará listo para ser utilizado.

Por último, debes asignarle un Nombre (5) (y opcionalmente, una descripción), y hacer clic en Crear (6).

Script editor

Paso 2 - Asigna scripts a los dispositivos #

Ahora, dirígete a la sección de Dispositivos (1), selecciona el dispositivo al cual quieres asignar el script, localiza la pestaña de Scripts (2), y haz clic en el botón + Asignar Script (3).

Asignar script al dispositivo

Aparecerá una vista modal que te permitirá elegir un script de la sección de scripts o cargarlo desde tu dispositivo.

También tendrás la opción de seleccionar el método de ejecución y agregar los argumentos del script:

  • Once: El script se ejecutará una vez por dispositivo. Tendrás la opción de repetir la ejecución, incluso si ya se ha ejecutado.
  • Bucle: El script se ejecutará cíclicamente en el intervalo de tiempo elegido.
  • On-demand: El script nunca se ejecutará automáticamente y sólo se ofrecerá como elemento opcional desde Self-Service.

A continuación, puedes encontrar la lista completa de interpolaciones de etiquetas de bigote para los argumentos del script. Ten en cuenta que cada argumento debe estar separado por comillas dobles (””):

  • {{device.id}}
  • {{device.displayName}}
  • {{device.serialNumber}}
  • {{device.osVersion}}
  • {{device.chip}}
  • {{device.isAppleSilicon}}
  • {{device.hostName}}
  • {{user.id}}
  • {{user.email}}
  • {{user.name}}
Formulario de asignación de script

Al hacer clic en el botón de Historial de ejecución (4), podrás ver el historial de ejecución de todos tus scripts.

También puedes acceder al historial de ejecución de un script específico haciendo clic en el propio script (5) o en los tres puntos verticales al final del script. Al hacer clic en estos puntos (6), también se mostrarán acciones adicionales:

  • Editar: Editar el script.
  • Desasignar: Desasignar el script del dispositivo.
  • Ver: Ver el script original en la sección de activos.
  • Para los scripts con el método de ejecución Once, también verás la acción Repetir ejecución, que te permitirá repetir la ejecución si ha fallado.
Menu de acción de scripts

¡Hazlo tú mismo! #

Primero, crea un script simple e incluye los argumentos en el campo de descripción. Esto te ayudará a recordar los argumentos y asegurarte de no olvidarlos.

diy-scripts-1

Luego, necesitas agregar el script a una política si deseas que se aplique a todos tus dispositivos, o puedes asignarlo a un dispositivo específico.

Una vez que hayas agregado el script seleccionando el método de ejecución y definiendo los argumentos (¡no olvides las comillas dobles!), puedes ejecutar tu script y verificar su registro de salida en el historial de ejecución.

diy-scripts-2

Ejemplos de scripts #

En lugar de escribir scripts desde cero, puedes localizar un script que realice una función similar a lo que necesitas y luego personalizarlo para tus requisitos específicos. Este enfoque es comúnmente utilizado por scripters experimentados. Al encontrar scripts confiables de fuentes de confianza o reutilizar aquellos que has creado anteriormente y modificarlos para tus necesidades actuales, puedes ahorrar tiempo y obtener una mejor comprensión de cómo operan los scripts.

Por ejemplo, aquí hay algunos scripts que podrías modificar para tareas comunes de TI en macOS:

Bajar los permisos de usuario a nivel estándar #

				
					#!/bin/bash

# Retrieve the username of the currently logged-in user
loggedInUser=$(/usr/sbin/scutil <<< "show State:/Users/ConsoleUser" | awk '/Name :/ && ! /loginwindow/ {print $3}')

# Execute the dseditgroup command to revoke the user's admin privileges
/usr/sbin/dseditgroup -o edit -d "$loggedInUser" -t user admin
				
			

Localizar la categoría de la App Store #

				
					#!/bin/bash

# Iterate through each application in the Applications directory to identify its App Store category
# If the category is "null," the app was not obtained from the App Store

for app in /Applications/*.app; do
   AppCategory=$(/usr/bin/mdls -name kMDItemAppStoreCategory "$app" | awk '{print $3}' | tr -d '"')
   /bin/echo $(/usr/bin/basename $app) has a category of: "$AppCategory" 
done
				
			

Cerrar una aplicación específica #

				
					#!/bin/bash

# Execute killall to close the specific app
/usr/bin/killall "App Store"
				
			

Reiniciar el Mac si ha pasado más de una semana desde el último reinicio #

				
					#!/bin/bash

# Capture the current timestamp in seconds
currentDate=$(/bin/date +%s)

# Retrieve the system's last boot timestamp
bootDate=$(/usr/sbin/sysctl -n kern.boottime | /usr/bin/awk -F'[ ,]' '{print $4}')

# Define the number of seconds in a seven-day period
week=604800

#echo $currentDate
#echo $bootDate
#echo $week

# Calculate the system's uptime by finding the difference between the current timestamp and the boot timestamp
uptime=$(( currentDate - bootDate ))

#echo $uptime

# If the system has been running for a week or more, initiate a reboot with a 60-second delay
if [ $uptime -ge $week ]; then
   
#echo "You have been booted for longer than a week"
   sudo shutdown -r now --delaySeconds 60
fi
				
			
Updated on octubre 10, 2024
¿Te ha sido útil este artículo?

En esta página

— Habla con un experto —

Hablar con un experto

[Contact us] [EN] MDM & MAD
How many devices do you want to manage with Applivery?
Which operating systems do you want to manage?