Búsqueda de sitios web

Cómo actualizar fotos de usuarios con Microsoft Graph PowerShell


La gestión de fotografías de perfil de usuario en Microsoft 365 es una tarea necesaria para garantizar que todos los usuarios estén representados de manera profesional en todos los servicios de su organización.

En este tutorial, le mostraré cómo cargar fotos de usuarios en Microsoft 365 para otros usuarios de su organización con Microsoft Graph PowerShell.

¿Por qué actualizar las fotos de los usuarios manualmente?

Si bien algunas organizaciones optan por permitir que los usuarios finales carguen sus propias fotos de perfil para su cuenta corporativa de Microsoft 365, esto a menudo puede llevar a que los usuarios carguen fotos inconsistentes o poco profesionales.

Al permitir que los administradores carguen fotografías de perfil de los usuarios dentro de su organización, los propietarios de empresas pueden asegurarse de que todas las fotografías de los usuarios sean coherentes con la marca de la empresa y sigan siendo profesionales.

La utilización de Microsoft Graph PowerShell para esta tarea permite a los administradores automatizar este proceso para uno o varios usuarios durante la fase de incorporación de usuarios o en cualquier momento futuro.

Requisitos

Los requisitos para usar Microsoft Graph PowerShell para actualizar las fotos de perfil de los usuarios en Microsoft 365 son los siguientes:

  • Los módulos de Microsoft Graph PowerShell están instalados (al menos la versión 2).
  • Derechos de administrador global (para otorgar permisos a aplicaciones en Microsoft Entra)

Actualizar la foto de otros usuarios de su organización requiere permisos de aplicación con Microsoft Graph, a diferencia de la mayoría de las otras tareas relacionadas con la administración de usuarios con Microsoft Graph PowerShell, que se pueden realizar con permisos delegados. Esto agrega otro nivel de complejidad para completar esta tarea bastante simple, de ahí el usuario de una entidad de servicio en los siguientes pasos.

Cómo actualizar la foto de un usuario con Microsoft Graph PowerShell

Siga los pasos a continuación para actualizar la foto de Microsoft 365 para otros usuarios de su organización mediante Microsoft Graph PowerShell.

1. Comience registrando una nueva aplicación (principal de servicio) en Microsoft Entra. Esto le permitirá conectarse a él y utilizar los permisos de la aplicación para actualizar las fotos del usuario. Siga los pasos que escribí en la siguiente publicación para registrar una nueva aplicación, asignar los permisos y crear un secreto de cliente: Registrar una aplicación en Microsoft Entra.

El permiso que necesita asignar a su principal de servicio es User.ReadWrite.All.

2. Una vez que haya preparado su principal de servicio siguiendo los pasos anteriores, conéctese a Microsoft Graph en PowerShell con su secreto de cliente.

$ApplicationId = "Value"
$SecuredPassword = "Value"
$tenantID = "Value"

$SecuredPasswordPassword = ConvertTo-SecureString `
-String $SecuredPassword -AsPlainText -Force

$ClientSecretCredential = New-Object `
-TypeName System.Management.Automation.PSCredential `
-ArgumentList $ApplicationId, $SecuredPasswordPassword

Connect-MgGraph -TenantId $tenantID -ClientSecretCredential $ClientSecretCredential

Aquí está el contexto de mi sesión después de conectarme:

3. Asegúrese de que la imagen de perfil que desea cargar tenga el tamaño correcto. Microsoft admite tamaños de imagen de perfil de hasta 648 x 648. Para garantizar que su imagen se muestre con la más alta calidad, le recomiendo que utilice las dimensiones máximas permitidas. Para verificar las dimensiones de su imagen, haga clic derecho en la imagen en su Explorador de archivos y haga clic en Propiedades, luego haga clic en la pestaña Detalles.

4. Ahora está listo para cargar su foto, use el cmdlet Set-MgUserPhotoContent y proporcione el nombre de usuario del usuario objetivo y la ubicación de la foto objetivo en su dispositivo local.

Set-MgUserPhotoContent -UserId [email  -InFile `
C:\temp\userphoto.png

5. Verifique que la foto se haya cargado correctamente verificando el usuario desde el centro de administración de Microsoft Entra.

Actualizar las fotos de varios usuarios.

El cmdlet Set-MgUserPhotoContent también se puede usar con cierta lógica de PowerShell para actualizar las fotos de varios usuarios al mismo tiempo. La idea detrás de esto es garantizar que la foto de cada usuario tenga su nombre y apellido; en organizaciones más grandes, esto se lograría más fácilmente si cada usuario proporcionara y cambiara el nombre de la foto con alguna orientación. He almacenado algunas fotos de usuario de muestra en mi máquina local como se muestra a continuación.

También tengo una lista CSV de todos mis usuarios, que contiene su nombre, apellido, sufijo de nombre de usuario y ubicación de su archivo de imagen. Para mi ejemplo a continuación, eliminé el sufijo de dominio de la columna Nombre de usuario, pero para sus datos, asegúrese de incluirlo.

A continuación se muestra un script de referencia simple que importará el archivo CSV que contiene la información del usuario y recorrerá cada usuario para configurar su foto de perfil en Microsoft 365. También hay un manejo básico de errores para producir una lista de usuarios cuyos script no pudo actualizar. imagen para.

$Users = Import-CSV c:\temp\userlist.csv
$failed = [System.Collections.Generic.List[Object]]::new()

ForEach ($user in $users){
    Write-host "Setting user profile for $($user.UserName)"
    Try{
        Set-MgUserPhotoContent -UserId $user.username -InFile $user.photo
    } catch {
        Write-host "Unable to set photo for $($user.UserName)"
         $failed.Add($user.UserName)
    }
}

Write-host "Unable to set profile for for the following users: `n" ($failed -join "`n") -ForegroundColor Yellow

Artículos relacionados