Búsqueda de sitios web

Utilice PowerShell para crear un informe sobre las políticas de Teams asignadas a cuentas de usuario


A menudo me preguntan por qué las consolas de administración de Microsoft 365 omiten la opción de impresión. Por ejemplo, vaya a la sección Usuarios activos del centro de administración de Microsoft 365 y busque una forma de imprimir una lista de usuarios. No hay ninguno. Lo que suele existir es una opción para exportar datos (usuarios en este caso) a un archivo CSV.

Creo que existen varias razones por las que Microsoft adopta este enfoque con las consolas de administración. Primero, la información de la página de las consolas para su visualización. A medida que avanza hacia el final de la lista, aparecen más datos hasta que esté presente el conjunto completo (nunca he probado esto con un inquilino con 50.000 usuarios, pero esa es la teoría). Esta implementación es coherente con la forma en que las API Graph obtienen datos. En inquilinos más grandes, la paginación funciona mejor que si se viera obligado a esperar a que todos los datos estuvieran disponibles. En segundo lugar, el esfuerzo de ingeniería para implementar y soportar opciones de impresión en todas las consolas de administración podría ser un costo que Microsoft quiera evitar. En tercer lugar, la opción de exportación permite a los inquilinos descargar la información y formatearla según sus propios requisitos (todas las organizaciones tienen sus propios formatos). Por último, el acceso programático a los datos suele estar disponible a través de PowerShell o Graph API. En general, es difícil quejarse demasiado de la falta de soporte de impresión en las consolas de administración de Microsoft 365.

Políticas de equipos

Lo que me lleva claramente a Teams y a una solicitud para generar un informe de las políticas asignadas a las cuentas de usuario. Como sabes, a Teams le gustan mucho las políticas. Una verificación reciente reveló 40 políticas de Teams independientes que se pueden asignar a una cuenta (dieciséis políticas están disponibles para editar a través del centro de administración de Teams). A menos que esté involucrado con el sistema Teams Phone (que consume muchas políticas), el administrador promedio de Teams podría interactuar con el siguiente conjunto:

  • Política de reuniones: controla las capacidades disponibles en las reuniones de Teams.
  • Política de mensajería: controla las capacidades en el chat de Teams y los mensajes del canal.
  • Política de configuración de aplicaciones: controla las aplicaciones fijadas en la barra de navegación de aplicaciones y las aplicaciones que los usuarios pueden instalar.
  • Política de permisos de aplicaciones: controla el conjunto de aplicaciones disponibles para los usuarios de Teams.
  • Política de cifrado mejorada: controla la disponibilidad del cifrado de extremo a extremo de Teams en llamadas 1:1.
  • Política de administración de actualizaciones: controla si los usuarios pueden acceder a las funciones de vista previa.
  • Política de canales: controla si los usuarios pueden crear nuevos canales privados y compartidos.
  • Política de comentarios: controla si se solicita a los usuarios que envíen encuestas de comentarios a Microsoft.
  • Política de eventos en vivo: controla cómo el usuario puede crear eventos en vivo.

Con este conjunto de políticas en mente, podemos escribir algo de PowerShell para generar un informe de las asignaciones de políticas de Teams.

Codificando el informe

El guión del informe es muy sencillo.

  • Conéctese al módulo PowerShell de Microsoft Teams para obtener información sobre las políticas asignadas a los usuarios.
  • Conéctese al módulo PowerShell de administración de Exchange Online. Esta es una conexión opcional que utilizo para obtener el nombre del inquilino para el informe mediante el cmdlet Get-OrganizationConfig. También puede usar el cmdlet Get-AzureADTenantDetail del módulo de Azure AD.
  • Para cada usuario, extraiga las asignaciones de políticas y actualice un objeto de lista de PowerShell. Es fácil agregar o restar asignaciones de políticas para personalizar el resultado. Si se utiliza la política predeterminada, generamos "Inquilino predeterminado" (puede elegir un nombre diferente si lo desea); de lo contrario, el script inserta el nombre de la política asignada.
  • Cuando se procesen todos los usuarios, utilice los datos de la lista y algún código HTML para crear un archivo HTML.
  • Cree un archivo CSV utilizando los datos del informe para facilitar el análisis de las asignaciones.
  • Termine informando el éxito y los nombres de los archivos creados.

La figura 1 muestra un ejemplo del informe. Como puede ver, el informe enumera la asignación de cada una de las nueve políticas específicas para cada usuario.

Puede descargar el script desde GitHub. No dude en modificar el código para adaptarlo a los requisitos de su inquilino. Los conceptos básicos seguirán siendo los mismos, pero es posible que desees agregar algunas políticas adicionales o mejorar el formato del informe.

El poder de la concha

No tomó mucho tiempo escribir el guión (es cierto que tenía los bits HTML a mano). Es otra prueba más de lo útil que es PowerShell para los administradores de inquilinos de Microsoft 365 en términos de llenar los vacíos dejados por Microsoft. O, dicho de otra manera, ir a donde Microsoft decide no ir. ¡Disfrutar!

Artículos relacionados