📘 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).
- Versión EMA-Command: 2.0.6
- Contributors: Rafael Escalante - rafael.escalante@intel.com
- Contributors: Federico Cañete - federico.canete@intel.com
¿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:
-
Administrar la autenticación contra el servidor Intel EMA.
-
Ejecución de comandos remotos.
-
Consulta de estado de dispositivos.
-
Gestión de grupos y perfiles.
-
Generación de reportes e inventarios locales
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.
-
Generate-ClientCredentials -
Delete-ClientCredentials
🖥️ Gestión de dispositivos
Acciones sobre endpoints: provisión, control remoto, encendido/apagado, migración, limpieza, etc.
-
Open-Device -
Local-UnprovisionAMT -
Download-EMAAgent -
Install-EMAAgent -
Uninstall-EMAAgent -
Migrate-ToEMAServer -
Unprovision-AMTEndpointsRemotely -
Adopt-AMTEndpoints -
PowerOn-Endpoints -
PowerOff-Endpoints -
Reboot-Endpoints -
Delete-EndpointsBatch -
Move-EndpointGroup
⏰ Alarmas y automatización
Configuración de alarmas y envío de alertas a dispositivos.
-
Get-AlarmClockTable -
Set-AlarmClock -
Send-AlertMessage
👥 Usuarios y auditoría
Consulta de usuarios, eventos registrados e inventarios en el sistema.
-
Get-UsersTable -
Get-AuditEvents -
Get-EndpointsTable -
Get-EndpointsHWInfoTable
🛠️ Administración del servidor
Gestión de certificados y mantenimiento del servidor EMA.
-
Get-EMASwarmServerCertificate -
Reset-WrongAMTRecords -
Delete-AllAMTRecords -
Remove-DuplicateEndpoints -
Remove-EndpointsOlderThan
🧾 Requisitos
Para ejecutar este script, se necesita:
-
Windows PowerShell (versión 5.0 o superior).
-
Permisos de administrador local.
-
Un usuario con permisos de Tenant Administrator o Global Administrator, o un Client Credentials dentro de Intel® EMA, según la función a ejecutar.
💻 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:
-
Con usuarios locales
-
Con usuarios de dominio
-
Con client credentials
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:
-
client_id
-
client_secret
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:
-
-username 'usuario' -
-password 'contraseña'
🧪 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:
-ad
🧪 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:
-
-username 'usuario' -
-password 'contraseña' -
-ad
🧪 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:
-
-client_id 'client_id' -
-client_secret 'client_secret' -
-client_credentials
🧪 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.
-
Para deshabilitar la verificación SSL, colocar
-disable_ssl_verification -
Para establecer una Comunicación TLS 1.2, colocar
-enforce_tls_12
❓ 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
-
Global Administrator
-
Tenant Administrator
🧾 Parámetros
| Parámetro | Obligatorio | Descripción |
|---|---|---|
-client_secret |
Sí | 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_idotenant_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
-
Global Administrator
-
Tenant Administrator
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_idotenant_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
- Tenant Administrator
🧾 Parámetros
| Parámetro | Obligatorio | Descripción |
|---|---|---|
-name |
Opcional* | Hostname del dispositivo. |
-fqdn |
Opcional* | FQDN del dispositivo. |
*Se debe proporcionar uno de los dos:
nameofqdn.
🧪 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:
-
Versión del agente
(AgentVersion): útil para verificar si los dispositivos tienen el software actualizado. -
Versión del firmware Intel® ME
(MEVersion): permite identificar si el hardware es compatible con Intel® EMA. -
Conectividad CIRA
(IsCIRAConnected): indica si el dispositivo tiene conexión remota por hardware segura. -
Compatibilidad con Intel® AMT
(IsAMTVersionValid, AmtControlMode): permite saber si el equipo es de plataforma Intel® vPro y soporta gestión remota avanzada por hardware. -
Estado de energía
(PowerState): muestra si el dispositivo está encendido, apagado, en hibernación o en suspensión.
🔐 Autenticación requerida
- Tenant Administrator
🧾 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
-
Si no se especifica
-output_file, el archivo se guarda enC:\Temp\EMACommand\output\devices_inventory_<timestamp>.csv. -
El parámetro
-simplereduce la cantidad de columnas para facilitar la lectura rápida. -
Si el usuario tiene rol Global Administrator, el script crea un usuario temporal para acceder a todos los tenants y consolidar la información.
-
El proceso puede tardar varios minutos dependiendo del número de dispositivos registrados.
🧪 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:
-
Fabricante y modelo del sistema
-
Procesador
-
Placa madre
-
Versión de BIOS
-
Unidades de almacenamiento
🔐 Requisitos
-
Intel AMT habilitado y provisionado.
-
El dispositivo debe estar conectado vía CIRA en el momento de ejecutar el script.
-
Si el dispositivo no cumple con estas condiciones, será omitido automáticamente.
🔐 Autenticación requerida
- Tenant Administrator
🧾 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
-
Si no se especifica
-output_file, el archivo se guarda enC:\Temp\EMACommand\output\devices_hw_inventory_<timestamp>.csv. -
El script verifica la conectividad CIRA antes de intentar extraer la información de hardware.
-
Los dispositivos que no estén conectados vía CIRA serán omitidos sin generar error.
-
El proceso puede tardar varios minutos dependiendo de la cantidad de dispositivos y su estado de conectividad.
🧩 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:
-
Admin Control Mode (ACM): Requiere proporcionar la contraseña de Intel AMT (
-amt_password). -
Client Control Mode (CCM): No requiere contraseña.
-
Sin provisionamiento: El comando detecta que el firmware ya está limpio y no realiza ninguna acción.
🔐 Requisitos
-
El script debe ejecutarse localmente en el equipo que se desea desprovisionar.
-
El equipo debe tener instalado el EMAConfigTool. Si no está presente, el script lo descarga e instala automáticamente.
🔐 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:
-
Inicio de sesión de usuarios (incluyendo IP de origen).
-
Acciones realizadas sobre dispositivos (por ejemplo, encendido/apagado, adopción AMT).
-
Cambios en configuraciones de Intel EMA (grupos, políticas, descargas de agentes, etc.).
🔐 Autenticación requerida
- Tenant Administrator
🧾 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
-
Si no se especifica
-output_file, el archivo se guarda enC:\Temp\EMACommand\output\audit_events_<timestamp>.csv. -
El archivo generado incluye columnas como:
-
Timestamp: Fecha y hora del evento. -
CallerName: Usuario que ejecutó la acción. -
CallerIpAddress: IP desde la que se realizó la acción. -
Action: Tipo de acción realizada. -
ResourceType: Tipo de recurso afectado (endpoint, grupo, configuración, etc.). -
Event: Descripción del evento. -
El proceso puede tardar dependiendo del volumen de eventos registrados.
🧩 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:
-
Sean parte de la Plataforma Intel vPro® Enterprise o Plataforma Intel vPro® Essentials.
-
Tengan el firmware Intel® ME correctamente configurado.
-
Estén conectados vía CIRA (Client Initiated Remote Access) al momento de ejecutar el script.
-
El script puede aplicarse a:
-
Uno o varios dispositivos (
-devices) -
Un grupo de endpoints (
-name) -
Un ID de grupo (
-id) -
Un archivo
.txtcon la lista de dispositivos (-input_file)
🔐 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,-ido-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
-
El comando verifica que los dispositivos estén conectados vía CIRA antes de enviar la orden de encendido.
-
Si un dispositivo no cumple con los requisitos (vPro + CIRA), será omitido.
-
El encendido se realiza mediante la tecnología de gestión remota de Intel AMT.
🧩 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.
-
El script puede aplicarse a:
-
Uno o varios dispositivos (
-devices) -
Un grupo de endpoints (
-name) -
Un ID de grupo (
-id) -
Un archivo
.txtcon la lista de dispositivos (-input_file)
⚠️ 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:
-
Que el dispositivo tenga el firmware Intel® ME correctamente configurado.
-
Que el dispositivo esté conectado vía CIRA (Client Initiated Remote Access) al momento de ejecutar el script.
🔐 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,-ido-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
-
El comando verifica que los dispositivos estén conectados al servidor de Intel EMA. Los equipos de Plataforma vPro® deberán presentar conexión por CIRA.
-
El script valida la conexión vía CIRA antes de enviar la orden de apagado.
-
Si un dispositivo no cumple con la condición de conexión, será omitido.
-
El apagado en equipos de Plataforma vPro® se realiza mediante la tecnología de gestión remota de Intel AMT.
🧩 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.
-
El script puede aplicarse a:
-
Uno o varios dispositivos (
-devices) -
Un grupo de endpoints (
-name) -
Un ID de grupo (
-id) -
Un archivo
.txtcon la lista de dispositivos (-input_file)
⚠️ 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:
- El dispositivo esté conectado vía software (agente de Intel EMA) al momento de ejecutar el script.
🔐 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,-ido-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
-
El comando verifica que los dispositivos estén conectados al servidor de Intel EMA.
-
Aplica para cualquier tipo de dispositivo (vPro o no-vPro) registrado en Intel EMA.
-
El script valida que el equipo esté encendido antes de enviar la orden de reinicio.
-
Si un dispositivo no cumple con la condición de conexión, será omitido.
🧩 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.
-
El script puede aplicarse a:
-
Uno o varios dispositivos (
-devices) -
Un grupo de endpoints (
-name) -
Un ID de grupo (
-id) -
Un archivo
.txtcon la lista de dispositivos (-input_file)
🔐 Requisitos
-
El dispositivo debe tener Intel® AMT o ISM correctamente configurado.
-
Debe estar conectado vía CIRA al momento de ejecutar el script.
🔐 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 | Sí | Nombre de la alarma. |
-start_time |
String | Sí |
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,-deviceso-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
-
La hora debe estar en formato UTC (
YYYY-MM-DDThh:mm:ssZ). -
El parámetro
-intervalpermite definir una recurrencia (por ejemplo, cada día). -
Si el dispositivo no está conectado vía CIRA, será omitido.
-
Se pueden configurar hasta 5 alarmas por dispositivo. Si se supera ese límite, se mostrará un error.
🧩 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
-
El dispositivo debe tener Intel® AMT correctamente configurado.
-
Debe estar conectado vía CIRA al momento de ejecutar el script.
-
Se puede aplicar a:
-
Uno o varios dispositivos (
-devices) -
Un grupo de endpoints (
-name) -
Un ID de grupo (
-id) -
Un archivo
.txtcon la lista de dispositivos (-input_file)
🔐 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,-deviceso-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
-
El archivo generado contiene las alarmas configuradas en cada dispositivo, si las hubiera.
-
Si el dispositivo no está conectado vía CIRA, será omitido.
-
El archivo se guarda en la ruta especificada con un timestamp agregado automáticamente.
🧩 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
-
El sistema operativo debe tener una sesión activa de Windows.
-
El dispositivo debe estar conectado vía el agente de software de Intel EMA.
-
El mensaje puede tener hasta 500 caracteres.
-
Se puede aplicar a:
-
Uno o varios dispositivos (
-devices) -
Un grupo de endpoints (
-name) -
Un ID de grupo (
-id) -
Un archivo
.txtcon la lista de dispositivos (-input_file)
🔐 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 | Sí | Texto del mensaje (máx. 500 caracteres). |
-duration |
Int | Sí | 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,-deviceso-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
-
El mensaje se muestra como una notificación emergente en Windows.
-
Si el dispositivo no tiene sesión iniciada o no está conectado vía agente, será omitido.
-
La duración define cuántos segundos permanecerá visible el mensaje.
-
Ideal para comunicaciones rápidas con usuarios finales.
🧩 Comando: Download-EMAAgent
📄 Descripción
Este comando permite descargar el agente de Intel® EMA desde el servidor, obteniendo dos archivos:
-
El ejecutable que instala el servicio
.exe -
El archivo con la política del grupo
.msh
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
-
Se debe especificar el nombre (
-name) o el ID (-id) del grupo de endpoints desde el cual se desea descargar el agente. -
Se requieren permisos de Tenant Administrator.
-
El comando no requiere que los dispositivos estén conectados ni que el agente esté instalado previamente.
🔐 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:
-ido-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
-
Los archivos descargados se guardan en el directorio actual donde se ejecuta el script.
-
El agente descargado puede ser instalado posteriormente via línea de comandos o manualmente.
-
Este comando no instala el agente, solo lo descarga.
🧩 Comando: Install-EMAAgent
📄 Descripción
Este comando permite instalar el agente de Intel® EMA en los dispositivos especificados. El proceso incluye:
-
Descarga automática del agente desde el Endpoint Group indicado.
-
Desprovisionamiento local del firmware Intel® ME mediante
EMAConfigTool, si el dispositivo está provisionado. -
Instalación del agente en el sistema operativo.
-
Eliminación de los archivos descargados (
.exey.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
-
El script debe ejecutarse localmente en el dispositivo.
-
El dispositivo debe ser compatible con Intel® EMA.
-
Si
EMAConfigToolno está instalado, el script lo descargará e instalará automáticamente. -
Se debe especificar el nombre (
-name) o el ID (-id) del Endpoint Group desde el cual se descargará el agente.
🔐 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:
-ido-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
-
El proceso incluye desprovisionamiento automático si el firmware Intel ME está configurado.
-
El script instala
EMAConfigToolsi no está presente. -
Al finalizar, se eliminan los archivos
.exey.mshdescargados. -
No compatible con dispositivos con procesadores Intel® Core™ Ultra Serie 2.
🧩 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
-
El script debe ejecutarse localmente en el dispositivo.
-
El dispositivo debe tener el agente de Intel EMA instalado.
-
Se debe proporcionar la contraseña AMT si el dispositivo está en Admin Control Mode.
🔐 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
-
El script detecta automáticamente el modo de provisión del firmware.
-
Si el equipo está en Admin Control Mode, se requiere la contraseña AMT.
-
Si el equipo está en Client Control Mode, el proceso se realiza sin contraseña.
-
El script elimina el agente de Intel EMA y limpia la configuración AMT.
-
No compatible con dispositivos con procesadores Intel® Core™ Ultra Serie 2.
🧩 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:
-
Nombre de usuario
-
Dirección de correo
-
Rol asignado (Tenant Administrator, Endpoint Manager, etc.)
-
Estado de la cuenta
-
Tenant al que pertenece
🔐 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
-
Si no se especifica
-output_file, el archivo se guarda enC:\Temp\EMACommand\output\users_<timestamp>.csv. -
El archivo incluye todos los usuarios visibles para el tenant del usuario autenticado.
-
El comando puede tardar unos segundos dependiendo de la cantidad de usuarios registrados.
🧩 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
-
Aplica exclusivamente a dispositivos de Plataforma Intel vPro® Enterprise.
-
El dispositivo debe estar provisionado a nivel de firmware Intel ME.
-
No requiere que el dispositivo esté conectado vía CIRA.
-
No modifica el firmware, solo actualiza los registros en la base de datos de Intel EMA.
🔐 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
-
El comando no realiza cambios en el firmware del dispositivo.
-
Solo actualiza los registros internos en la base de datos de Intel EMA.
-
Es útil para restaurar la visibilidad y funcionalidad de dispositivos que están correctamente provisionados pero mal reportados.
🧩 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
-
Aplica exclusivamente a dispositivos de Plataforma Intel vPro® Enterprise.
-
El dispositivo debe estar correctamente provisionado a nivel de firmware Intel ME.
-
No requiere que el dispositivo esté conectado vía CIRA.
-
No modifica el firmware, solo elimina los registros en la base de datos de Intel EMA.
🔐 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
-
Este comando no realiza cambios en el firmware del dispositivo.
-
Elimina los registros AMT en la base de datos de Intel EMA.
-
Es recomendable ejecutar
Adopt-AMTEndpointsdespués para que EMA adopte correctamente los dispositivos. -
Útil para limpiar inconsistencias sin aplicar correcciones automáticas.
🧩 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
-
Los dispositivos deben tener Intel AMT provisionado.
-
Se debe especificar el grupo de dispositivos mediante:
-
-id(ID del Endpoint Group) -
-name(nombre del Endpoint Group) -
-devices(lista de hostnames) -
-input_file(archivo .txt con lista de dispositivos) -
Se debe proporcionar la contraseña AMT (
-amt_password). -
El perfil AMT asociado al grupo será aplicado durante la adopción.
🔐 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 | Sí | Contraseña AMT para poder configurar el firmware de Intel® ME. |
*Se debe especificar al menos uno de los siguientes:
-id,-name,-deviceso-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
-
Este comando no reprovisiona el dispositivo, sino que lo adopta como parte de la instancia actual de Intel EMA.
-
El perfil AMT del grupo será aplicado automáticamente.
-
Es útil para recuperar dispositivos que fueron provisionados externamente o por otra instancia de EMA.
🧩 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
-
El dispositivo debe tener el firmware Intel® AMT provisionado.
-
Debe estar conectado vía CIRA (Client Initiated Remote Access).
-
Debe tener conexión activa con el agente de software de EMA.
-
Se puede aplicar a:
-
Uno o varios dispositivos (
-devices) -
Un grupo de endpoints (
-name) -
Un ID de grupo (
-id) -
Un archivo
.txtcon la lista de dispositivos (-input_file)
🔐 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,-deviceso-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
-
El comando no requiere acceso físico al dispositivo.
-
Si el dispositivo está en Admin Control Mode, se debe proporcionar la contraseña AMT.
-
Si el dispositivo está en Client Control Mode, no es necesario incluir
-amt_password. -
El proceso es útil para preparar dispositivos para reprovisionamiento o baja.
🧩 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
-
No se requiere conectividad CIRA ni conexión activa del agente.
-
Se puede aplicar a:
-
Uno o varios dispositivos (
-devices) -
Un grupo de endpoints (
-name) -
Un ID de grupo (
-id) -
Un archivo
.txtcon la lista de dispositivos (-input_file)
🔐 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,-deviceso-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
-
El comando elimina los registros del dispositivo en la base de datos de Intel EMA.
-
Importante: Si el dispositivo aún tiene instalado el agente de Intel EMA, al reiniciarse se volverá a registrar automáticamente en la consola.
-
Para evitar que reaparezca, se recomienda desinstalar el agente antes de ejecutar este comando.
🧩 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
-
Aplica a dispositivos que presentan duplicación de registros por software y hardware.
-
El dispositivo debe estar correctamente configurado con Intel® AMT.
-
Si el dispositivo está en Admin Control Mode, se debe proporcionar la contraseña AMT.
🔐 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
-
El comando identifica y elimina duplicados basados en coincidencias de hostname y diferencias en el tipo de conexión (software vs hardware).
-
Recomendado para entornos grandes donde la unificación automática puede ser riesgosa.
🧩 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
-
El dispositivo debe haberse conectado alguna vez a la instancia de Intel EMA.
-
No requiere que el dispositivo esté conectado al momento de ejecutar el script.
-
El comando puede ejecutarse en modo simulación (
-dry_run) para revisar qué dispositivos serían eliminados.
🔐 Autenticación requerida
Se requiere autenticación mediante un usuario con rol Tenant Administrator.
🧾 Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
-days |
Int | Sí | 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
-
El comando es útil para mantener la base de datos optimizada y libre de dispositivos inactivos.
-
El modo
-dry_runpermite validar el impacto antes de ejecutar la acción definitiva.
🧩 Comando: Migrate-ToEMAServer
📄 Descripción
Este comando permite migrar un dispositivo local a otra instancia de Intel® Endpoint Management Assistant (EMA). El proceso incluye:
-
Desinstalación del agente actual.
-
Desprovisionamiento del firmware Intel® ME, utilizando
EMAConfigTool. -
Descarga del nuevo agente desde el servidor de destino.
-
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
-
El script debe ejecutarse localmente en el dispositivo.
-
El dispositivo debe ser compatible con Intel® EMA.
-
Si
EMAConfigToolno está instalado, el script lo descargará e instalará automáticamente. -
Se debe especificar el grupo de destino en el nuevo servidor EMA mediante
-migrate_ido-migrate_name.
🔐 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:
-
-migrate_username -
-migrate_password -
-migrate_url
🧾 Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
-migrate_url |
String | Sí | FQDN del servidor EMA de destino. |
-migrate_username |
String | Sí | Usuario administrador del servidor de destino. |
-migrate_password |
String | Sí | 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_ido-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
-
El comando realiza todas las acciones necesarias para migrar el dispositivo sin intervención manual.
-
El perfil AMT del grupo de destino será aplicado automáticamente.
-
No compatible con dispositivos Intel® Core™ Ultra Serie 2.
🧩 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:
-
Un archivo
.crtcon el certificado. -
Un archivo
.keycon la llave privada asociada.
🔐 Requisitos
-
Se requiere acceso al servidor EMA con privilegios de Global Administrator.
-
Se debe proporcionar la contraseña del certificado para poder exportarlo.
-
El certificado se guarda en la ruta especificada mediante
-output_file.
🔐 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 | Sí | 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
-
El script debe ejecutarse localmente en el dispositivo que se desea mover.
-
El dispositivo debe tener el agente de Intel EMA instalado.
-
Se debe especificar el modo de asignación mediante
-by_hostnameo-by_ou.
🔐 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_hostnameo-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
-
Si se usa
-by_hostname, el script espera que el hostname tenga el formato:NOMBRE_ENDPOINT_GROUP-NOMBRE_PC. -
Si se usa
-by_ou, el script extrae la OU del dispositivo y la utiliza como nombre del Endpoint Group destino. -
El parámetro
-endpoint_group_namepermite especificar directamente el grupo y es necesario especificar la OU a la que pertenece el dispositivo -
El dispositivo debe tener el agente EMA instalado para que el comando funcione correctamente.
