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.