Asignar usuarios a la aplicación Azure AD con PowerShell

Las aplicaciones empresariales de Azure AD son una excelente manera de conectar aplicaciones de terceros a su Azure Active Directory.

Según su plan de Azure AD, puede asignar usuarios individuales a una aplicación o grupos completos.

Con Azure AD Plan 1 solo puede asignar usuarios, no grupos. Por lo tanto, mantener actualizada su lista de usuarios es una tarea horrible.

Cada vez que agregue un nuevo usuario a su inquilino de Office 365, también deberá agregar el usuario a la aplicación de Azure AD.

Usuarios de aplicaciones de Azure AD

Por ejemplo, si desea integrar Jira Cloud con Azure AD. Si tiene Jira Cloud Access (Atlassian Cloud Access), puede conectarlo con su Azure Active Directory para que los nuevos usuarios se agreguen automáticamente a Jira.

Agregar usuarios a la aplicación Azure AD con PowerShell

Para asignar automáticamente nuevos usuarios a las aplicaciones empresariales, necesitamos conocer los usuarios existentes y todos los usuarios con licencia en nuestro arrendatario.

Obtener usuarios con licencia es más fácil con los servicios de Msol, pero quiero ejecutar este script en un Runbook de Azure.

La autenticación de Azure AD es mucho más fácil (y más conveniente) que los servicios de Msol.

Consejo

Si desea obtener más información sobre cómo comenzar con Azure Runbooks o la autenticación en Runbooks, asegúrese de leer este artículo.

vamos a necesitar la identificación del objeto de la aplicación empresarial de Azure AD, la entidad de servicio para ser exactos.

Para obtener esto, simplemente podemos filtrar el AzureADServicePrincipal en el nombre de la aplicación.

# Connect to Azure AD
Connect-AzureAD

# Get the service principal for the app you want to assign the user to
$servicePrincipal = Get-AzureADServicePrincipal -Filter "Displayname eq 'APPLICATION-NAME'"

Con el servicePrincial podemos obtener todos los usuarios a los que se les ha asignado un rol en la aplicación:

# Get all users that are already assigned to the application
$existingUsers = Get-AzureADServiceAppRoleAssignment -all $true -ObjectId $servicePrincipal.Objectid | select -ExpandProperty PrincipalId

Solo queremos agregar usuarios de Office 365 que tengan una licencia. Si no lo filtramos, también obtendremos cuentas de invitados, por ejemplo.

# Get all licensedUsers
$licensedUsers = Get-AzureADUser -all $true | Where-Object {$_.AssignedLicenses} | Select displayname,objectid

El siguiente paso es comparar ambas listas que tenemos que obtener todos los nuevos usuarios que necesitamos agregar:

# Compare lists
$newUsers = $licensedUsers | Where-Object { $_.ObjectId -notin $existingUsers }

Así que ahora tenemos una lista de nuevos usuarios que no están asignados a la aplicación. Simplemente podemos procesar esta lista y asignarles un nuevo rol a la aplicación Azure AD Enterprise:

ForEach ($user in $newUsers) {
  Try {
    New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $servicePrincipal.ObjectId -Id $servicePrincipal.Approles[0].id -ErrorAction Stop

    [PSCustomObject]@{
        UserPrincipalName = $user.displayname
        AppliciationAssigned = $true
    }
  }
  catch {
    [PSCustomObject]@{
        UserPrincipalName = $user.displayname
        AppliciationAssigned = $false
    }
  }
}

Siempre trato de usar un bloque try-catch y enviar los resultados a un objeto personalizado. De esta manera podemos ver fácilmente lo que ha hecho el script.

Terminando

He usado este script en un Azure Runbook. Puedes encontrar el completo script aquí en mi Github que puede usar en un runbook.

La autenticación se basa en la cuenta de ejecución de la cuenta de Azure Automation. Puede encontrar más información al respecto aquí.

Si tiene alguna pregunta, simplemente deje un comentario a continuación.

Otros artículos relacionados

Cómo iniciar Windows 10 en modo seguro durante el arranque

Cómo iniciar Windows 10 en modo seguro durante el arranque

Cuando Windows 10 ya no se inicia, tiene dos opciones a la hora de repararlo. Puede iniciar Windows 10 en ...
Leer Más
Revisión de Action1 - Administración de parches - Primeros 100 puntos finales gratis

Revisión de Action1 – Administración de parches – Primeros 100 puntos finales gratis

#patrocinado Mantener sus endpoints actualizados es vital. Los parches de software salen casi todas las semanas en estos días y ...
Leer Más
Uso de la API de Microsoft Graph con Powershell

Uso de la API de Microsoft Graph con Powershell

La API de Microsoft Graph le brinda la capacidad de interactuar con los servicios de Azure en constante evolución a ...
Leer Más
Restaurar Papelera de reciclaje SharePoint Online con PowerShell

Restaurar Papelera de reciclaje SharePoint Online con PowerShell

Uno de mis usuarios eliminó una biblioteca de documentos completa que contenía más de 12000 elementos. Sincronizó la carpeta con ...
Leer Más
¡Cómo reparar el error DNS_PROBE_FINISHED_BAD_CONFIG en 5 minutos!

¡Cómo reparar el error DNS_PROBE_FINISHED_BAD_CONFIG en 5 minutos!

Abre Chrome y navega hasta tu sitio web favorito. Pero en lugar de la página web, obtienes No se puede ...
Leer Más
Arreglar 'No se puede acceder a este sitio' rápidamente

Arreglar ‘No se puede acceder a este sitio’ rápidamente

El error "No se puede acceder a este sitio” es un error común que puede obtener en Chrome cuando intenta ...
Leer Más

Deja un comentario