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!