Get-MsolUser PowerShell Attributes & Properties

Este artigo foi actualizado para 2021. Note que o WAAD foi reformado em 2018, mas os cmdlets listados neste artigo ainda são úteis para organizações que usam o WAAD.

Não há muitos administradores do Office 365 que saibam que o cmdlet do PowerShell do Get-MsolUser desempenha um papel importante ao gerenciar o Office 365 Windows Azure Active Directory, ou WAAD para abreviar.

Tutoriais do Windows Server

Get-MsolUser pode ser muito útil em tarefas operacionais diárias relacionadas ao Office 365 WAAD.

Mas antes de poder utilizar o Get-MsolUser cmdlet ou qualquer outro cmdlets do Office 365 PowerShell, terá de instalar o Microsoft Online Sign-In Assistant for IT Professional e o Windows Azure Active Directory Module for Windows PowerShell num computador com o Windows 7 ou posterior.

Nota: Em Outubro de 2015, os programadores da Microsoft lançaram uma nova versão do Azure Active Directory Module que suporta contas de utilizador do Office 365 que são multi-factor activadas (MFA). A versão antiga do Azure Active Directory Module não suporta contas habilitadas para MFA. Você pode baixar a versão MFA do Azure PowerShell do site Microsoft connect.

Neste caso, estamos usando o Office 365 Business Premium com um teste gratuito por 30 dias. Adicionamos um domínio chamado ExampleIT.com e este é o domínio que usaremos para serviços do Office 365, como e-mail, SharePoint, Lync e para permitir que os usuários baixem aplicativos Office como Word, Excel e PowerPoint em desktops ou dispositivos móveis.

Após instalar o MSOnline Sign-In Assistant e o Azure PowerShell Module em um computador, vá para iniciar > pesquisa > digite “Windows Azure Active Directory Module”, clique com o botão direito do mouse no atalho e depois clique em “Run As Administrator” para abrir a janela do Azure PowerShell em um modo elevado. Em seguida, você precisará usar “Connect-MSolservice” para conectar-se ao Office 365 Tenant, que por sua vez, permite que você explore usuários WAAD usando o Get – MSOlUser cmdlet.

Por padrão, quando você executa o GetMsolUser PowerShell cmdlet, você recebe o Nome Principal do Usuário, Nome de Exibição e se o usuário é licenciado ou não.

get-msoluser PowerShell Cmdlet - Screenshot #1

Como você pode ver na saída acima, o Get-MSOlUser lista todos os usuários que foram criados no Office 365 com seu UserPrincipalName, DisplayName e o status da licença. A coluna isLicense status indica se um usuário é ou não assinante de um serviço do Office 365.

Esta é a saída básica que você vê quando executa o cmdlet Get-MsolUser sem parâmetros. Mas há muito mais que você pode fazer com a cmdlet do Get-MsolUser.

Por exemplo, você pode usá-lo para

  • Procurar por usuários
  • Identificar quando um usuário foi criado
  • Localizar quando um usuário mudou sua senha na última vez
  • Que licenças estão associadas a um usuário
  • As políticas de senha que se aplicam a um usuário
  • Se um usuário está sincronizado a partir de On-Premises Active Directory ou não

Esta lista de comandos Get-MsolUser PowerShell inclui opções que você pode achar úteis em suas necessidades operacionais diárias.

Configurar Data e Hora de Criação para Utilizadores do Office 365

Para obter uma lista de utilizadores com o seu tempo de criação, corra o seguinte comando PowerShell:

GET-MSOLUSER | SELECT-OBJECT USERPRINCIPALNAME, WHENCREATED | FT -AUTOSIZE

A propriedade “WhenCreated” mostra o tempo de criação do utilizador como mostrado na janela do PowerShell abaixo:

Get-MsolUser PowerShell cmdlet - Screenshot #2

Se desejar exportar a lista para um ficheiro CSV, use este comando:

Get-MsolUser -ALL | Select-Object UserPrincipalName, WhenCreated | Export-CSV AllUsersWithWhenCreated.CSV -NoTypeInformation

Um ficheiro CSV com o nome de ficheiro “AllUsersWith WhenCreated”.CSV” será gerado na pasta local.

Tip: O arquivo cmdlet Export-CSV PowerShell é suportado para todos os cmdlets do Windows PowerShell.

Searching for Users

Although você pode procurar por usuários no Centro de Administração do Office 365, usando o cmdlet Get-MsolUser lhe dá a oportunidade de armazenar a saída em um arquivo CSV. Por exemplo, para recuperar uma lista de usuários que contenham “Rick” no nome da tela, execute o seguinte comando:

GET-MSOLUSER -SEARCHSTRING "RICK" | SELECT-OBJECT USERPRINCIPALNAME, ISLICENSED | EXPORT-CSV USERSWITHRICK.CSV -NOTYPEINFORMATION

List Users that are Enabled/Disabled

Pode também usar o cmdlet Get-MsolUser para recuperar uma lista de usuários que estão habilitados ou desabilitados adicionando o parâmetro “-EnabledFilter”. O parâmetro “-EnabledFilter” suporta dois valores: EnabledOnly e DisabledOnly como mostrado nestes comandos:

GET-MSOLUSER -ENABLEDFILTER ENABLEDONLY -ALL | EXPORT-CSV ENABLEDOFFICE365USERS.CSV -NOTYPEINFORMATION

GET-MSOLUSER -ENABLEDFILTER DISABLEDONLY -ALL | EXPORT-CSV DISABLEDOFFICE365USERS.CSV -NOTYPEINFORMATION

O primeiro comando recupera os usuários que estão habilitados enquanto o segundo comando recupera uma lista de usuários que estão atualmente desabilitados.

Conseguir utilizadores sincronizados

Office 365 permite implementar um cenário “Synchronized Identity” no qual os utilizadores de um Active Directory no local são sincronizados utilizando as ferramentas DirSync, AADSync ou AADConnect e populados para o Office 365 WAAD. Esta sincronização elimina a necessidade de criar usuários no Office 365 separadamente. Cada utilizador deve estar sincronizado para recuperar informação actualizada a partir do Active Directory no local.

É importante notar que o Azure PowerShell cmdlets não fornece um interruptor que pode utilizar para listar os utilizadores que estão sincronizados a partir do Active Directory no local. Isto é o que torna o Get-MSOlUser cmdlet tão poderoso.
A cada utilizador que está sincronizado a partir do Active Directory On-Premises é atribuído um atributo de utilizador chamado “ImmutableID”. O atributo “ImmutableID” persiste quando um usuário é sincronizado a partir do Active Directory On-Premises. Para consultar usuários sincronizados e armazenar a saída em um arquivo CSV, execute o comando PowerShell abaixo:

GET-MSOLUSER -ALL | WHERE IMMUTABLEID -NE $NULL

Esse comando instrui o Get-MSOlUser a consultar todos os usuários que não têm um valor atribuído ao atributo ImmutableID.

Getting Last Synchronization Time for Users

Todos os usuários sincronizados a partir de um Active Directory no local terão um timestamp de sincronização. Estes comandos irão puxar o último tempo de sincronização para um único usuário ou para vários usuários.

Para obter a última hora de sincronização para um único usuário:

GET-MSOLUSER -USERPRINCIPALNAME "" | SELECT-OBJECT USERPRINCIPALNAME, LASTDIRSYNCTIME

E para executar este comando para todos os usuários e armazenar a saída em um arquivo CSV, use este comando:

GET-MSOLUSER -ALL | SELECT-OBJECT USERPRINCIPALNAME, LASTDIRSYNCTIME

Existem outras informações valiosas do usuário do Office 365 que você pode recuperar usando o PowerShell cmdlet Get-MsolUser, mas primeiro você precisa saber se existem propriedades disponíveis para o usuário do Office 365 que detém as informações necessárias.

Para obter uma lista de propriedades de utilizador associadas aos utilizadores do Office 365, corra o comando “Get-MSOlUser | Get-Member”. Depois de conhecer as propriedades do utilizador que podem conter a informação necessária, use a seguinte sintaxe Get-MSOlUser para obter a informação do utilizador:

GET-MSOLUSER -USERPRINCIPALNAME "" | SELECT-OBJECT PROPERTY1, PROPERTY2, PROPERTY3

Conseguir informação para todos os utilizadores do Office 365

Pode ter notado o uso dos parâmetros -MaxResults ou -ALL em alguns dos comandos PowerShell explicados acima. Por padrão, o cmdlet Get-MsolUser pode recuperar apenas 500 usuários em um comando.

Se houver mais de 500 usuários em um Office 365 WAAD, você deve usar ou os parâmetros -ALL ou -MaxResults. O parâmetro -MaxResults instrui o cmdlet Get-MsolUser a retornar até o valor especificado no parâmetro -MaxResults, enquanto o parâmetro -ALL permite que você obtenha resultados para todos os usuários do Office 365. Não se esqueça de usar esses parâmetros com base nos seus requisitos de comando.

Get-MSOLUSER para flexibilidade

Microsoft Office 365 fornece o PowerShell cmdlets que pode reduzir drasticamente o tempo que leva para executar tarefas através do Centro de Administração do Office 365. Como a maioria das tarefas em um ambiente em nuvem do Office 365 estão associadas a um usuário, o uso do Get-MsolUser PowerShell cmdlet fornece maior flexibilidade em termos de gerenciamento de instâncias do Office 365 WAAD.

Nirmal Sharma é um MCSEx3, MCITP e Microsoft MVP em Serviços de Diretório. Ele é especializado em serviços de diretório, Microsoft Azure, clusters de Failover, Hyper-V, System Center e Exchange Servers, e está envolvido com tecnologias Microsoft desde 1994. Em seu tempo livre, ele gosta de ajudar os outros e compartilhar alguns de seus conhecimentos escrevendo dicas e artigos em vários sites e contribuindo para Health Packs para as soluções ADHealthProf.ITDynamicPacks.Net. Nirmal pode ser contactado em

Leave a Reply