/
/

Cómo automatizar la expiración del acceso temporal de las cuentas de administrador en Microsoft 365

por Team Ninja
How to Automate Temporary Access Expiry for Admin Accounts in Microsoft 365 blog banner image

Resumen instantáneo

Este post ofrece una lista completa de comandos CMD básicos y una inmersión profunda en los comandos de Windows, con más de 70 comandos cmd esenciales tanto para principiantes como para usuarios avanzados. Explica comandos prácticos del símbolo del sistema para la gestión de archivos, la navegación por directorios, la solución de problemas de red, las operaciones de disco y la automatización con ejemplos reales para mejorar la productividad. Tanto si estás aprendiendo los comandos básicos de cmd como si ya dominas las herramientas avanzadas de la CLI de Windows, esta guía te ayudará a utilizar el Símbolo del sistema de forma más eficaz.

Puntos clave

  • Objetivo: automatizar la expiración del acceso administrativo temporal en Microsoft 365 con Microsoft Entra PIM o PowerShell, para que los privilegios elevados se revoquen de forma automática en lugar de quedar activos de forma indefinida.
  • Requisitos previos: Microsoft Entra ID P2 (necesario para PIM), PowerShell 7+ con el módulo Microsoft.Graph y permisos para asignar roles de directorio.
  • Método 1: Entra PIM. Asigna a los usuarios como elegibles (no activos) para un rol mediante New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest y establece una expiración automática (por ejemplo, 2 horas).
  • Método 2: autoactivación con PowerShell. Usa Start-MgRoleManagementDirectoryRoleAssignmentScheduleRequest -Action «SelfActivate» para lanzar una activación limitada en el tiempo que se revoca automáticamente al cumplirse la duración definida.
  • Auditoría y control: registra el estado del acceso en el registro de Windows, programa scripts que eliminen asignaciones de rol obsoletas y configura la directiva de grupo para auditar el uso de privilegios y los inicios y cierres de sesión.

Gestionar cuentas de administrador exige un equilibrio cuidadoso entre seguridad y experiencia de usuario. Por ejemplo, el acceso administrativo temporal en Entra solo tiene sentido en determinados segmentos o flujos de trabajo, en los que los privilegios de administrador no siempre son necesarios. Si quieres implantar esta configuración, sigue esta guía completa.

Asegúrate de aplicar las políticas de expiración de forma coherente en todos los sistemas.

→ Descubre NinjaOne para la automatización basada en políticas

Métodos para automatizar el acceso temporal en Microsoft 365

Usa la tabla para elegir el método que prefieras e ir directamente a sus pasos de activación.

📌 Requisitos previos:

  • Microsoft Entra ID P2 o Microsoft Entra Suite (necesario para PIM)
  • PowerShell 7+ con el módulo Microsoft.Graph (Microsoft Graph PowerShell SDK)
  • Permisos de administrador para asignar roles de directorio
  • [Opcional] GPO o etiquetado en el registro de Windows para registrar el estado en local
  • [Opcional] NinjaOne RMM para desplegar scripts, analizar el registro de Windows o enviar alertas

👉 Recuerda: algunos pasos pueden variar según los valores predeterminados del sistema o la configuración activa.

Haz clic para elegir un método💻
Mejor para usuarios individuales
💻💻💻
Mejor para empresas
Método 1: Entra PIM✓
Método 2: script de PowerShell✓

💡 Consejo: consulta la sección Aspectos a tener en cuenta para ver recomendaciones sobre cómo gestionar los posibles riesgos.

Método 1: usar Microsoft Entra Privileged Identity Management (PIM)

Este método es ideal para organizaciones con Entra ID P2/PIM que quieran conceder acceso temporal con expiración automática.

  1. Este es el script para asignar un rol elegible en lugar de un rol activo:

Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory","Directory.ReadWrite.All"

  1. Después, así es como se obtienen el ID del usuario elegible y el ID del rol:

$user = Get-MgUser -UserPrincipalName "[email protected]"

$role =Get-MgRoleManagementDirectoryRoleDefinition | Where-Object {$_.DisplayName -eq "Global

Administrator"}

  1. Si el usuario está inactivo:

New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest `

-PrincipalId $user.Id `

-RoleDefinitionId $roleDef.Id `

-DirectoryScopeId "/" `

-Action "AdminAssign" `

-ScheduleInfo @{startDateTime = (Get-Date); expiration =

@{type="AfterDuration"; duration="PT2H"}}

Así, el usuario recibe acceso durante solo 2 horas y este expira automáticamente.

Método 2: automatizar la activación y expiración de roles con un script de PowerShell

Los scripts de PowerShell son flexibles y pueden ejecutarse desde un RMM para desplegarlos con un solo clic o automatizarlos. Este es el script correspondiente:

Start-MgRoleManagementDirectoryRoleAssignmentScheduleRequest `

-Action "SelfActivate" `

-PrincipalId $user.Id `

-RoleDefinitionId $role.Id `

-DirectoryScopeId "/" `

-ScheduleInfo @{

startDateTime = (Get-Date);

expiration = @{

type = "AfterDuration";

duration = "PT1H"

}

}

Se enviará una solicitud de activación contra la elegibilidad existente, lo que hace que PIM aplique una asignación limitada en el tiempo a los usuarios elegibles. Este script también finaliza el acceso elevado una vez transcurrida la duración establecida.

Consejos para registrar y auditar las solicitudes de acceso administrativo temporal

Las siguientes acciones te ayudarán a aplicar y registrar los privilegios elevados temporales.

Guardar el estado del acceso administrativo en el registro de Windows

Puedes consultar las claves de registro asociadas con PowerShell para comprobar si el despliegue se ha realizado correctamente. Ejecuta el siguiente script con privilegios administrativos:

New-Item -Path "HKLM:\SOFTWARE\Org\AdminAccessAudit" -Force

Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\AdminAccessAudit" -Name

"LastAdminGranted" -Value (Get-Date).ToString("u")

Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\AdminAccessAudit" -Name

"ExpiresAt" -Value ((Get-Date).AddHours(1)).ToString("u")

💡 Consejo: además, también puedes comprobar los valores del registro con reg query HKLM\SOFTWARE\Org\AdminAccessAudit en un símbolo del sistema con privilegios elevados.

Supervisar o revocar el acceso administrativo activo mediante un script

Para aplicarlo de inmediato, puedes usar PowerShell para enumerar las asignaciones activas y eliminarlas una vez superado el periodo de acceso establecido:

$assignments =

Get-MgRoleManagementDirectoryRoleAssignmentScheduleInstance

foreach ($a in $assignments) {

if ($a.StartDateTime -lt (Get-Date).AddHours(-1)) {

Remove-MgRoleManagementDirectoryRoleAssignmentScheduleInstance

-RoleAssignmentScheduleInstanceId $a.Id

}

}

Puedes programarlo con el Programador de tareas o automatizarlo mediante una política de NinjaOne.

Usar la directiva de grupo para el registro de eventos y su aplicación

La directiva de grupo no permite automatizar directamente la expiración del acceso temporal, pero sí puedes usarla para registrar auditorías y detectar solicitudes y cambios de acceso.

Estas son algunas formas en que puede complementar a PIM:

  • Habilita la auditoría detallada de inicios y cierres de sesión, uso de privilegios y gestión de grupos de seguridad.
  • Despliega una tarea programada que ejecute tu script de revocación o supervisión con la periodicidad que decidas.
  • Lanza scripts a partir de determinados ID de evento (por ejemplo, un cambio en el grupo de administradores locales) para remediar o registrar al instante.

Además, puedes limitar el inicio de sesión interactivo a usuarios estándar y gestionar la pertenencia al grupo Administradores local mediante GPO o grupos restringidos.

⚠️ Aspectos a tener en cuenta al automatizar la asignación de perfiles en Intune

A continuación tienes los riesgos más habituales, sus posibles consecuencias y algunas formas prácticas de revertirlos o prevenirlos.

RiesgosPosibles consecuenciasSoluciones
Criterios de elegibilidad poco estrictosLas solicitudes de acceso elevado pueden utilizarse de forma indebida o convertirse en spam.Define reglas de elegibilidad estrictas; exige MFA para activar roles y limitar el spam; usa Power Automate o la API de Graph para avisar a usuarios y administradores de las

activaciones de roles temporales.

Registros de auditoría excesivos o duplicadosDificulta encontrar los eventos importantes y consume almacenamiento adicionalAjusta la política de auditoría para centrarte solo en uso de privilegios, inicio y cierre de sesión y gestión de grupos; archiva o reenvía los registros a un SIEM.
Asignación incorrecta del rol en PIM (elegible frente a activo)El usuario puede conservar derechos de acceso elevados de forma indefinida.Revisa las asignaciones en Entra PIM → Roles; revócalas de inmediato si es necesario desde el portal o con PowerShell.
El usuario no consigue accederErrores de permisos en la API de GraphComprueba que la aplicación o el usuario tiene permisos

RoleManagement.ReadWrite.Directory.

Como siempre con las políticas de acceso, conviene probar y validar las configuraciones en un entorno o segmento controlado. La duración del acceso temporal también merece una reflexión detenida, ya que algunos flujos de trabajo pueden necesitar periodos de expiración más largos o más cortos.

Mejora tus políticas de acceso temporal con NinjaOne

Las políticas de acceso son fundamentales para las operaciones de TI y de negocio, y por eso la automatización resulta tan valiosa: crea flujos de trabajo eficientes, reduce los retrasos y genera registros auditables para la gestión de riesgos y el cumplimiento. NinjaOne te ayuda a conseguirlo y te permite:

  • Desplegar scripts para iniciar o revocar el acceso temporal a un rol
  • Leer claves de registro para validar el acceso administrativo a Windows
  • Lanzar alertas cuando los dispositivos mantienen privilegios de administrador vencidos
  • Registrar eventos relacionados con la elevación de privilegios para las revisiones de auditoría
  • Etiquetar endpoints según su riesgo de exposición administrativa o su cobertura en la política de escalado

Con NinjaOne RMM®, los MSP pueden aplicar políticas de acceso cero permanente con más eficiencia y coherencia, sobre todo en entornos en crecimiento, gracias a la automatización, la visibilidad y el control.

Automatiza la gestión del ciclo de vida del acceso para mantener la visibilidad y el control a gran escala.

→ Prueba hoy NinjaOne Endpoint Management

Buenas prácticas para automatizar la asignación de perfiles en Intune

La gestión de credenciales requiere un enfoque por capas para equilibrar realmente seguridad y flexibilidad entre todas las partes implicadas. Por un lado, el acceso elevado puede ser importante en distintos flujos de trabajo de TI y de producción. Por otro, los privilegios pueden utilizarse de forma indebida o abusiva si no hay políticas estrictas de implantación y control. Teniendo esto en cuenta, el acceso temporal es una salvaguarda fiable para dar soporte a tareas críticas y reducir riesgos.

Temas relacionados:

Guía de inicio rápido

Enfoque recomendado:

Para automatizar la expiración del acceso temporal, lo más probable es que necesites:

  • Usar las capacidades de scripting de NinjaOne
  • Combinarlas con políticas de acceso condicional de Microsoft 365
  • Desarrollar, si procede, un script personalizado para gestionar el acceso de las cuentas de administrador

FAQs

Los usuarios marcados como elegibles pueden activar el rol de forma temporal o bajo demanda. Los roles activos suelen estar en manos de los administradores y conservan los permisos de forma indefinida.

Puedes usar un RMM y scripts para configurar y personalizar el control de acceso. Sin embargo, el scripting exige más configuración y validación manuales.

Es una acción bastante opcional y resulta más útil para crear registros locales y auditar.

El acceso administrativo temporal solo debe concederse durante el tiempo necesario para completar una tarea concreta. La mayoría de las organizaciones usan duraciones de entre 30 minutos y 8 horas, según sus necesidades operativas y requisitos de seguridad. Cuanto más cortas sean las ventanas de acceso, menor es el riesgo de uso no autorizado.

Sí. Con Microsoft Entra Privileged Identity Management (PIM), las asignaciones de rol pueden configurarse con expiración automática. Cuando termina la duración aprobada, los permisos elevados se revocan sin necesidad de intervención manual.

Sí. Microsoft Entra PIM admite flujos de aprobación en los que los aprobadores designados deben revisar y aprobar las solicitudes antes de que los usuarios puedan activar roles con privilegios. Las organizaciones también pueden exigir MFA y una justificación de negocio durante la activación.

Microsoft Entra ID registra las asignaciones, activaciones, aprobaciones y expiraciones de roles en los registros de auditoría y en los registros de actividad de PIM. Puedes revisarlos en el centro de administración de Entra o exportarlos a una plataforma SIEM para los informes de cumplimiento y las investigaciones de seguridad.

Sí. Microsoft Entra ID P2 es necesario para usar Privileged Identity Management (PIM). Sin esa licencia, no están disponibles las funciones de rol elegible ni de activación limitada en el tiempo de PIM.

Sí, pero solo mediante scripts de PowerShell y herramientas RMM en lugar de PIM. Este enfoque funciona, aunque requiere más configuración, validación y mantenimiento manuales para aplicar y auditar la expiración de forma fiable.

Quizá también te interese…

¿Listo para simplificar los aspectos más complejos de las TI?