Visualización de los detalles de la cuenta de usuario de Microsoft 365 mediante Get-MsolUser – TrucosInformaticos

Powershell

En este artículo, le mostraremos cómo obtener información diversa sobre las cuentas de usuario de Microsoft 365 (ex Office 365) mediante el Cmdlet de PowerShell Get-MsolUser. El Get-MsolUser cmdlet le permite ver las propiedades de una o varias cuentas de Microsoft 365. Este es un análogo del Obtener ADUser cmdlet para Active Directory local, que se usa para obtener valores de atributos de usuario de AD. El Get-MsolUser cmdlet es parte del módulo Azure AD PowerShell (MSOnline). Le permite conectarse a su inquilino de Microsoft 365. Por lo tanto, para usar este cmdlet, primero debe descargar e instalar este módulo. Puede descargar e instalar MSOnline manualmente (instalador exe/msi) o instalarlo en línea desde la Galería de PowerShell. Para hacer esto, simplemente ejecute el comando en la consola de PoSh:

Find-Module -Name MSOnline | Install-Module -Force

Para verificar si el módulo MSOnline está instalado y mostrar su versión, ejecute el comando:

Get-Module msonline

obtener-msoluser

Si desea actualizar la versión de un módulo, ejecute:

Update-Module –Name msonline

Para conectarse a una suscripción de Microsoft 365, guarde sus credenciales en una variable:

$MSOCred = Get-Credential

En la ventana que aparece, ingrese las credenciales de la cuenta con los permisos para conectarse a su inquilino de Microsoft 365.

get-msoluser todos los atributos

Ahora conéctese a su suscripción con las credenciales guardadas:

Connect-MsolService -Credential $MSOCred

Pista. Confirme el inicio de sesión con su dispositivo si la autenticación multifactor (MFA) está habilitada para su cuenta de Azure.

Después de conectarse, ejecute el comando:

Get-MsolUser

Consejo. Si el módulo MSOnline no está instalado en la computadora, aparecerá un error al ejecutar el cmdlet Get-MsolUser:

Get-MsolUser: el término ‘Get-MsolUser’ no se reconoce como el nombre de un cmdlet, función, archivo de secuencia de comandos o programa ejecutable. Verifique la ortografía del nombre, o si se incluyó una ruta, verifique que la ruta sea correcta y vuelva a intentarlo.

+ Totalmente calificadoErrorId: CommandNotFoundException

Este comando devolverá una lista de todos los usuarios de Microsoft 365. De forma predeterminada, el cmdlet devuelve solo tres atributos de usuario de Azure:

  • NombreprincipalUsuario;
  • Nombre para mostrar;
  • tiene licencia.

get-msoluser mostrar todas las propiedades

Para mostrar información sobre un usuario específico, puede especificar su UserPrincipalName. Puede mostrar todos los atributos de usuario:

Get-MsolUser -UserPrincipalName "[email protected]”| Select-Object *|Format-List

obtener msoluser todos los atributos

La cuenta de usuario contiene algunos atributos que determinan sus propiedades, parámetros e información personal (número de teléfono, departamento, empresa, etc.). Puede consultar Azure para valores de atributos específicos:

Get-MsolUser -UserPrincipalName “[email protected]” | Select-Object UserPrincipalName, DisplayName, Department, UsageLocation

Pista. Desafortunadamente, el cmdlet Get-MsolUser no le permite mostrar el valor del atributo personalizado sincronizado (atributo de extensión). Para obtener el valor de la propiedad de la extensión, use el cmdlet Get-AzureADUserExtension:

(Get-AzureADUserExtension -ObjectId [email protected]).extension_{AppClientId}_vehRegCode

Puede usar el cmdlet Where-Object estándar para buscar (filtrar) usuarios con valores específicos en los atributos de Azure AD. Por ejemplo, el siguiente comando mostrará una lista de todos los usuarios cuyo atributo Ciudad esté establecido en París:

Get-MsolUser | Where-Object {$_.City -eq "Paris"}

Puede exportar esta lista a un archivo CSV (conveniente para abrir en Excel):

Get-MsolUser | Select-Object UserPrincipalName, DisplayName, PhoneNumber, Department, UsageLocation| Export-CSV c:\ps\o365userlist.csv –NoTypeInformation

A continuación, se incluyen algunas consultas útiles para obtener datos sobre los usuarios de Microsoft 365 con la ayuda del cmdlet Get-MsolUser.

Puede visualizar todos los usuarios de un departamento específico:

Get-msoluser | Where {$_.Department -eq “Sales Dept”}

Vamos a desplegar la lista de usuarios y licencias asignadas a ellos:

Get-MsolUser | Where-Object {$_.isLicensed -like "True"} | FT DisplayName, licenses, islicensed

Lista de opciones de licencia asignadas:

(Get-MsolUser –UserPrincipalName [email protected] ).Licenses[0].ServiceStatus

propiedades get-msoluser

Lista de usuarios sin licencia:

Get-MsolUser –UnlicensedUsersOnly

Lista de cuentas eliminadas (útil si eliminó accidentalmente una cuenta de Office 365, cuando necesita restaurarla con urgencia):

Get-MsolUser -ReturnDeletedUsers | FL UserPrincipalName,ObjectID

Indique la hora del último cambio de contraseña para los usuarios de Office 365:

Get-MsolUser -All | select DisplayName, LastPasswordChangeTimeStamp

Enumere las cuentas activas (habilitadas):

Get-MsolUser -EnabledFilter EnabledOnly -ALL

Enumere las cuentas deshabilitadas:

Get-MsolUser -EnabledFilter DisabledOnly –ALL

Si no conoce el UPN exacto de un usuario o su ObjectID, puede encontrar usuarios usando el -Cadena de búsqueda parámetro. Cuando usa este parámetro, el cmdlet Get-MsolUser busca coincidencias en los atributos Nombre para mostrar y Dirección de correo electrónico. Por ejemplo, el siguiente comando mostrará una lista de todos los usuarios habilitados con el apellido Gupta:

Get-MsolUser -EnabledFilter EnabledOnly -ALL -SearchString "Gupta"

nombre de la empresa get-msoluser

Para enumerar los usuarios de inquilinos de Azure que no se han sincronizado desde los Servicios de dominio de Active Directory locales (usuarios de la nube) a través de Azure Active Directory Sync (Azure AD Connect):

Get-MsolUser -All -Synchronized:$false

powershell get-msoluser todos los atributos

Con un script de PowerShell, puede verificar si el usuario es nativo de la nube o está sincronizado desde AD local:

$upn = “[email protected]”

if( [bool](Get-MsolUser -Synchronized).UserPrincipalName -contains $upn)

{

Write-Host -foregroundcolor Green $upn " is on-prem Synchronized User"

}

else

{

Write-Host -foregroundcolor Red $upn " is NOT Synchronized User (cloud only user)"

}

Mostrar una lista de usuarios que no han cambiado sus contraseñas durante más de 90 días:

Get-MsolUser | Where-Object { $.LastPasswordChangeTimestamp -lt (Get-Date).AddDays(-90)} | Select-Object DisplayName,UserPrincipalName,LastPasswordChangeTimestamp,Licenses,PasswordNeverExpires | Format-Table

De forma predeterminada, el comando Get-MsolUser devuelve solo 500 entradas. Si desea aumentar la cantidad de cuentas de usuario disponibles en los resultados del comando a 3000, agregue el parámetro -MaxResults 3000:

Get-MsolUser -EnabledFilter EnabledOnly -MaxResults 3000

5/5 - (221 votos)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *