Favicon

You are here: Home > Gestión de Dispositivos > Apple > macOS > Scripts > Sincronizar nombre del dispositivo

Cómo sincronizar el nombre del ordenador

Script macOS que lee el ComputerName local y actualiza el nombre de visualización del dispositivo en el panel de Applivery mediante la API, manteniendo sincronizados todos los nombres de dispositivos.

5 min read

TL;DR

Automatiza tareas repetitivas en dispositivos gestionados usando scripts en Applivery para una gestión de dispositivos eficiente.

Cada Mac tiene un nombre de ordenador local — el que el usuario estableció durante la configuración inicial, o que cambió más tarde por algo personal como "MacBook de Juan". En el panel de Applivery, sin embargo, los dispositivos suelen mostrar el nombre genérico asignado en el momento de la inscripción. A escala, esto hace que identificar máquinas específicas por nombre sea casi imposible: acabas con una lista de entradas MacBook-Pro-7 sin forma fácil de saber a quién pertenece cada una.

Este script cierra esa brecha. Lee el ComputerName local de cada Mac y lo actualiza en el panel de Applivery mediante la API, manteniendo ambos sincronizados. Ejecútalo periódicamente y podrás identificar siempre cualquier dispositivo de un vistazo.

Warning

El agente de Applivery para macOS debe estar instalado y activo en el dispositivo. Obtén más información sobre el agente macOS.

Requisitos

Requisito Detalle
Plataforma macOS
Privilegios de ejecución Root (predeterminado en Applivery)
Acceso a internet El dispositivo debe poder acceder a api.applivery.io
Token Bearer Un token válido de una cuenta de servicio con rol de Editor o superior
ID de organización El slug/ID de tu organización de Applivery

Antes de empezar — Obtén tu token Bearer y tu ID de organización

ID de organización — Tu ID de organización es el slug visible en la URL del panel de Applivery (por ejemplo, mi-empresa).

Token Bearer (mediante cuenta de servicio) — Applivery usa cuentas de servicio para representar usuarios no humanos que pueden acceder a la API de administración de Applivery. Cada cuenta de servicio tiene un token Bearer asociado que se usa como cabecera Authorization en las llamadas a la API.


Configuración

1
Crear el script

Una vez en el panel de Applivery, sigue los pasos descritos aquí para crear un script. Pega el siguiente script en el editor, reemplazando los valores de marcador de posición que se muestran en la tabla a continuación.

Variable Descripción Ejemplo
ID_ORG Tu slug/ID de organización de Applivery mi-empresa
API_TOKEN Token Bearer de una cuenta de servicio con rol de Editor o superior wfkj2Gi...

Selecciona Bash como lenguaje, dale un nombre descriptivo (por ejemplo, Sincronizar nombre del dispositivo) y haz clic en Crear.

#!/bin/bash

# ---
# Title: Sync Device Name with Applivery API
# Description: Automatically updates the Device Display Name in Applivery Dashboard to match the local macOS ComputerName.
# Author: Applivery
# Version: 1.0.0
# ---

# ==========================================
# CONFIGURATION
# ==========================================
ID_ORG="your-org-id"
API_TOKEN="your-api-token"
BASE_URL="https://api.applivery.io/v1/organizations/$ID_ORG/mdm/apple/enterprise/devices"

# ==========================================
# 1. LOCAL DATA GATHERING
# ==========================================
SERIAL_NUMBER=$(system_profiler SPHardwareDataType | grep "Serial Number" | awk '{print $4}')
NEW_DEVICE_NAME=$(scutil --get ComputerName)

if [ -z "$NEW_DEVICE_NAME" ]; then
  echo "Error: Local ComputerName is empty. Please set a hostname on the Mac."
  exit 1
fi

echo "Syncing Device Name for Serial: $SERIAL_NUMBER"
echo "Target Name: $NEW_DEVICE_NAME"

# ==========================================
# 2. API INTERACTION
# ==========================================

# GET Device Info to find the internal Device ID
response=$(curl -s -X GET "$BASE_URL/$SERIAL_NUMBER" \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json")

if echo "$response" | grep -q '"admDevice"'; then
  DEVICE_ID=$(echo "$response" | grep -o '"admDevice":"[^"]*"' | sed 's/"admDevice":"\([^"]*\)"/\1/')

  if [ -n "$DEVICE_ID" ]; then
    echo "Found internal DeviceID: $DEVICE_ID"

    update_response=$(curl -s -X PUT "$BASE_URL/$DEVICE_ID" \
      -H "Authorization: Bearer $API_TOKEN" \
      -H "Content-Type: application/json" \
      -d "{\"displayName\": \"$NEW_DEVICE_NAME\"}")

    if echo "$update_response" | grep -q '"status":200' || echo "$update_response" | grep -q '"displayName"'; then
      echo "SUCCESS: Display name updated to: $NEW_DEVICE_NAME"
    else
      echo "FAILURE: Error updating name: $update_response"
    fi
  else
    echo "ERROR: Could not find DeviceID for Serial Number $SERIAL_NUMBER"
  fi
else
  echo "ERROR: Could not fetch device info from API. Check Token and Org ID."
  echo "Response: $response"
fi

exit 0
2
Asignar el script a un dispositivo

Ahora, navega a cualquiera de tus Dispositivos, selecciona la pestaña Scripts, haz clic en el botón + Asignar Script y selecciona el que acabas de crear.

Note

También puedes asignar scripts a Políticas. Para ello, navega a la sección Políticas, selecciona la política deseada y haz clic en la pestaña Scripts. El proceso será el mismo que al asignarlo directamente a un dispositivo individual.

3
Elegir el método de ejecución
Método Comportamiento ¿Recomendado?
Once Se ejecuta una vez por dispositivo. ✅ Útil para establecer el nombre de visualización desde el primer día de inscripción.
Loop Se ejecuta repetidamente en el intervalo configurado (15m, 1h, 6h, 1d, 7d). ✅ Recomendado para sincronización continua — mantiene el panel actualizado a medida que los usuarios renombran sus equipos.
On demand Solo se ejecuta cuando se activa manualmente. ✅ Útil para una actualización puntual activada por TI.

La configuración recomendada es usar Loop con un intervalo semanal (7d) para mantener el panel sincronizado sin generar tráfico API innecesario, combinado con Once durante la inscripción para establecer el nombre desde el primer día.

Este script no requiere ningún argumento. El nombre del dispositivo y el número de serie se obtienen automáticamente del sistema local. Haz clic en Añadir para guardar la asignación.


Disponible en GitHub

Este script es parte del Repositorio público de scripts de Applivery. El código fuente completo está disponible allí para revisión, adaptación y contribución.

Key Takeaways

  • Los scripts automatizan tareas repetitivas en dispositivos gestionados.
  • Applivery permite crear, subir y asignar scripts.
  • Hay varios métodos de ejecución disponibles (Once, Loop, On-demand).
  • Un repositorio público de scripts ofrece scripts listos para usar.

Este script sincroniza el nombre del ordenador macOS local con el nombre de visualización del dispositivo en el panel de Applivery mediante la API.

La sincronización te permite identificar fácilmente Macs específicos en el panel de Applivery por su nombre definido por el usuario en lugar de nombres genéricos como "MacBook-Pro-7".

El script requiere macOS, privilegios de root, acceso a internet a api.applivery.io, un token Bearer válido de Applivery y tu ID de organización de Applivery.

Tu ID de organización es el slug visible en la URL del panel de Applivery (por ejemplo, `mi-empresa`).

Debes crear una cuenta de servicio en Applivery y generar un token Bearer con rol de Editor o superior.

Reemplaza los valores de marcador de posición `ID_ORG` y `API_TOKEN` en el script con tu ID de organización y token Bearer.

Se recomienda ejecutar el script en modo Loop (por ejemplo, semanalmente) para mantener el panel actualizado, y una vez durante la inscripción para establecer el nombre inicial.

El código fuente del script está disponible en el Repositorio público de scripts de Applivery en GitHub.

Last updated: April 18, 2026