13 Comandos obrigatórios do Microsoft 365 Powershell

Você sabe como aproveitar 100% das funcionalidades do Microsoft 365 através do Powershell?
Saiba que o Centro de Administração do Microsoft 365 é ótimo para usuários básicos, mas você também pode gerenciar todos os aspectos da ferramenta através da cmdlet do Microsoft 365.

Alguns pontos positivos de se usar o Powershell para administrar seu tenant:

  • O Microsoft 365 Powershell revelará informações adicionais que você não pode ver no centro de administração do Microsoft 365.
  • O Powershell permite definir recursos e configurações não disponíveis no Centro de Administração do Microsoft 365.
  • Se você estiver usando o Office 365 para compartilhamento de arquivos , o Office 365 PowerShell permitirá auditar e gerenciar rapidamente o acesso do usuário às unidades compartilhadas.
  • Como o Office 365 PowerShell é uma ferramenta de linha de comando, você pode executar facilmente operações em massa.
  • Você pode usar os cmdlets no Office 365 PowerShell para filtrar dados extraídos do sistema Office 365, fornecendo acesso rápido a informações sobre usuários e sistemas.
  • O Office 365 PowerShell também pode ser usado para automatizar o processo de coleta de dados do seu sistema e enviá-lo para um arquivo CSV.
  • Devido à sua capacidade de auditar rapidamente as informações do usuário, o Office 365 PowerShell é uma maneira poderosa de monitorar e melhorar sua segurança cibernética .
  • Por fim, como o Office 365 PowerShell foi projetado para funcionar em todos os componentes do Office 365, você pode usá-lo para coletar informações das várias partes distintas do sistema.

Ler mais:
Adicionar domínios em Whitelist via Powershell
Curso de Exchange Online Grátis para fazer na quarentena
Habilitar a criptografia de mensagens do Office 365
Microsoft disponibiliza mais de 4 horas de conteúdo sobre Microsoft 365
7 etapas para o licenciamento eficaz do Office 365

Todas essas funções são extremamente úteis para administradores de sistema. No entanto, também deve ser observado que o Office 365 PowerShell foi projetado para aumentar e aprimorar sua capacidade de gerenciar o Office 365, não para substituir o centro de administração do Microsoft 365. Existem algumas tarefas que permanecerão mais eficientes através do Centro de Administração, assim como existem alguns procedimentos de configuração que podem ser realizados apenas com os comandos do Office 365 PowerShell.

Por outro lado, depois de aprender o básico do PowerShell, o sistema é quase infinitamente expansível. Existem dezenas de ferramentas do PowerShell que podem tornar a administração do sistema ainda mais fácil e rápida, e se acostumar à linha de comando significa que você pode usar scripts para automatizar tarefas frequentes (e demoradas).

Por fim, experimente o ISE (Ambiente de script integrado do PowerShell) para todas as suas necessidades do PowerShell. Obviamente, isso facilita os scripts do PowerShell, mas também melhora a experiência da CLI.

Aqui estão os comandos mais úteis do Office 365 PowerShell para automação:

1. Conectando-se a uma instância do Office 365 com o Office 365 PowerShell

Antes de começar a usar o Office 365 PowerShell, você precisará baixar e instalar o módulo do Office 365 para Windows PowerShell e conectá-lo à sua instância do Office 365. Veja como fazer isso:

Install-Module -Name AzureAD

Install-Module -Name MSOnline

Digite suas credenciais de administrador do Office 365:

$Cred = Get-Credential

Agora você precisa criar uma sessão do PowerShell como um usuário remoto. Você pode fazer isso usando o seguinte comando:

$O365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection

Agora, importe os comandos da sessão para a sessão local do Windows PowerShell:

Import-PSSession $O365

Por fim, conecte sua sessão a todos os seus serviços do Office 365 usando este comando:

Connect-MsolService –Credential $O365

Isso conectará o Office 365 PowerShell à sua instância do Office 365 e permitirá que você gerencie usando o Office 365 PowerShell.

2. Conectando-se ao Exchange Online e SharePoint Online com PowerShell

Você também pode se conectar ao Microsoft Exchange Online e Microsoft SharePoint Online, para gerenciar esses serviços a partir da mesma instância do PowerShell.

  • A conexão ao Exchange Online é essencialmente o mesmo processo que a conexão ao Office 365. Aqui estão os comandos relevantes:
$Cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic –AllowRedirection
  • A conexão com o SharePoint Online é um pouco mais complicada e você precisará instalar mais software:
  • Primeiro, instale o recurso Shell de Gerenciamento do SharePoint Online .
  • Em seguida, execute o seguinte comando no PowerShell:
$admin="[email protected]"
$orgname="enterprise"
$userCred = Get-Credential -UserName $admin -Message "Type the password."
Connect-SPOService -Url https://$orgname-admin.sharepoint.com -Credential $userCred

Em seguida, você pode usar o gerenciamento do SharePoint Online e do Microsoft Exchange Online no PowerShell.

3. Obtenha uma lista dos cmdlets disponíveis do Office 365 PowerShell

Os cmdlets são o principal tipo de comando do Office 365 PowerShell e são as ferramentas que você usará com mais frequência. O Office 365 PowerShell, como a maioria das interfaces de linha de comando, permite ver uma lista de todos os cmdlets disponíveis para o seu sistema.

  • Para obter uma lista de todos os cmdlets disponíveis para o MSOnline, execute este comando:
Get-Command -module MSOnline

Você também pode executar o mesmo comando para ver a lista de todos os cmdlets disponíveis para o Azure Active Directory, apenas substituindo a variável -module:

Get-Command -module AzureAD

4. Obtenha uma lista de todos os usuários do Office 365 com o PowerShell

Um dos usos mais comuns do Office 365 PowerShell é obter uma lista de todos os usuários do Office 365. No PowerShell, você pode fazer isso usando apenas um cmdlet: Get-msoluser.

Esse cmdlet retornará todos os usuários do Office 365 com uma licença válida e recuperará automaticamente algumas informações básicas sobre cada um: os parâmetros DisplayName, City, Department e ObjectID.

  • Para fazer isso, execute:
Get-MsolUser | Select DisplayName, City, Department, ObjectID

Você pode ver o número de contas executando um comando semelhante:

Get-MsolAccountSku

E para listar os serviços disponíveis, execute este comando:

Get-MsolAccountSku | select -ExpandProperty ServiceStatus

Esses comandos podem ser expandidos para filtrar os resultados retornados, usando a lógica de linha de comando padrão. Por exemplo, você pode agrupar todos os usuários em um local específico executando:

Get-MsolUser | Select DisplayName, UsageLocation | Sort UsageLocation, DisplayName

Isso exibirá uma lista de todos os usuários, como antes, mas agora classificados por local.

5. Criando um novo usuário no Office 365 com PowerShell

Assim como o PowerShell permite que você obtenha rapidamente uma lista de usuários, ele também pode ser usado para automatizar o processo de criação de novos usuários para o seu sistema. Para criar um novo usuário, você pode usar o cmdlet New-MsolUser:

  • Para automatizar o processo de criação do usuário, use este cmdlet com as variáveis ​​relevantes:
New-MsolUser -UserPrincipalName [email protected] -DisplayName "John Smith" -FirstName "John" -LastName "Smith"

O PowerShell emitirá informações sobre o usuário que você criou, incluindo a senha temporária e o status da licença.

6. Removendo um usuário de todos os sites usando o PowerShell

Para remover um usuário de todos os sites e serviços, você precisará coletar o nome de login e uma lista de todos os sistemas aos quais eles têm acesso. Isso pode parecer um processo complicado, mas graças ao compartilhamento de links de arquivos com senhas e outras soluções de armazenamento em nuvem colaborativas , ele realmente não é mais.

Em seguida, você pode usar o PowerShell para automatizar o processo de removê-los de cada site:

  • Execute o seguinte comando, substituindo as variáveis ​​pelas relevantes para o seu sistema e o usuário de destino:
Get-SPOSite | ForEach {Remove-SPOUser -Site $ _ .Url -LoginName "[email protected]" }

Esse cmdlet retornará o novo status do usuário.

7. Alterando uma senha no Office 365 com PowerShell

Uma das tarefas mais comuns e mais irritantes para os administradores de sistema é alterar a senha de um usuário. Idealmente, os clientes de um programa compartilhado devem usar um gerenciador de senhas , mas o PowerShell oferece a capacidade de atualizar automaticamente a senha para usuários individuais:

  • Para fazer isso, execute o seguinte comando:
Set-MsolUserPassword -UserPrincipalName [email protected] -NewPassword [email protected]!

Você também pode omitir o parâmetro -NewPassword; nesse caso, o sistema gerará automaticamente uma senha aleatória:

Set-MsolUserPassword -UserPrincipalName [email protected]

8. Planos de Licenciamento

O PowerShell vem com um cmdlet extremamente útil que permite ver um resumo dos seus planos de licenciamento atuais e as licenças disponíveis para cada plano. Fazer isso:

  • Execute o seguinte código:
Get-MsolAccountSku

Isso fornecerá um relatório com várias informações importantes:

  • AccountSkuld, que mostra os planos de licenciamento disponíveis para sua organização,
  • ActiveUnits, que é o número de licenças que você comprou para um plano de licenciamento específico.
  • WarningUnits, que é o número de licenças em um plano de licenciamento que você não renovou e expirará após o período de cortesia de 30 dias.
  • ConsumedUnits, o número de licenças que você atribuiu aos usuários de um plano de licenciamento específico.

Você também pode usar sintaxe extra com esse mesmo comando para obter mais informações sobre suas licenças ou para filtrar e classificar seus resultados. Para obter mais informações sobre como fazer isso, visite a documentação da Microsoft sobre o uso do PowerShell para relatórios .

9. Contas de Usuário

Outro cmdlet de relatório útil é Get-MsolUser, que retornará uma lista de todas as contas de usuário para a instalação do Office 365. Aqui está como usar esse comando:

  • Execute o comando:
Get-MsolUser

Você verá uma lista completa de contas de usuário com seus nomes de exibição. Você também pode adicionar vários parâmetros, no entanto, para filtrar as contas exibidas. Por exemplo, para retornar uma lista de usuários não licenciados (usuários que foram adicionados ao Office 365, mas ainda não foram licenciados para usar qualquer um dos serviços), execute este comando:

Get-MsolUser -UnlicensedUsersOnly

Para investigar ainda mais contas específicas, você pode usar o cmdlet where. Para combinar os dois cmdlets, usamos o caractere “pipe” “|”. Isso significa que o Office 365 PowerShell pegará os resultados do primeiro comando e os enviará para o próximo comando. Por exemplo, se você deseja exibir apenas as contas de usuário que possuem um local de uso não especificado, é possível usar este comando:

Get-MsolUser | Where {$_.UsageLocation -eq $Null}

Ao adicionar sintaxe extra após o canal, você pode tornar seus relatórios mais específicos e retornar usuários com qualquer combinação de atributos.

10. Relatórios por email

O PowerShell também pode ser usado como uma maneira poderosa de verificar o uso e os usuários de email, e, de fato, esse é um dos principais aplicativos do sistema quando se trata de relatórios. Aqui estão alguns relatórios úteis por email:

  • Você pode fazer com que o PowerShell retorne detalhes de todas as caixas de correio em seu sistema usando o seguinte comando:
Get-mailbox | get-MailboxStatistics

Você também pode usá-lo para retornar uma lista de todas as caixas de correio que não foram conectadas dentro de 30 dias (ou qualquer outro período), o que indica que você precisa bloquear essas caixas. Para fazer isso, execute:

Get-Mailbox –RecipientType 'UserMailbox' | Get-MailboxStatistics | Sort-Object LastLogonTime | Where {$_.LastLogonTime –lt ([DateTime]::Now).AddDays(-30) } | Format-Table DisplayName, LastLogonTime

Outra ferramenta útil para a segurança cibernética é verificar a atividade de suas caixas de correio para verificar as caixas que estão enviando e recebendo mais mensagens. Há um cmdlet específico para esta tarefa.

Get-MailTrafficTopReport

Por fim, você pode escrever um script para retornar um relatório detalhado sobre todos os grupos de email e seus membros:

function Get-AllO365Members
{
Try
{
$O365Groups=Get-UnifiedGroup
foreach ($O365Group in $O365Groups)
{
Write-Host "Group Membership: " $O365Group.DisplayName -ForegroundColor Green
Get-UnifiedGroupLinks –Identity $O365Group.Identity –LinkType Members
Write-Host
}
}
catch [System.Exception]
{
Write-Host -ForegroundColor Red $_.Exception.ToString()
}
}
Get-AllO365Members

11. Defina as configurações “ocultas” usando o PowerShell para Office 365

Como mencionamos, existem algumas definições de configuração do Office 365 que podem ser acessadas apenas usando o PowerShell.

O exemplo mais claro disso são as opções de configuração do Skype for Business. O centro de administração on-line deste serviço contém algumas opções para permitir que você personalize a maneira como ele é executado em sua organização. No entanto, existem mais opções se você estiver usando o PowerShell. Por exemplo, como reuniões padrão do Skype são configuradas para que:

  • Usuários anônimos podem obter entrada automática para cada reunião.
  • Os participantes podem gravar a reunião.
  • Todos os usuários da sua organização podem ser designados como apresentadores.

Para alterar essas configurações padrão, você pode usar o PowerShell. Aqui está um comando que desativa os três:

Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $False -AllowConferenceRecording $False -DesignateAsPresenter "None"

Se você deseja redefinir as configurações para o padrão, use este comando:

Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $True -AllowConferenceRecording $True -DesignateAsPresenter "Company"

12. Gerenciando a associação ao grupo no Office 365 com o PowerShell

O PowerShell vem com vários cmdlets especificamente para trabalhar com grupos do Office 365. Por exemplo:

  • Execute o comando:
Get-MsolGroup

Para ver uma lista de todos os grupos ativos no Office 365. Este comando também fornecerá uma identificação hexadecimal para cada grupo, da qual você precisará gerenciar a associação.

  • Para adicionar e remover membros do grupo, você também precisará do ID hexadecimal da conta de usuário, que você pode obter executando:
Get-MsolUser | Select ObjectID

Você pode executar um cmdlet relacionado para adicionar ou remover usuários de grupos específicos. Para adicionar usuários, por exemplo, execute o seguinte comando, substituindo os IDs hexadecimais pelos relevantes para o seu grupo e o usuário desejado:

Add-MsolGroupMember -GroupObjectId 5b61d9e1-a13f-4a2d-b5ba-773cebc08eec -GroupMemberObjectId a56cae92-a8b9-4fd0-acfc-6773a5c1c767 -GroupMembertype user

Para remover usuários de grupos, você pode executar o mesmo comando, mas com:

Remove-MsolGroupMember

13. Criando um conjunto de sites do SharePoint com o PowerShell

O comando útil final para o Office 365 PowerShell é usar a linha de comando para criar novos conjuntos de sites do SharePoint:

  • Para fazer isso, execute o seguinte comando:
New-SPOSite -Url "https://enterprise.sharepoint.com/sites/NewSite" -Owner "[email protected]" -StorageQuota "100" -Title "New Site"

Espero que os comandos acima possam ajudar na administração do seu ambiente de Microsoft 365 e também automatizar a sua rotina como administrador.

Este artigo foi útil?

Para manter um padrão de qualidade para vocês, investimos em um ótimo plano de hospedagem, CDN Pago, Plugins de Otimização para o Site, etc…

Ajude-nos a manter o projeto ativo! 

Acompanhe as novidades em tempo real. Siga nosso perfil no Instagram..

Felipe Santos
Felipe Santos é Arquiteto de Cloud e Segurança, com vivência em Administração de Ambientes Windows Server, Cluster, Storages, Backups Veeam e Office 365.
pt_BRPortuguese

ATÉ 90% DE DESCONTO

DECOLE SUA CARREIRA!!

Quer dar um upgrade na sua carreira? 

Invista em você e saia na frente! Conquiste aquele emprego dos sonhos em 2022!