Personalizar firma de correo corporativa para todos los usuarios de tu tenant Microsoft 365

Para personalizar en Microsoft 365 la firma de correo corporativa y que además sea la misma para todos los usuarios de tu tenant, tienes que recurrir a productos de terceros. Y eso implica pagar un coste adicional, que normalmente varía según el número de usuarios que tengas, pero que siempre nos parece caro para lo que conseguimos a cambio.

Es uno de esos detalles que te hubiese gustado establecer en el proceso de migración a Microsoft 365, pero que no resulta tan intuitivo sin comprar herramientas de terceros.

En este artículo voy a explicar cómo puedes personalizar esa firma de correo corporativa utilizando un script de PowerShell. Es una solución que no es perfecta, pero que podría servirte en determinadas circunstancias.

No es perfecta porque presenta una limitación y es que este método establece la firma de correo común para todos los usuarios en Outlook Web y en el nuevo Outlook escritorio, pero no lo hace ni en el Outlook escritorio clásico (ni lo va a hacer), ni en el Outlook móvil. En este último, es cuestión de tiempo que funcione, pues Microsoft está unificando las las firmas en todos los Outlooks salvo el clásico.

Es una limitación, sí, pero si en tu organización habéis dejado atrás el vetusto y pesado Outlook escritorio clasico y cambiado al nuevo Outlook escritorio, cosa que te recomiendo si vais en serio con la nube, esta solución puede que te encaje suficientemente bien.

El caso es que poder personalizar una firma de correo corporativa para todos de forma centralizada consigue evitar el caos de firmas que suele exitir en muchas organizaciones, cuando desde Marketing deciden cambiar la firma corporativa, pero cada uno debe incluirla en su Outlook de manera manual. Unos lo hacen correctamente el primer día, otros no terminan de hacerlo bien y les queda un churro y otros no lo terminan de hacer nunca.

Tener el control centralizado de las firmas permite cuidar la imagen corporativa que proyectamos al exterior, o cosas más prácticas como añadir a la firma un texto o banner publicitario para promocionar productos, eventos o lo que sea.

Estableciendo la firma con PowerShell

Lo que vamos a ver es cómo puedes establecer una firma corporativa para todos los usuarios de tu tenant, de manera que cada usuario tenga como firma ese diseño corporativo que establezcáis, pero con sus datos personales extraidos de AzureAD (Entra ID). Esto implica que debes mantener actualizados los datos personales de los usuarios en el panel de administración de Microsoft 365.

La primera vez que uses el script te costará un poco más de esfuerzo, pero a partir de entonces, te será bastante sencillo modificar o pedir a un compañero que te pase el archivo HTML con la firma modificada y volver a ejecutar el script.

Requerimientos

Para poder establecer las firmas necesitas:

  1. Mantener actualizados en el panel de administración de Microsoft 365 los datos personales de los usuarios, tales como Nombre, Apellidos, Puesto, Teléfono móvil o los que creas necesarios para la firma.
  2. Un usuario con rol de Administrador Global en tu tenant Microsoft 365.
  3. Un ordenador con permisos para ejecutar PowerShell en modo Administrador (solo la primera vez).
  4. Tener instalados en PowerShell los módulos AzureADPreview y ExchangeOnline (para esto necesitas ejecutar PowerShell en modo Administrador la primera vez).
  5. Crear un archivo llamado por ejemplo Firma.html, que contenga la firma de correo deseada en formato HTML.
  6. Crear un archivo con el nombre que quieras y extensión .ps1, que contenga el script PowerShell que se incluye abajo.

Limitaciones

  1. Ya he comentado que esta solución establece la firma únicamente en Outlook Web y en el Nuevo Outlook escritorio. No establece la firma ni en Outlook escritorio clásico, ni en Outlook móvil.
  2. Las imágenes que quieras incluir en la firma, tales como el logo corporativo o logos de redes sociales, etc, deben ir referenciadas en el archivo HTML como vínculos, es decir, la firma no puede contener imágenes incrustadas en formato Base64.

El archivo con la firma

Para este ejemplo, voy a usar un archivo de firma con un HTML muy sencillo, que es con el que firmo mis mensajes habitualmente, pero puedes hacerlo todo lo complejo que quieras.

Este mi HTML de ejemplo, puedes usarlo como base pegándolo en el archivo de texto con tu firma, adaptándolo a tu organización y llamando al archivo Firma.html:

<img src="https://avanza365.com/wp-content/uploads/2023/09/avanza_color-uai-720x187.png" width="110"><br>%%Nombre%% %%Apellidos%%<br>%%Movil%%<br>%%Correo%%<br><a href="https://avanza365.com">https://avanza365.com</a><br><br>Conoce <a href="https://avanza365.com">mi nuevo curso online</a> para que todos tus empleados aprendan a usar Teams con el m&eacute;todo Avanza365

Como puedes ver en el código de ejemplo, debes incluir entre porcentajes dobles %% los nombres de los campos que quieres que se reemplacen por los datos reales del usuario que vienen de AzureAD al ejecutar el script.

El resultado de aplicar ese HTML como firma es este:

La lista de campos o atributos del usuario que puedes usar en la firma y sus equivalentes en el panel de administración (en español) y en AzureAD es esta:

En el HTML de tu firma En el Admin de MS365 En AzureAD
%%Nombre%% Nombre GivenName
%%Apellidos%% Apellidos Surname
%%Puesto%% Puesto JobTitle
%%Departamento%% Departamento Deparment
%%Oficina%% Oficina PhysicalDeliveryOfficeName
%%Telefono%% Teléfono de la oficina TelephoneNumber
%%Movil%% Teléfono móvil Mobile
%%Correo%% (No aparece, se obtiene de la cuenta) Mail
%%Direccion%% Dirección StreetAddress
%%Ciudad%% Población City
%%CodigoPostal%% Código postal PostalCode
%%Provincia%% Estado o Provincia State
%%Pais%% País o región Country

De esta manera, donde quieres que vaya el nombre, en lugar de poner Josu Lekaroz, pondrás %%nombre%% %%Apellidos%% y en lugar de poner Donostia-San Sebastián, pondrás %%Ciudad%%.

Dos detalles importantes que debes tener en cuenta:

  1. Como ya he comentado, las imágenes no pueden ser incrustadas en el archivo de firma en formato Base64, por lo que debes subirlas a un espacio web, obtener sus URLs y referenciarlas como vínculos en los "img src" de tu HTML.
  2. Toda la firma debe ir en una sola línea sin saltos, por lo que deberás asegurarte de que quitas todos los saltos de línea antes de guardar definitivamente el archivo. Editores como Notepad++ te permiten reemplazar caracteres extendidos y buscar todos los \r\n, que son los saltos de línea, reemplazándolos por un espacio vacío.

A parte de esto, tienes bastante libertad para crear y aplicar formato a tu firma como quieras.

El script PowerShell

Muchas gracias a Tony Redmond de Office for IT Pros por la inspiración y a Kamil de MailSignatures.com por la base para el script, el mérito y el conocimiento es de ellos, yo no he hecho sino retocar y adaptar.

<#$users = (Get-AzureADUser -filter "Mail eq 'josu@avanza365.com'" | select GivenName, Surname, JobTitle, Department, TelephoneNumber, Mobile, Mail, PhysicalDeliveryOfficeName, StreetAddress, City, PostalCode, State, Country); $NumUsers = 1 <# Obtiene los datos de un usuario concreto y los mete en un array. Esta pensado para hacer pruebas con tu propio usuario o un usuario de prueba#>

$users = (Get-AzureADUser -All $true | Where-Object { $_.AssignedLicenses.Count -ne 0 } | select GivenName, Surname, JobTitle, Department, TelephoneNumber, Mobile, Mail, PhysicalDeliveryOfficeName, StreetAddress, City, PostalCode, State, Country); $NumUsers = $users.count <# Obtiene los datos de todos los usuarios que tengan licencia en Entra ID (Azure AD) y los mete en un array. Si quieres, puedes seleccionar menos datos o filtrar los usuarios#>

$HTMLsig = Get-Content ".\Firma.html" <# Guarda en una variable el contenido HTML del archivo Firma.html. Cambia la ruta para que apunte a la ubicación de tu archivo.#>

$ProgDelta = 100/($NumUsers); $CheckCount = 0; $UserNumber = 0 <# Variables para mostrar el progreso #>

Write-Host "Procesando buzones"

foreach ($user in $users){
    $UserNumber++
    $UserStatus = $user.Mail + " ["+ $UserNumber +"/" + $NumUsers + "]"
    Write-Progress -Activity "Procesando buzones" -Status $UserStatus -PercentComplete $CheckCount
    Write-Host "Procesando buzon: " $UserStatus
    $CheckCount += $ProgDelta
    
    $HTMLSigX = ""; <# Define variable temporal #>
    $HTMLSigX = $HTMLsig.replace('%%Nombre%%', $user.GivenName).replace('%%Apellidos%%', $user.Surname).replace('%%Puesto%%', $user.JobTitle).replace('%%Departamento%%', $user.Department).replace('%%Telefono%%', $user.TelephoneNumber).replace('%%Movil%%', $user.Mobile).replace('%%Correo%%', $user.Mail).replace('%%Empresa%%', $user.CompanyName).replace('%%Direccion%%', $user.StreetAddress).replace('%%Ciudad%%', $user.City).replace('%%CodigoPostal%%', $user.PostalCode).replace('%%Provincia%%', $user.State).replace('%%Pais%%', $user.Country) <# Reemplaza los parámetros de la firma con los datos de cada usuario en Entra Id#>
    Set-MailboxMessageConfiguration $user.Mail -SignatureHTML $HTMLSigX -AutoAddSignature $true -AutoAddSignatureOnReply $false <# Establece la firma personalizada para el buzón de cada usuario en Outlook Web y en el nuevo Outlook escritorio. El parámetro -AutoAddSignature establece la firma por defecto para todos los mensajes nuevos automáticamente y el parámetro -AutoAddSignatureOnReply hace los mismo para mensajes de respuesta. Yo he establecido que no se incluya en las respuestas porque lo prefiero así. #>
}
Write-Host "Hecho! Se han actualizado las firmas de" $NumUsers "buzones"

Copia y pega este código en un archivo de texto y guárdalo con el nombre que quieras y la extensión .ps1.

El script establece la firma que hayas incluido en el archivo Firma.html para todos los usuarios del tenant que tengan una licencia activa.

También establece que esta firma se incluya automáticamente en los mensajes nuevos pero no en los mensajes de respuesta o reenvío. Es como me gusta a mi, pero puedes cambiarlo modificando el comando Set-MailboxMessageConfiguration poniendo $true o $false en los parámetros -AutoAddSignature y -AutoAddSignatureOnReply.

Por ejemplo, si quisieras que se inserte la firma para nuevos mensajes y para respuestas, tendías que cambiar la línea con ese comando para que quede así:

Set-MailboxMessageConfiguration $user.Mail -SignatureHTML $HTMLSigX -AutoAddSignature $true -AutoAddSignatureOnReply $true

Para que puedas hacer pruebas con un usuario específico (quizás con el tuyo propio) antes de aplicarlo a todos tus usuarios, he incluido una primera línea que está comentada con los caracteres <# y que sirve para puedas probar.
Si quieres hacer pruebas con un usuario específico:

  1. Descomenta (activa) esa primera línea borrando los caracteres iniciales <# y sustituye en esa misma línea mi dirección email con la que quieras usar en tus pruebas.
  2. Comenta (desactiva) la línea 2, insertando los caracteres <# al inicio de la línea.
  3. Guarda el archivo y ejecuta el script sobre ese único usuario para que veas cómo queda la firma.

Cuando termines con las pruebas y estés contento con el aspecto de la firma, vuelve a dejar las 2 primeras líneas como estaban para que el script se ejecute ya sobre todos los usuarios del tenant que tengan una licencia activa.

Personalizar la firma de correo corporativa: El Proceso paso a paso

  1. Crea una carpeta “Establecer Firma HTML” en tu disco duro y copia a esa carpeta los dos archivos, el del script y el de la firma que debe llamarse Firma.html.
  2. Abre PowerShell en modo Administrador
  3. La primera vez y si no los tienes instalados ya, debes instalar los módulos AzureADPreview y ExchangeOnline en PowerShell.

Instala primero AzureADPreview con el comando Install-module AzureADPreview.

Nota: Si al intentar instalar cualquiera de los dos módulos te sale un aviso que indica que ya hay una versión anterior instalada, añade el parámetro -Force al final del comando para forzar la instalación de la última versión, tal como me ocurrió a mí con AzureADPreview (en la imagen).

A continuación, instala ExchangeOnline con el comando Install-ExchangeOnlineManagement, respondiendo que Sí con una S mayúscula a la pregunta que aparece a continuación

  1. Dirígete a la carpeta “Establecer Firma HTML” usando el comando CD de PowerShell.

  1. Conéctate a AzureAD y a Exchange Online en tu tenant con los comandos Connect-AzureAd y Connect-ExchangeOnline

En ambos casos, te pedirá que inicies sesión con un usuario que tenga permisos de Administrador Global.

Conectar a AzureAD tecleando Connect-AzureAd:

A mi me ofrece los usuarios que he usado anteriormente, si no tienes ninguno, te pedirá el usuario y clave de un admin global de tu tenant.

Elige o introduce tu usuario y clave y si son correctos, se conectará y te mostrará los datos de tu tenant

A continuación conéctate a Exchange Online tecleando Connect-Exchangeonline

Te volverá a pedir usuario y clave de admintrador.

Una vez hecho el login y tras mostrarte cierta información (en amarillo) acerca de la versión, te habrás conectado al Exchange de tu tenant

  1. Conectado a ambos entornos, ya estás listo para ejecutar el script. En mi caso se llama SetOutlookSignatures.ps1.

En mi caso, ha actualizado las firmas de los dos únicos usuarios con licencia que hay en mi tenant.

  1. Comprueba en Outlook Web y el nuevo Outlook escritorio que la firma se ha establecido correctamente. Los resultados son bastante instantáneos, simplemente tienes que recargar Outlook web en el navegador y cerrar y abrir Outlook escritorio para que puedas visualizar los cambios.

Para Outlook web, tendrás que recargar la página en el navegador para que coja la nueva firma. Hecho esto, simplemente crea un mensaje nuevo y fíjate en la nueva firma.

Si compruebas la configuración de la firma en Outlook web, verás que estará cambiada a la que has establecido al ejecutar el script

Para el nuevo Outlook escritorio, tendrás que cerrarlo y volverlo a abrir para que puedas ver el cambio.

En ambos casos, puedes ver cómo se ha establecido también que la firma se incluya en todos los mensajes nuevos, pero no en reenvíos o respuestas.

Esto sería todo. La próxima vez que quieras volver a cambiar y personalizar la firma de correo corporativa para todos, no tendrás que preocuparte de instalar los módulos PowerShell y por tanto, no hará falta que ejecutes PowerShell como Administador. Símplemente bastará con que modifiques el archivo HTML de la firma, te conectes a AzureAD y a Exchange Online y ejecutes el script.

Espero que te sirva.


En Microsoft Teams no aparece "Aplicación de escritorio" como opción por defecto para abrir archivos

Cuando en la pestaña Archivos de un canal en Microsoft Teams hacemos clic sobre un documento Word, se lanza la edición de ese documento pero dentro de Teams. Esto es, se nos abre el documento en la versión web de Word e integrado dentro de Teams.

Lo mismo ocurre con hojas de Excel o presentaciones de Power Point.

Esto tiene algunas ventajas y algunos inconvenientes.

La ventaja principal es que el documento se abre muy rápido y es ideal para consultas o lecturas rápidas de documentos Office

Los inconvenientes, son varios:

  • No podemos tener varias ventanas de edición de archivos abiertas al mismo tiempo ya que debemos cerrar primero el archivo abierto para volver a ver la lista de archivos en Teams.
  • No podemos visualizarlos lado a lado en ventanas paralelas.
  • Y lo que más "molesta" a mucha gente, ese Word no es Word, es decir, no es el Word escritorio que tan acostumbrados estamos a usar.

A priori esto tiene una solución fácil.

Basta con hacer clic con el botón derecho del ratón sobre cualquier documento, hoja o presentación, clicar en la opción Abrir y seleccionar Abrir en la aplicación, tal como se ve en la imagen.

Esto abre ese documento, hoja o presentación en la aplicación escritorio correspondiente de Office, es decir, en la aplicación de toda la vida.

Además, si lo deseas, puedes cambiar el comportamiento predeterminado para que cuando hagas clic sobre cualquier archivo Office, automáticamente se abra siempre la aplicación de escritorio correspondiente sin tener que hacer varios clics para conseguirlo.

Simplemente elige la opción Cambiar valor predeterminado y en la ventana resultante selecciona Aplicación de escritorio y guarda los cambios.

Es muy fácil y a partir de ese momento, cada vez que hagas clic en cualquier archivo Word, Excel o Power Point dentro de Teams, se abrira la aplicación escritorio correspondiente.

Lo que ocurre es que muchos usuarios de Teams se encuentran con que la opción Aplicación de escritorio, simplemente no aparece, no se muestra y solo ven las opciones "Teams", que es la predeterminada y "Explorador", que abre el archivo en una pestaña del navegador web predeterminado.

La opción "Explorador" soluciona el inconveniente de no poder abrir varios archivos Office simultáneamente, pero sigue usando las versiones web de Word, Excel y Power Point.

Hay varias razonces por las que muchos usuarios no ven esa opción "Aplicacion de escritorio", pero hay una solución que resuelve el problema para la gran mayoría y es la que explico en el siguiente vídeo.

https://www.youtube.com/watch?v=j37Q4aaIKJI

Consiste simplemente en cambiar una clave del registro de Windows de tu equipo y aunque pueda parecer complicado, cuesta 5 minutos y créeme, funciona.

Si quieres saber más acerca del problema, puedes visitar esta página de Microsoft donde se dan más detalles.

Espero que se sirva.


Limitar quién puede crear equipos en Teams

La eterna duda con Teams: ¿Debemos limitar quien puede crear equipos en Teams? o, por el contrario ¿debemos dejar libertad para que los usuarios creen los equipos que quieran según la necesidad?

El proceso de adopción de Microsoft 365 en una organización pasa por varias fases y una de las primeras y más típicas es cuando ya tienes compradas tus nuevas licencias 365, pero la organización sigue trabajando más o menos como siempre.

En esta fase inicial, los usuarios van descubriendo y probando funcionalidades de Microsoft 365, algo que está muy bien, ya que es autoaprendizaje y normalmente no se olvida.

Pero conlleva riegos, pues, a pesar de lo que diga su fabricante, Microsoft 365 no es una plataforma sencilla de entender para el usuario medio.

Además, Microsoft 365 es bastante abierto en su configuración inicial "out of the box" y permite que casi todo el mundo pueda hacer casi de todo y este es uno de los riesgos principales.

Lo que ocurre en muchas organizaciones

Pasado un tiempo:

  • Los usuarios empiezan a crear carpetas y compartirlas en OneDrive sin ningún orden ni control, incluso con usuarios externos.
  • Crean y comparten calendarios desde Outlook con poco criterio.
  • Crean sitios de SharePoint y empiezan a almacenar archivos en ellos sin que los responsables de sistemas estén al tanto.
  • Crean equipos de Teams de prueba o con objetivos variopintos o de dudosa validez.

El resultado suele ser que, pasados unos meses, empieza a cundir el caos y la sensación de descontrol:

  • Un usuario ha borrado una carpeta con información técnica valiosa de su OneDrive, sin darse cuenta de que la tenía compartida con otros usuarios.
  • Existen 3 calendarios distintos para un mismo proyecto.
  • Alguien ha eliminado un sitio de SharePoint en el que un importante cliente había cargado información valiosísima.
  • Desde dirección ven con pavor que en solo unos meses, se han creado sin control más de 100 equipos de Teams. Hay 4 equipos privados llamados "Marketing", un equipo público llamado "Nóminas" al que tiene acceso toda la organización y nombres de equipo tan variopintos como "Despedida soltera Luisa" o "Porra ciclista 2023".

Adoptar Microsoft 365 implica cambios importantes en cómo se realizan ciertas tareas, no es tan sencillo como pueda parecer y hacerlo bien, conlleva una reflexión inicial y un plan de adopción por fases.

El problema es que casi nunca hay tiempo para ello y para evitar situaciones como las anteriores, es bueno, de entrada, poner ciertos límites a lo que los usuarios pueden hacer con 365.

Quién debería poder crear equipos de Teams

Si quieres evitar que los usuarios de tu organización creen equipos de Teams sin control alguno, puedes establecer que sólo algunos de ellos puedan hacerlo.

Por defecto, cuando tus usuarios entran por primera vez a Teams, tienen libertad absoluta para crear los equipos que quieran. La idea es limitar que, desde la propia aplicación Teams, los usuarios puedan crear equipos.

Es decir, la idea es que cuando un usuario abre Teams, accede al apartado Equipos y clica abajo en el enlace que dice "Unirse a un equipo o crear uno", el botón "Crear equipo" aparezca deshabilitado.

Limitar quién puede crear equipos en Teams. Microsoft no limita por defecto quién puede hacerlo

Digo desde la propia aplicación Teams porque debes saber que, quien tenga permisos de administración de Microsoft 365 en tu organización, siempre va a poder crear equipos desde el portal de administración de 365 y esto es bueno.

Una forma sencilla de hacer esto sería cerrar completamente la creación de equipos desde la aplicación Teams y que únicamente el o los administradores de 365 puedan crearlos desde el portal.

Si quieres que además del administrador o administradores de 365, otros usuarios puedan crear equipos desde la aplicación Teams, también puedes hacerlo y es una buena idea ya que, tiene más sentido que sean las personas responsables de organización en la empresa las que se encarguen de ello y no tanto los responsables de sistemas.

Limitar quien puede crear equipos en Teams

Lo primero, para poder hacer esto, debes tener permisos de administración sobre el tenant Microsoft 365 de tu organización.

Las malas noticias son que hacer esto no es tan sencillo como desactivar una casilla en el portal de administración de Teams.

En realidad, no es complicado, pero requiere ejecutar un script de PowerShell.

Si te has asustado con la frase anterior, quizás es mejor que reenvíes este artículo a un responsable de sistemas de tu organización. Es cierto que Microsoft podría hacerlo más fácil, pero actualmente es lo que hay. No existe otra forma de limitar esto.

El proceso tiene dos partes:

  1. Crear un grupo de seguridad en Microsoft 365 desde el portal de administración y añadir como miembros a los usuarios que sí queremos que puedan crear equipos desde la aplicación Teams.
  2. Ejecutar un script de PowerShell que establece que sólo los miembros de ese grupo de seguridad pueden crear usuarios.

Crear grupo de seguridad en Microsoft 365

Empezamos:

  1. Desde cualquier navegador web accede al portal Microsoft Office e inicia sesión con una cuenta que tenga permisos de administración

    .

  2. Una vez dentro del portal, clica en el menú del gofre y elige la opción Admin. Ten en cuenta que solo verás esa opción si tu usuario tiene permisos de administrador.

  3. Ya en el portal Admin, elige la opción "Teams y grupos" y luego "Grupos y equipos activos". Allí veras la lista de grupos que existen actualmente en tu tenant. Clica sobre la opción "Agregar un grupo".

  4. En los tipos de grupo, elige la opción "Seguridad", ponle un nombre a tu grupo y clica en Siguiente hasta terminar de crear el grupo con las opciones por defecto. Yo he nombrado mi grupo "Creadores Equipos Teams".
  5. De vuelta en la lista de grupos, filtra la lista para que se muestren los grupos de Seguridad y encuentra tu nuevo grupo. Es posible que tengas que recargar la página un par de veces hasta que aparezca.
  6. Clica sobre tu nuevo grupo y en el panel lateral derecho que aparece, elige "Miembros" y usa la opción "Ver todos los miembros y administrarlos" para añadir los usuarios que quieras al grupo.

Yo he añadido dos usuarios, yo mismo y mi compañero Luis.

El grupo de seguridad a cuyos miembros permitiremos crear equipos en Teams

Ya tienes creado tu grupo de seguridad. Vayamos a la segunda parte.

Otorgar con PowerShell permisos de creación de equipos al nuevo grupo de seguridad

Para este paso, vamos a utilizar el script oficial de PowerShell creado por Microsoft y que se explica en detalle en esta página (en inglés).

Este es el script:

$GroupName = "<GroupName>"
$AllowGroupCreation = $False

Connect-AzureAD

$settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
if(!$settingsObjectID)
{
    $template = Get-AzureADDirectorySettingTemplate | Where-object {$_.displayname -eq "group.unified"}
    $settingsCopy = $template.CreateDirectorySetting()
    New-AzureADDirectorySetting -DirectorySetting $settingsCopy
    $settingsObjectID = (Get-AzureADDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
}

$settingsCopy = Get-AzureADDirectorySetting -Id $settingsObjectID
$settingsCopy["EnableGroupCreation"] = $AllowGroupCreation

if($GroupName)
{
  $settingsCopy["GroupCreationAllowedGroupId"] = (Get-AzureADGroup -SearchString $GroupName).objectid
} else {
$settingsCopy["GroupCreationAllowedGroupId"] = $GroupName
}
Set-AzureADDirectorySetting -Id $settingsObjectID -DirectorySetting $settingsCopy

(Get-AzureADDirectorySetting -Id $settingsObjectID).Values

  • Copia todo su contenido y pégalo en un archivo de texto usando cualquier editor de texto.
  • Una vez copiado y pegado, reemplaza en la primera línea, donde dice <GroupName> por el nombre de tu equipo de seguridad, en mi caso esa línea quedaría así:
$GroupName = "Creadores Equipos Teams"

  • Ya está, guarda el archivo con el nombre LimitarCreaciónEquipos.ps1 y recuerda dónde lo guardas.

  • Ahora, necesitamos abrir PowerShell, para ello, en Windows ve al menú inicio, teclea PowerShell y clica sobre PowerShell de entre los resultados de la búsqueda.

  • Una vez en PowerShell necesitamos instalar el módulo AzureAD, que es el que permite que nuestro PC se comunique con nuestro Azure Active Directory en la nube. Teclea:
Install-Module AzureAD

  • Y responde con una Y (yes) para confirmar que quieres instalarlo.

  • Navega hasta la carpeta en la que has guardado el script con el comando "cd Ubicación_del_Script".
  • Ejecuta el script escribiendo:
.\LimitarCreacionEquipos.ps1
Ejecutamos el script PowerShell

  • La ejecución del script va a provocar que salte una ventana de autenticación de Microsoft 365.
  • Inicia sesión con tu usuario y clave de administrador de tu tenant Microsoft 365 (puede ser el mismo con el que accediste al portal de administración).
  • Una vez autenticado, se ejecutará el script.

Comprobando el resultado

El resultado de ejecutar el script mostrará la salida del último comando ejecutado, que es el "Get-AzureADDirectorySetting" de la última línea.

Pues bien, fíjate en dos de las líneas que arroja.

  • La que dice Name: EnableGroupCreation, que debe tener como Value: False. Esto significa que por defecto nadie puede crear grupos en el tenant, o lo que es lo mismo, equipos en Teams.

  • La que dice Name: GroupCreationAllowedGroupID, que debe tener como Value: Código_de_Grupo, o lo que es lo mismo el código interno del grupo cuyos miembros sí pueden crear equipos en Teams y que debería corresponder con el nombre del grupo que hemos metido cuando hemos modificado la primera línea del script.
El resultado de la ejecución. Comprueba los dos valores resaltados en la imagen.

Pues ya está hecho.

Ten en cuenta que es posible que tengas que esperar unas horas para que el cambio tenga efecto, pero el resultado es que ahora, aquellos usuarios que no sean miembros del grupo de seguridad "Creadores Equipos Teams", cuando intenten crear un nuevo equipo, verán una pantalla como la que se muestra en la imagen de abajo. No es muy clara, pero créeme que ya no van a poder crear nuevos equipos.

Al limitar quién puede crear equipos en Teams, aquellos que no pueden hacerlo verán esta muy confusa pantalla que simplemente no les permitirá hacerlo.