📘 Uso de la API REST de Intel® EMA con EMA-Command.ps1

Este documento describe el uso y las funciones disponibles en el script EMA-Command.ps1, una herramienta de PowerShell para interactuar con la API REST de Intel® Endpoint Management Assistant (Intel EMA).


¿Qué hace este script?

Permite interactuar con las funciones de Intel EMA con el objetivo de administrar dispositivos de forma remota a nivel de software y a nivel de hardware (mediante tecnologías como Intel® AMT). El script facilita, entre otras cosas:

Para utilizar estas funciones, es necesario tener acceso a un servidor de Intel EMA y poder interactuar con la API REST a través del puerto TCP 443. Además, es necesario incluir en la línea de comandos todos los parámetros requeridos según la función a usar y el tipo de autenticación a la consola web.

Funciones disponibles

🔐 Autenticación y credenciales

Funciones relacionadas con la generación y eliminación de credenciales para autenticarse contra el servidor EMA.

🖥️ Gestión de dispositivos

Acciones sobre endpoints: provisión, control remoto, encendido/apagado, migración, limpieza, etc.

⏰ Alarmas y automatización

Configuración de alarmas y envío de alertas a dispositivos.

👥 Usuarios y auditoría

Consulta de usuarios, eventos registrados e inventarios en el sistema.

🛠️ Administración del servidor

Gestión de certificados y mantenimiento del servidor EMA.


🧾 Requisitos

Para ejecutar este script, se necesita:

💻 Cómo ejecutar el script

Para ejecutar el script desde la línea de comandos, se deben construir los comandos:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Nombre-de-la-función -Parámetros -url 'ema.ejemplo.com' Tipo-de-Autenticación Parámetros-Opcionales

El comando -ExecutionPolicy ByPass permite ejecutar el script sin restricciones de política de ejecución.

🔐 Tipos de Autenticación

La API REST de Intel® EMA permite autenticarse al servidor de tres formas:

Según como se haya instalado Intel® EMA, sólo se podrá usar autenticación con cuentas locales o por usuario de dominio y nunca ambas al mismo tiempo. Estos usuarios deben estar dados de alta previamente en Intel® EMA.

ℹ️ Para el caso de autenticar con usuarios de Microsoft® Entra ID, sólo es posible usar client credentials.

Las client credentials se componen de dos campos:

El uso de client credentials es posible independientemente del modelo seleccionado, pero sólo es posible generar un set de client credentials por Tenant de Intel® EMA.

🔐 1) Autenticación con usuarios locales

Se deben agregar los siguientes parámetros:

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Funcion -Parámetro1 "valor" -url 'ema.ejemplo.com' -username usuario@ejemplo.com -password 'contraseña'

🔐 2) Autenticación con usuarios de dominio (AD local)

Existen dos métodos. Se puede detectar el usuario que está ejecutando PowerShell y usarlo para la autenticación agregando el siguiente parámetros:

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Funcion -Parámetro1 "valor" -url 'ema.ejemplo.com' -ad

También es posible explicitar UPN (User Principal Name) y contraseña. Para ello se deben incluir estos parámetros:

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Funcion -Parámetro1 "valor" -url 'ema.ejemplo.com' -username 'usuario@ejemplo.com' -password 'contraseña' -ad

🔐 3) Autenticación con Client Credentials

Las client credentials deben crearse previamente a ejecutar cualquier función que se use con este tipo de autenticación. Se deben agregar los siguientes parámetros:

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Funcion -Parámetro1 "valor" -url 'ema.ejemplo.com' -client_id '1234abc' -client_secret '1234abc' -client_credentials

ℹ️ Parámetros opcionales

Se deben agregar al final del comando. No son requeridos para el funcionamiento de la herramienta. Pueden combinarse e intercambiarse en orden.

❓ Comando Help

Para obtener el listado de funciones, la versión del script y la sintaxis requerida, digite Help


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Help


🧩 Comando: Generate-ClientCredentials

📄 Descripción

Genera credenciales de cliente (client_id y client_secret) para autenticarse en Intel® EMA sin un usuario. Es útil cuando se tiene usuarios en Microsoft® Entra ID.

El client_secret es una contraseña definida por el usuario. Esta contraseña debe cumplir con lo siguiente:

–Al menos 12 caracteres

–Contiene al menos un número

–Contiene tanto minúsculas como mayúsculas

–Contiene al menos un caracter especial

🔐 Permisos requeridos

🧾 Parámetros

Parámetro Obligatorio Descripción
-client_secret Contraseña definida por el usuario.
-scope Opcional Alcance de permisos. endpointManager o tenantManager
-tenant_id Opcional* ID del tenant en Intel® EMA.
-tenant_name Opcional* Nombre del tenant en Intel® EMA.

*Se debe proporcionar uno de los dos: tenant_id o tenant_name.

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Generate-ClientCredentials -client_secret "nuevo_password" -tenant_name "Mi Tenant" -url 'ema.ejemplo.com' -username 'global_admin@ejemplo.com' -password 'contraseña'

El script devolverá los valores de client_id y client_secret que podrán usarse para autenticar la API.


🧩 Comando: Delete-ClientCredentials

📄 Descripción

Elimina las credenciales de cliente (client_id y client_secret) previamente generadas para un tenant en Intel EMA.

🔐 Autenticación requerida

Los Administradores Globales pueden borrar cualquier cuenta de Client Credentials.

Los Administradores de Tenant sólo pueden borrar cuentas de Client Credentials que pertenezcan a su mismo Tenant.

🧾 Parámetros

Parámetro Obligatorio Descripción
-tenant_id Opcional* ID del tenant.
-tenant_name Opcional* Nombre del tenant.

*Se debe proporcionar uno de los dos: tenant_id o tenant_name.

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Delete-ClientCredentials -tenant_id "tenant-123" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'


🧩 Comando: Open-Device

📄 Descripción

Abre el navegador y carga la vista del dispositivo especificado en la consola de Intel EMA. Se puede identificar por -name (hostname) o -fqdn.

🔐 Autenticación requerida

🧾 Parámetros

Parámetro Obligatorio Descripción
-name Opcional* Hostname del dispositivo.
-fqdn Opcional* FQDN del dispositivo.

*Se debe proporcionar uno de los dos: name o fqdn.

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Open-Device -name "PC-12345" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'


🧩 Comando: Get-EndpointsTable

📄 Descripción

Genera un archivo .csv con información detallada de los dispositivos registrados en Intel EMA. Es especialmente útil para tareas de auditoría, inventario, análisis de compatibilidad con Intel® AMT, y verificación del estado de los endpoints.

📊 Columnas destacadas del reporte

El archivo generado incluye múltiples columnas. Algunas de las más relevantes son:

🔐 Autenticación requerida

🧾 Parámetros

Parámetro Obligatorio Descripción
-output_file Opcional Ruta base del archivo de salida.
-simple Opcional Genera una tabla con columnas reducidas.

📌 Notas

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Get-EndpointsTable -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'


🧩 Comando: Get-EndpointsHWInfoTable

📄 Descripción

Este comando permite generar un archivo .csv con información detallada del hardware de los dispositivos que cuentan con tecnología Intel® AMT, es decir, equipos basados en Plataforma Intel vPro® Enterprise. La información se obtiene directamente a través de la conexión CIRA (Client Initiated Remote Access), que permite acceder al sistema de forma fuera de banda.

El inventario incluye datos como:

🔐 Requisitos

🔐 Autenticación requerida

🧾 Parámetros

Parámetro Obligatorio Descripción
-output_file Opcional Ruta base del archivo de salida.

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Get-EndpointsHWInfoTable -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Local-UnprovisionAMT

📄 Descripción

Este comando permite desconfigurar el firmware Intel® ME, que habilita la tecnología Intel® AMT en dispositivos con Plataforma Intel vPro® Enterprise. Es especialmente útil cuando hay problemas de conectividad fuera de banda (CIRA) o cuando se necesita limpiar la configuración AMT localmente en el equipo.

El proceso de desprovisionamiento depende del modo de activación en el que se encuentra el firmware:

🔐 Requisitos

🔐 Autenticación requerida

Este comando no requiere autenticación contra el servidor Intel EMA, ya que opera directamente sobre el firmware local.

🧾 Parámetros

Parámetro Obligatorio Descripción
-amt_password Opcional Contraseña AMT requerida sólo si el equipo está en Admin Control Mode.

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Local-UnprovisionAMT -amt_password 'admin123'


🧩 Comando: Get-AuditEvents

📄 Descripción

Este comando permite extraer los eventos de auditoría registrados en la base de datos de Intel® EMA. Es útil para realizar revisiones de seguridad, trazabilidad de acciones administrativas, y análisis de actividad dentro de la consola.

Los eventos incluyen información como:

🔐 Autenticación requerida

🧾 Parámetros

Parámetro Obligatorio Descripción
-output_file Opcional Ruta base del archivo de salida.

🧪 Ejemplo


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Get-AuditEvents -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: PowerOn-Endpoints

📄 Descripción

Este comando permite enviar una orden de encendido remoto a uno o varios dispositivos gestionados por Intel® Endpoint Management Assistant (EMA). Es útil para iniciar equipos de forma remota sin intervención física, siempre que cumplan con los requisitos de hardware y conectividad.

Aplica exclusivamente a dispositivos que:

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-name String Opcional* Nombre del Endpoint Group.
-devices String Opcional* Nombre del dispositivo (hostname). Se pueden incluir varios separados por coma.
-id String Opcional* ID del Endpoint Group.
-input_file String Opcional* Ruta del archivo con nombres de dispositivos.

*Se debe proporcionar al menos uno de los siguientes: name, -devices, -id o -input_file.

🧪 Ejemplo de uso

Encender un equipo por hostname:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 PowerOn-Endpoints -devices "PC-12345" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

Encender todos los equipos de un grupo:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 PowerOn-Endpoints -name "Grupo-Soporte" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: PowerOff-Endpoints

📄 Descripción

Este comando permite enviar una orden de apagado remoto a uno o varios dispositivos gestionados por Intel® Endpoint Management Assistant (EMA). Es útil para iniciar equipos de forma remota sin intervención física, siempre que se encuentren con una conexión activa al servidor.

⚠️ Importante

Este comando envía una orden de apagado forzado, es decir, interrumpe los procesos del sistema operativo y fuerza la detención del equipo. Para ejecutarse, requiere lo siguiente:

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-name String Opcional* Nombre del Endpoint Group.
-devices String Opcional* Nombre del dispositivo (hostname). Se pueden incluir varios separados por coma.
-id String Opcional* ID del Endpoint Group.
-input_file String Opcional* Ruta del archivo con nombres de dispositivos.

*Se debe proporcionar al menos uno de los siguientes: name, -devices, -id o -input_file.

🧪 Ejemplo de uso

Apagar un equipo por hostname:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 PowerOff-Endpoints -devices "PC-12345" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

Apagar todos los equipos de un grupo:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 PowerOff-Endpoints -name "Grupo-Soporte" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas

🧩 Comando: Reboot-Endpoints

📄 Descripción

Este comando permite enviar una orden de reinicio remoto a uno o varios dispositivos gestionados por Intel® Endpoint Management Assistant (EMA). Es útil para reiniciar equipos de forma remota sin intervención física, siempre que se encuentren con una conexión activa al servidor.

⚠️ Importante

Este comando envía una orden de reinicio suave, es decir, notifica al usuario que el sistema operativo cerrará y luego comienza el reinicio equipo. Para ejecutarse, requiere que:

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-name String Opcional* Nombre del Endpoint Group.
-devices String Opcional* Nombre del dispositivo (hostname). Se pueden incluir varios separados por coma.
-id String Opcional* ID del Endpoint Group.
-input_file String Opcional* Ruta del archivo con nombres de dispositivos.

*Se debe proporcionar al menos uno de los siguientes: name, -devices, -id o -input_file.

🧪 Ejemplo de uso

Apagar un equipo por hostname:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Reboot-Endpoints -devices "PC-12345" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

Apagar todos los equipos de un grupo:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Reboot-Endpoints -name "Grupo-Soporte" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Set-AlarmClock

📄 Descripción

Este comando permite programar un encendido automático en el firmware Intel® ME de dispositivos compatibles con Intel® AMT e Intel® Standard Manageability (ISM), es decir, equipos de Plataforma Intel vPro® Enterprise y Plataforma Intel vPro® Essentials. La programación se realiza directamente en el hardware, permitiendo que el equipo se encienda incluso si está completamente apagado.

Se pueden configurar hasta 5 alarmas por dispositivo, cada una con una fecha y hora específica en formato UTC. También se puede establecer una recurrencia mediante el parámetro -interval.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-name String Opcional* Nombre del grupo de endpoints.
-devices String Opcional* Lista de hostnames separados por coma.
-id String Opcional* ID del grupo de endpoints.
-input_file String Opcional* Ruta a archivo .txt con lista de dispositivos.
-alarm_name String Nombre de la alarma.
-start_time String Fecha y hora en formato UTC (YYYY-MM-DDThh:mm:ssZ).
-interval String Opcional Intervalo de recurrencia (DD:hh:mm).

*Se debe especificar al menos uno de los siguientes: -id, -name, -devices o -input_file.

🧪 Ejemplo de uso

Programar una alarma única para un grupo:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Set-AlarmClock -name "Grupo-Soporte" -alarm_name "InicioLunes" -start_time "2025-09-01T07:00:00Z" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

Programar una alarma recurrente para dispositivos específicos:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Set-AlarmClock -devices PC-001,PC-002 -alarm_name "EncendidoDiario" -start_time "2025-09-01T06:30:00Z" -interval "01:00:00" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Get-AlarmClockTable

📄 Descripción

Este comando permite consultar las alarmas de encendido configuradas en el firmware Intel® ME de dispositivos compatibles con Intel® AMT (Plataforma Intel vPro® Enterprise). Las alarmas son programaciones de encendido automático que se almacenan directamente en el hardware.

El comando lee esta información desde el firmware de los dispositivos, siempre que estén conectados vía CIRA al momento de ejecutar el script.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-id String Opcional* ID del grupo de endpoints.
-name String Opcional* Nombre del grupo de endpoints.
-devices String[] Opcional* Lista de hostnames separados por coma.
-input_file String Opcional* Ruta a archivo .txt con lista de dispositivos.
-output_file String Opcional Ruta base del archivo .csv de salida.

*Se debe especificar al menos uno de los siguientes: -id, -name, -devices o -input_file.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Get-AlarmClockTable -name "Grupo-Soporte" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Send-AlertMessage

📄 Descripción

Este comando permite enviar un mensaje emergente que se mostrará como un cartel en el sistema operativo Windows de los dispositivos seleccionados. Es útil para enviar alertas, recordatorios o notificaciones a usuarios finales de forma remota.

El mensaje se muestra solo si el sistema tiene una sesión iniciada y el dispositivo está conectado vía el agente de software de Intel EMA. Esto aplica tanto para dispositivos Intel vPro® como no vPro.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator o Client Credentials Endpoint Manager.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-message String Texto del mensaje (máx. 500 caracteres).
-duration Int Duración en segundos que se mostrará el mensaje.
-id String Opcional* ID del grupo de endpoints.
-name String Opcional* Nombre del grupo de endpoints.
-devices String[] Opcional* Lista de hostnames separados por coma.
-input_file String Opcional* Ruta a archivo .txt con lista de dispositivos.

*Se debe especificar al menos uno de los siguientes: -id, -name, -devices o -input_file.

🧪 Ejemplo de uso

Enviar un mensaje a un grupo:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Send-AlertMessage -name "Grupo-Soporte" -message "Recordatorio: reiniciar el equipo antes de las 18:00." -duration 60 -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

Enviar un mensaje a dispositivos específicos:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Send-AlertMessage -devices PC-001,PC-002 -message "Actualización de software en curso." -duration 45 -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas

🧩 Comando: Download-EMAAgent

📄 Descripción

Este comando permite descargar el agente de Intel® EMA desde el servidor, obteniendo dos archivos:

Los archivos se guardan en la misma ruta donde se ejecuta el script. Este agente es necesario para habilitar la comunicación entre el servidor Intel EMA y los dispositivos cliente.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-id String Opcional* ID del grupo de endpoints.
-name String Opcional* Nombre del grupo de endpoints.

*Se debe especificar al menos uno de los dos: -id o -name.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Download-EMAAgent -name "Grupo-Soporte" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas

🧩 Comando: Install-EMAAgent

📄 Descripción

Este comando permite instalar el agente de Intel® EMA en los dispositivos especificados. El proceso incluye:

  1. Descarga automática del agente desde el Endpoint Group indicado.

  2. Desprovisionamiento local del firmware Intel® ME mediante EMAConfigTool, si el dispositivo está provisionado.

  3. Instalación del agente en el sistema operativo.

  4. Eliminación de los archivos descargados (.exe y .msh) al finalizar.

Este flujo automatizado facilita la preparación de dispositivos para ser gestionados por Intel EMA.

⚠️ Limitación importante

Este comando no es compatible con dispositivos que tengan procesadores Intel® Core™ Ultra Serie 2, ya que no soportan EMAConfigTool.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-id String Opcional* ID del grupo de endpoints.
-name String Opcional* Nombre del grupo de endpoints.

*Se debe especificar al menos uno de los dos: -id o -name.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Install-EMAAgent -name "Grupo-Soporte" -url 'ema.ejemplo.com' -username usuario_global@ejemplo.com -password 'contraseña'

📌 Notas


🧩 Comando: Uninstall-EMAAgent

📄 Descripción

Este comando permite desinstalar el agente de Intel® EMA de un dispositivo y, además, realiza un desprovisionamiento del firmware Intel® ME para dejar el equipo listo para una futura reconfiguración.

El proceso se realiza de forma local en el dispositivo y utiliza la herramienta EMAConfigTool. Si esta no está instalada, el script la descargará e instalará automáticamente.

⚠️ Limitación importante

Este comando no es compatible con dispositivos que tengan procesadores Intel® Core™ Ultra Serie 2, ya que no soportan EMAConfigTool.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-amt_password String Opcional* Contraseña AMT si el dispositivo está en Admin Control Mode.

*Si el dispositivo está en Client Control Mode, no es necesario proporcionar contraseña.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Uninstall-EMAAgent -amt_password 'admin123' -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Get-UsersTable

📄 Descripción

Este comando permite extraer una tabla con todos los usuarios registrados en la consola de Intel® Endpoint Management Assistant (EMA). Es útil para realizar auditorías, revisar roles asignados, verificar accesos y mantener el control sobre las cuentas activas en el sistema.

El resultado se exporta en formato .csv, y puede incluir información como:

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-output_file String Opcional Ruta base del archivo .csv de salida.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Get-UsersTable -amt_password 'admin123' -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Reset-WrongAMTRecords

📄 Descripción

Este comando permite corregir inconsistencias en la base de datos de Intel® Endpoint Management Assistant (EMA) relacionadas con el estado de provisionamiento de dispositivos Intel® vPro®.

En algunos casos, el campo Intel® AMT Setup Status puede indicar erróneamente que el dispositivo no está provisionado, mientras que el campo Intel® ME muestra que sí lo está, incluyendo el modo de activación (Client Control Mode o Admin Control Mode). Esta discrepancia no afecta la gestión remota, pero da una visibilidad errónea del dispositivo en la consola.

El comando Reset-WrongAMTRecordsresetea los registros internos en la base de datos de Intel EMA para reflejar correctamente el estado real del firmware.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Reset-WrongAMTRecords -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Delete-AllAMTRecords

📄 Descripción

Este comando permite eliminar todos los registros relacionados con Intel® AMT en la base de datos de Intel® Endpoint Management Assistant (EMA) para todos los dispositivos compatibles. Es útil en situaciones donde el campo Intel® AMT Setup Status está incorrectamente configurado y se desea limpiar completamente esa información sin corregirla automáticamente.

A diferencia de Reset-WrongAMTRecords, este comando no intenta corregir el estado, sino que borra los registros AMT del dispositivo en la base de datos.

Como paso posterior, se recomienda ejecutar el comando Adopt-AMTEndpoints, que permite que Intel EMA reconozca el provisionamiento de esos dispositivos como propio, en lugar de asumir que fueron configurados por otra herramienta.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Delete-AllAMTRecords -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Adopt-AMTEndpoints

📄 Descripción

Este comando permite que Intel® Endpoint Management Assistant (EMA) reconozca como propios los dispositivos que ya están provisionados con Intel® AMT, pero que fueron configurados por otra herramienta o instancia de EMA.

Es especialmente útil luego de ejecutar el comando Delete-AllAMTRecords, ya que permite reestablecer la relación entre Intel EMA y los dispositivos, aplicando el perfil AMT correspondiente al grupo de endpoints.

Para realizar esta adopción, es necesario proporcionar la contraseña AMT utilizada durante el provisionamiento original, ya que se aplicarán las configuraciones del perfil AMT definido en el grupo.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-id String Opcional* ID del grupo de endpoints.
-name String Opcional* Nombre del grupo de endpoints.
-devices String[] Opcional* Lista de hostnames separados por coma.
-input_file String Opcional* Ruta a archivo .txt con lista de dispositivos.
-amt_password String Contraseña AMT para poder configurar el firmware de Intel® ME.

*Se debe especificar al menos uno de los siguientes: -id, -name, -devices o -input_file.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Adopt-AMTEndpoints -amt_password 'admin123' -name "Grupo-Soporte" -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Unprovision-AMTEndpointsRemotely

📄 Descripción

Este comando permite desconfigurar remotamente el firmware Intel® ME (que habilita la tecnología Intel® AMT) en dispositivos gestionados por Intel® Endpoint Management Assistant (EMA). Es útil para limpiar la configuración AMT de dispositivos que ya no requieren gestión remota o que necesitan ser reprovisionados.

La operación se realiza de forma remota, siempre que el dispositivo cumpla con los siguientes requisitos de conectividad.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-id String Opcional* ID del grupo de endpoints.
-name String Opcional* Nombre del grupo de endpoints.
-devices String[] Opcional* Lista de hostnames separados por coma.
-input_file String Opcional* Ruta a archivo .txt con lista de dispositivos.
-amt_password String Opcional Contraseña AMT si el dispositivo está en Admin Control Mode.

*Se debe especificar al menos uno de los siguientes: -id, -name, -devices o -input_file.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Unprovision-AMTEndpointsRemotely -name "Grupo-Soporte" -amt_password 'admin123' -url 'ema.ejemplo.com' -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Delete-EndpointsBatch

📄 Descripción

Este comando permite eliminar dispositivos registrados en la consola de Intel® Endpoint Management Assistant (EMA). La eliminación se realiza directamente desde la base de datos, por lo que no requiere que los dispositivos estén conectados al momento de ejecutar el script.

Es útil para limpiar registros obsoletos, dispositivos fuera de servicio o entradas duplicadas.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-id String Opcional* ID del grupo de endpoints.
-name String Opcional* Nombre del grupo de endpoints.
-devices String[] Opcional* Lista de hostnames separados por coma.
-input_file String Opcional* Ruta a archivo .txt con lista de dispositivos.

*Se debe especificar al menos uno de los siguientes: -id, -name, -devices o -input_file.


🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Delete-EndpointsBatch -name "Grupo-Soporte" -url "ema.ejemplo.com" -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Remove-DuplicateEndpoints

📄 Descripción

Este comando permite solucionar un bug en Intel® Endpoint Management Assistant (EMA) donde un mismo dispositivo aparece listado dos veces en la consola, bajo el mismo nombre (hostname). En uno de los registros, el dispositivo responde vía software (agente de EMA), y en el otro responde vía hardware (Intel® AMT).

Aunque Intel EMA dispone de una opción integrada llamada Enable HW-based Endpoint Unification, no se recomienda su uso en entornos con más de 5000 dispositivos, por lo que este comando resulta una alternativa más segura y controlada.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-amt_password String Opcional Contraseña AMT si el dispositivo está en Admin Control Mode.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Remove-DuplicateEndpoints -amt_password "admin123" -url "ema.ejemplo.com" -username usuario_global@ejemplo.com -password "contraseña"

📌 Notas


🧩 Comando: Remove-EndpointsOlderThan

📄 Descripción

Este comando permite eliminar de la base de datos de Intel® Endpoint Management Assistant (EMA) aquellos dispositivos que no hayan tenido conexión en los últimos N días, donde N es el valor especificado mediante el parámetro -days.

Es útil para mantener la base de datos limpia y actualizada, eliminando endpoints obsoletos o fuera de uso.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-days Int Cantidad de días sin conexión para considerar eliminación.
-dry_run Switch Opcional Si se incluye, muestra los dispositivos que serían eliminados sin ejecutar la acción.

🧪 Ejemplo de uso

Eliminar dispositivos sin conexión en los últimos 90 días:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Remove-EndpointsOlderThan -days 90 -url "ema.ejemplo.com" -username 'tenant_admin@ejemplo.com' -password 'contraseña'

Simular la eliminación sin ejecutar cambios:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Remove-EndpointsOlderThan -days 90 -dry_run -url "ema.ejemplo.com" -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas


🧩 Comando: Migrate-ToEMAServer

📄 Descripción

Este comando permite migrar un dispositivo local a otra instancia de Intel® Endpoint Management Assistant (EMA). El proceso incluye:

  1. Desinstalación del agente actual.

  2. Desprovisionamiento del firmware Intel® ME, utilizando EMAConfigTool.

  3. Descarga del nuevo agente desde el servidor de destino.

  4. Instalación del nuevo agente, asignando el dispositivo al grupo especificado.

Este flujo automatizado facilita la transición de dispositivos entre servidores EMA.

⚠️ Limitación importante

Este comando no es compatible con dispositivos que tengan procesadores Intel® Core™ Ultra Serie 2, ya que no soportan EMAConfigTool.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere rol de Tenant Administrator en el servidor actual y también autenticarse contra el servidor de destino, mediante un usuario con rol Tenant Administrator, especificando:

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-migrate_url String FQDN del servidor EMA de destino.
-migrate_username String Usuario administrador del servidor de destino.
-migrate_password String Contraseña del usuario.
-migrate_id String Opcional* ID del grupo de destino.
-migrate_name String Opcional* Nombre del grupo de destino.
-amt_password String Opcional Contraseña AMT si el dispositivo está en Admin Control Mode.

*Se debe especificar al menos uno de los siguientes: -migrate_id o -migrate_name.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Migrate-ToEMAServer -migrate_url "ema.nuevo.com" -migrate_username 'admin@nuevo.com' -migrate_password 'contraseña' -migrate_name "Nuevo-Grupo-Migrado" -amt_password 'adminAMT' -url "ema.actual.com" -username 'admin@actual.com' -password 'contraseña'

📌 Notas


🧩 Comando: Get-EMASwarmServerCertificate

📄 Descripción

Este comando permite extraer el certificado del Mesh Swarm Server desde el servidor de Intel® Endpoint Management Assistant (EMA). Este certificado se utiliza para encriptar la comunicación de gestión entre los dispositivos y el servidor EMA.

El comando exporta dos archivos:

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Global Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-cert_password String Contraseña del certificado para permitir la exportación.
-output_file String Opcional Ruta base donde se guardarán los archivos .crt y .key.

🧪 Ejemplo de uso


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Get-EMASwarmServerCertificate -cert_password 'cert123' -url "ema.ejemplo.com" -username 'admin_global@ejemplo.com' -password 'contraseña'


🧩 Comando: Move-EndpointGroup

📄 Descripción

Este comando permite mover el dispositivo local (desde donde se ejecuta el script) a un nuevo Endpoint Group dentro de Intel® Endpoint Management Assistant (EMA). La asignación se realiza automáticamente en función del hostname del dispositivo o de su Organizational Unit (OU) en Active Directory.

🔐 Requisitos

🔐 Autenticación requerida

Se requiere autenticación mediante un usuario con rol Tenant Administrator.

🧾 Parámetros

Parámetro Tipo Obligatorio Descripción
-by_hostname Switch Opcional* Usa el hostname para determinar el Endpoint Group.
-by_ou Switch Opcional* Usa la OU del dispositivo para determinar el Endpoint Group.
-ou_name String Opcional, sólo si se usa by_ou Nombre de la OU donde se encuentra el dispositvo, si se quiere especificar
-endpoint_group_name String Opcional, Sólo si se usa by_ou Nombre del Endpoint Group destino, si se quiere especificar.

*Se debe especificar al menos uno de los siguientes: -by_hostname o -by_ou.

🧪 Ejemplo de uso

Usar el hostname para mover el dispositivo:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Move-EndpointGroup -by_hostname -url "ema.ejemplo.com" -username 'tenant_admin@ejemplo.com' -password 'contraseña'

Usar la OU para mover el dispositivo:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Move-EndpointGroup -by_ou -url "ema.ejemplo.com" -username 'tenant_admin@ejemplo.com' -password 'contraseña'

Usar la OU para mover el dispositivo pero especificando Endpoint Group:


powershell.exe -ExecutionPolicy ByPass -File EMA-Command.ps1 Move-EndpointGroup -by_ou -ou_name "Workstations" -endpoint_group_name "Grupo Destino" -url "ema.ejemplo.com" -username 'tenant_admin@ejemplo.com' -password 'contraseña'

📌 Notas