5 comandos Powershell que todo administrador de Microsoft 365 precisa saber

A vida de um administrador de Microsoft 365 não é fácil e disso todos nós sabemos. Porém, o que faz nossa vida ficar um pouco mais fácil de levar é saber que existem alguns comandos em Powershell que tornam nossa vida mais simples. Neste tópico, você vai conhecer quais são os 5 comandos Powershell que todos os administradores de Microsoft 365 precisam saber!

1 – Conectar ao Microsoft 365 usando Connect-MsolService

Começamos com o primeiro de todos: Connect-MSolService. É por meio deste comando que a magia começa porque é nele em que você efetivamente inicia sua sessão de powershell para Microsoft 365. Um recado importante para você que cuida da segurança da sua empresa: se você estiver usando autenticação multifator, fique tranquilo! O comando suporta a verificação em múltiplas etapas sem problemas!

Eu tenho um post completo falando sobre como se conectar no Microsoft 365 usando este comando. Você pode acessar clicando aqui.

2 – Filtrar usuários usando Where

Pois é. Essa aqui muita gente não sabe, mas quando você quer resultados muito específicos na sua busca, você pode usar where durante o seu script Powershell para ter uma filtragem melhor. Por exemplo:

Consultar somente usuários com licenças de Office 365 Enterprise E5:

Get-MsolUser -All | Where {$_.Licenses.AccountSkuId -like "*ENTERPRISEPREMIUM"}

Consultar todos os usuários com sobrenome começando em “Bo”:

Get-MsolUser -All | Where {$_.LastName -Like "Bo*"}

É muito útil quando você precisa achar valores específicos como usuários com determinado sobrenome, departamento, domínio, etc.

3 – Mostrar somente alguns atributos usando Select

Entrando na mesma linha que o comando where, você pode usar select quando quer apenas que o comando retorne somente algumas informações e não todas.

Visualizar nome completo e departamento somente dos usuários com licença Enterprise E5:

Get-MsolUser -All | Where {$_.Licenses.AccountSkuId -like "*ENTERPRISEPREMIUM"} | Select DisplayName,Department

Visualizar o nome e cargo de usuários que possuem uma licença (seja ela qual for):

Get-Msoluser -All | Where {$_.isLicensed -eq $true} | Select DisplayName,Title

4 – Exportar um relatório de usuários

Este é fantástico quando você precisa apresentar aquele relatório falando quais são os usuários licenciados, quais licenças possuem, etc, etc. neste caso você pode combinar o uso do que viu até agora com where e select, para finalmente usar um Export-csv.

Este cmdlet permite a você salvar as informações extraídas em um arquivo CSV (valores separados por vírgula) e, a partir dele, você pode gerar uma planilha com as informações que você colheu.

Exportar lista de usuários do Microsoft 365 que ainda não possuem uma licença:

Get-MsolUser -All | where {$_.isLicensed -eq $false} | Select UserPrincipalName,DisplayName| Export-Csv -Path C:\temp\UsuariosSemLicenca.csv -NoTypeInformation

Neste script estou salvando no caminho C:\temp um arquivo chamado UsuariosSemLicenca.csv e, dentro deste arquivo vamos ter 3 colunas:

  • UserPrincipalName: mostrando o usuário de logon;
  • DisplayName: mostrando o nome completo do usuário.

5 – Usar Foreach para tarefas repetitivas

O maior mal que um administrador do Microsoft 365 pode passar é ter que ficar executando várias vezes a mesma atividade. Isso toma muito tempo e, pior, aumenta demais a margem de falha humana. Por conta disso, o Powershell é nosso maior aliado quando usamos o comando foreach.

Aproveitando a lista que criamos na etapa anterior eu vou executar uma ação em massa de licenciamento com os usuários. Veja como fica:

$users=Import-csv C:\Temp\UsuariosSemLicenca.csv
foreach ($user in $users) {
    Get-MsolUser -UserPrincipalName $user.UserPrincipalName | Set-MsolUser -UsageLocation BR
    Get-MsolUser -UserPrincipalName $user.UserPrincipalName | Set-MsolUserLicense -AddLicenses "M365x484652:Win10_VDA_E3"
}

Vendo assim parece difícil né? Mas, fique tranquilo! Eu tenho um artigo esmiuçando o uso do foreach e você encontra mais informações aqui. O uso que dou é para Exchange Online, mas você pode muito bem aplicar para Office 365!

Conclusão

Saber estes 5 comandos powershell são primordiais para agilizar ao máximo a sua eficiência de administração no Microsoft 365. Você já usa este comando no seu dia-a-dia? Me deixe um comentário aqui embaixo! Como sempre, te vejo em breve na próxima atualização!