Cerrar
InicioAzureMicrosoft Teams: Quitar usuarios deshabilitados en AzureAD de todos tus Teams

Microsoft Teams: Quitar usuarios deshabilitados en AzureAD de todos tus Teams

Algo de primerísimo nivel en cualquier infraestructura o servicio es mantenerlo ordenado, al día y aplicando (a ser posible) las mejores prácticas por parte de sus fabricantes.  Desde nuestra parte, como integradores o administradores de las diferentes soluciones deberíamos preocuparnos por ello, es por esto que hoy voy a comentaros algo muy sencillo: retirar de cada Teams a todos los usuarios deshabilitados (miembros o invitados) en vuestro AzureAD.

Será un artículo muy cortito, puesto que, parte de este artículo ya lo había comentado en su momento en este otro: Microsoft Azure: Ejecutar Scripts de O365 desde Cuentas de Automatización – Blog Santiago Buitrago (santiagobuitragoreis.com). A continuación, os voy a mostrar esa pequeño esquema que suelo poner en muchos de mis artículos donde quedaría 100% representado el proceso:

Como os comentaba el inicio del artículo, hay parte del mismo que no voy a comentar aquí y simplemente debéis acceder a este otro para comprender parte del proceso Microsoft Azure: Ejecutar Scripts de O365 desde Cuentas de Automatización – Blog Santiago Buitrago (santiagobuitragoreis.com). Igualmente, antes de nada, recordaros los requisitos previos para llevar a cabo este simple proceso:

Dicho esto y sin tener que entrar en detalles del proceso de creación de la cuenta de Automatización, Roles y Módulos de PowerShell, os voy a mostrar el sencillísimo script para quitar de Teams a todos nuestros usuarios deshabilitados en AzureAD:

# Conectar la sesión de AzureAD y Microsoft Teams con la cuenta AzTaskTeams
$CredencialesTeams = Get-AutomationPSCredential -Name “AzTaskTeams”
Connect-AzureAD -Credential $CredencialesTeams
Connect-MicrosoftTeams -Credential $CredencialesTeams
# Quitar de todos los Teams los usuarios deshabilitados en AzureAD
$DisabledUsers = Get-AzureADUser -Filter “AccountEnabled eq false” -All  $true
Foreach($User in $DisabledUsers)
{
$Teams = Get-Team -User $User.UserPrincipalName
Foreach($T in $Teams)
{
Remove-TeamUser -GroupId $T.GroupId -User $User.UserPrincipalName
 }
}

Si os habéis leído mi artículo Microsoft Azure: Ejecutar Scripts de O365 desde Cuentas de Automatización – Blog Santiago Buitrago (santiagobuitragoreis.com), veréis almaceno la credenciales del usuarios con el voy a realizar la ejecución de la misma en la cuenta de automatización, de tal forma que luego no tengo que las credenciales del usuario en el script, sino simplemente meterlo en una variable que llamaré en la conexión: Connect-AzureAD -Credential $CredencialesTeams y Connect-MicrosoftTeams -Credential $CredencialesTeams. necesitamos activas las dos sesiones para utilizarlos en el script:

  • Buscar usuarios deshabilitados en AzureAD: Get-AzureADUser -Filter “AccountEnabled eq false” -All  $true
  • Buscar todos los usuarios deshabilitados de AzureAD en todos los Teams:
    Foreach($User in $DisabledUsers){
    $Teams = Get-Team -User $User.UserPrincipalName
  • Quitar a todos los usuarios deshabilitados de todos los Teams: Remove-TeamUser -GroupId $T.GroupId -User $User.UserPrincipalName

Este script lo configuramos en la Cuenta de Automatización, programamos una hora de ejecución y listo, el solito se encargará en base a vuestra planificación de ejecución de quitar a los usuarios deshabilitados de todos vuestros Teams.

Ahora y sin complicaros mucho, si queréis quitar a todos los usuarios invitados deshabilitados [en vuestro AzureAD] de todos vuestros Teams, aquí va la parte del script:

# Quitar todos los invitados deshabilitados en AzureAD de  todos los Teams
$DisabledGuest = Get-AzureADUser -All  $true | Where-Object {$_.accountenabled -like “false”} | Where-Object {$_.usertype -like “guest”}
Foreach($User in $DisabledGuest)
{
$Teams = Get-Team -User $User.UserPrincipalName
Foreach($TUsers in $Teams)
{
Remove-TeamUser -GroupId $TUsers .GroupId -User $User.UserPrincipalName
}
}
Si luego queréis eliminar al usuario invitado deshabilitado, podríamos hacerlo así:
# Quitar todos los invitados deshabilitados en AzureAD de  todos los Teams
$DisabledGuest = Get-AzureADUser -All  $true | Where-Object {$_.accountenabled -like “false”} | Where-Object {$_.usertype -like “guest”}
Foreach($User in $DisabledGuest)
{
$Teams = Get-Team -User $User.UserPrincipalName
Foreach($TUsers in $Teams)
{
Remove-TeamUser -GroupId $TUsers .GroupId -User $User.UserPrincipalName
Get-AzureADUser -SearchString $User.UserPrincipalName | Remove-AzureADUser 
}
}

Para borrar usuarios de AzureAD [Remove-AzureADUser] debemos asignarle el rol de Administrador de Usuarios a la cuenta de ejecución definida en la variable $CredencialesTeams = Get-AutomationPSCredential -Name “AzTaskTeams” sino el usuario no tiene permisos para esa ejecución.

Luego podemos hacer muchas cosas más, buscar usuarios invitados con un último login en x dias para quitarlos de Teams y eliminarlos de AzureAD, etc.. pero bueno, para empezar creo que esto os permitirá tener cierto nivel de orden e higiene de vuestros Teams.

Espero que os sea de utilidad, ahora, como siempre, os toca probarlo a vosotros!!

Microsoft Intune: De
Azure Virtual Deskto
NO HAY COMENTARIOS

DEJA UN COMENTARIO

Este sitio web utiliza cookies. Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra política de cookies. ACEPTAR

Aviso de cookies
Share This