Guía de scripts: automatiza la recuperación de la fecha de instalación de macOS para una gestión eficaz de los activos de TI

Principales conclusiones

  • El script obtiene y almacena opcionalmente la fecha de instalación de macOS, crucial para la gestión de activos informáticos.
  • Se dirige específicamente a los sistemas Mac, utilizando el comando stat para determinar la primera fecha de ejecución del sistema.
  • La integración con NinjaOne RMM permite la gestión centralizada y el almacenamiento de la fecha de instalación en un campo personalizado.
  • Automatizar la recuperación de los datos de instalación agiliza la gestión de activos y el cumplimiento de las normas de seguridad.
  • Esta herramienta es especialmente útil para planificar actualizaciones de hardware y mantener las normas de seguridad en sistemas antiguos.
  • El script ofrece una alternativa más eficaz que la comprobación manual o el uso de herramientas de gestión de sistemas dispares.
  • El uso regular del script mejora la gestión del inventario y las auditorías del estado del sistema.
  • Una configuración adecuada con herramientas como NinjaOne RMM es esencial para la eficacia del script.
  • En general, el script, junto con NinjaOne, mejora la gestión y la seguridad de los entornos macOS.

Introducción

Conocer la fecha de instalación de un Mac es un dato fundamental para los profesionales de TI y los proveedores de servicios gestionados (MSP). Estos conocimientos ayudan a hacer un seguimiento de la antigüedad del sistema, gestionar las actualizaciones y garantizar el cumplimiento de las normas de seguridad. Un script de Bash como el que comentamos hoy agiliza este proceso, ofreciendo una solución práctica para quienes se dedican a la gestión de TI.

Contexto

En el dinámico mundo de las TI, mantener un inventario de las fechas de instalación de los sistemas es primordial. Este script, diseñado para macOS, obtiene la fecha de instalación de un sistema y, opcionalmente, la almacena en un campo personalizado. Para los profesionales de TI y los MSP, disponer de una herramienta de este tipo tiene un valor incalculable para la gestión de activos y la programación del mantenimiento.

El script

#!/usr/bin/env bash
# Description: Fetches the install date and can store it in a custom field.
#
# Release Notes: Initial Release
# By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/terms-of-use.
# Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. 
# Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. 
# Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. 
# Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. 
# Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. 
# Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. 
# EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).
#
# Usage: [Custom Field]
# <> are required
# [] are optional
#
# Example: installdate
#  Saves the install date to the customfield named installdate
#



function GetInstallDate() {
    stat -f "%SB" /var/db/.AppleSetupDone
}

function SetCustomField() {
    /Applications/NinjaRMMAgent/programdata/ninjarmm-cli "$@"
}

# When run directly without testing, the "__()" function does nothing.
test || __() { :; }

__ begin __

# Parameters
CustomField=${installDateCF:=$1}

InstallDate=$(GetInstallDate)

echo "${InstallDate}"

if [[ -n "${CustomField}" ]]; then
    SetCustomField set $CustomField $InstallDate
fi

__ end __

 

Accede a más de 300 scripts en el Dojo de NinjaOne

Obtén acceso

Análisis detallado

El script funciona en varios pasos:

  • Función GetInstallDate: utiliza stat -f «%SB» /var/db/.AppleSetupDone para obtener la fecha de instalación del Mac. Este comando recupera la fecha en que se completó la configuración, que es esencialmente la primera ejecución del sistema.
  • Función SetCustomField: llama a /Applications/NinjaOne RMMAgent/programdata/NinjaOne RMM-cli con los argumentos pasados. Esto es probablemente un comando personalizado asociado con NinjaOne RMM, una herramienta de monitorización y gestión remota, para establecer un valor de campo personalizado.
  • Condición de prueba: test || __() { :; } es un marcador de posición para la prueba. En la ejecución real, esto no hace nada, eludiendo efectivamente este bloque.
  • Flujo de ejecución: a continuación, el script inicializa los parámetros, recupera la fecha de instalación mediante GetInstallDate y la imprime. Si se proporciona un nombre de campo personalizado como argumento, almacena la fecha en este campo utilizando SetCustomField.

Posibles casos de uso

Pensemos en el director de TI de una empresa mediana. Utiliza este script para comprobar y registrar periódicamente las fechas de instalación de todos los Mac de la organización. Estos datos ayudan a planificar las actualizaciones de hardware y a garantizar que los sistemas más antiguos sigan cumpliendo las normas de seguridad más recientes.

Comparaciones

Las alternativas incluyen comprobar manualmente la fecha de instalación o utilizar otras herramientas de gestión del sistema. Sin embargo, este script automatiza el proceso y se integra con NinjaOne RMM para una gestión centralizada, ofreciendo un enfoque más racionalizado.

FAQ

  • ¿Es exacta la fecha de instalación?
    • Es la fecha en la que se completó la configuración inicial de macOS, generalmente exacta a menos que se hayan modificado los archivos del sistema.
  • ¿Puede ejecutarse este script en sistemas que no sean Mac?
    • No, está diseñado específicamente para macOS.
  • ¿Es necesario NinjaOne RMM para este script?
    • NinjaOne RMM solo es necesario si quieres almacenar la fecha en un campo personalizado utilizando este script específico.

Implicaciones

Conocer la fecha de instalación es crucial para mantener la integridad y seguridad del sistema. Los sistemas más antiguos pueden ser más vulnerables, y este script ayuda a identificarlos para realizar las actualizaciones o sustituciones necesarias.

Recomendaciones

  • Ejecuta periódicamente el script para mantener actualizado el inventario.
  • Integra el script con auditorías periódicas del sistema para tener una visión holística del estado del sistema.
  • Asegúrate de que NinjaOne RMM o herramientas similares están configuradas correctamente para recibir y almacenar los datos.

Reflexiones finales

La incorporación de este script a las capacidades más amplias de NinjaOne puede mejorar significativamente la eficiencia de la gestión de TI. Las sólidas herramientas de NinjaOne, combinadas con estos scripts personalizados, crean un potente ecosistema para gestionar la infraestructura de TI, especialmente en entornos con un número significativo de sistemas macOS. La capacidad de determinar con rapidez y precisión las fechas de instalación es solo una pieza del rompecabezas para garantizar un rendimiento y una seguridad óptimos del sistema.

Próximos pasos

La creación de un equipo de TI próspero y eficaz requiere contar con una solución centralizada que se convierta en tu principal herramienta de prestación de servicios. NinjaOne permite a los equipos de TI supervisar, gestionar, proteger y dar soporte a todos sus dispositivos, estén donde estén, sin necesidad de complejas infraestructuras locales.

Obtén más información sobre NinjaOne Remote Script Deployment, echa un vistazo a un tour en vivo, o comienza tu prueba gratuita de la plataforma NinjaOne.

Categorías:

Quizá también te interese…