Acessando o Office 365 via Powershell

| 2 minutes read

É muito fácil acessar sua conta do Office365 usando Powershell,
principalmente se você precisa otimizar a administração de contas corporativas
via script em situações onde é necessário manipular muitos usuários simultaneamente.

Alguns exemplos de tarefas que podem ser executadas são:

  • Adicionar novos usuários
  • Remover usuários
  • Mudar permissões
  • etc.



No texto a seguir eu demonstrarei de uma forma bem simples como se conectar a uma conta na nuvem do Office365.

O primeiro passo é instalar os Cmdlets para Office365 ao Powershell,
a partir daí basta se familiarizar com os cmdlets específicos para esta integração.

O passo seguinte é importar o módulo MSOnline para obter acesso aos cmdlets instalados anteriormente:

Import-Module MSOnline

Em seguida é necessário obter as credenciais de acesso ao serviço:

$credenciais = Get-Credential

O comando acima irá mostrar uma tela nativa do Windows solicitando um nome de usuário e senha.

O problema desta abordagem é que se houver a necessidade de colocar este script
no agendador de tarefas ele não irá funcionar, neste caso será necessário
configura-lo para uso em modo não-interativo, conforme o código a seguir:

Import-Module MSOnline  
$password = "avidaebelaagenteequefodeela"  
$securePassword = $password | ConvertTo-SecureString -AsPlainText -Force  
$UserName = "username@domain"  
$Credentials = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $securePassword  
Connect-MsolService -Credential $Credentials

Desta maneira o script converterá as credenciais de acesso, que estão hardcoded, e converterá em um objeto Automation.PSCredential.

É importante frisar que nesta abordagem a segurança é menor, pois a senha fica explícita no código, o que significa que ela estará exposta a qualquer um com acesso ao código.

Durante a transação esses dados ficam criptografados no objeto Automation.PSCredential.

Pronto!

Com esses passos o seu script powershell estará apto a se autenticar na nuvem do Office365.

Segue agora o código completo:

Import-Module MSOnline  
$password = "huehuebrbr"  
$securePassword = $password | ConvertTo-SecureString -AsPlainText -Force  
$UserName = "username@domain"  
$Credentials = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $securePassword  
Connect-MsolService -Credential $Credentials

Espero ter a oportunidade de em breve poder explorar mais funcionalidades como criar, excluir e alterar usuários, por exemplo, e também espero que este post tenha sido útil.

← Como subverter uma nação. Por Yuri Bezmenov | Gerenciador de pacotes para Windows →