Como renomear contas de e-mail em lote via API Skymail
IMPORTANTE: Este processo pode levar algumas horas para ser concluído, dependendo da quantidade de contas que estão sendo renomeadas, pois as solicitações são processadas em uma fila global do sistema.
Funcionamento do Script
Este script em PowerShell realiza a renomeação de contas de e-mail na Skymail por meio da API.
Ele processa uma lista de endereços de e-mail a partir de um arquivo TXT e executa a renomeação de cada conta informada.
Etapas do funcionamento
Solicita ao usuário o token de autenticação.
Verifica se o arquivo existe no local informado.
Exibe uma confirmação, solicitando que o usuário valide se realmente deseja prosseguir com a renomeação.
Para cada e-mail listado, realiza uma requisição
PUTvia API.Exibe mensagens informando o sucesso, falha ou skip de cada renomeação.
Ao final, apresenta um resumo do processo executado.
Pré-requisitos
Antes de iniciar, certifique-se de que:
Você possui uma conta ativa no Painel de Controle da Skymail.
Possui conhecimentos básicos em PowerShell.
O arquivo
contas.txtestá localizado na mesma pasta que o script.Em caso de renomeação de domínio, é necessário ter o novo domínio já criado no Painel de Controle da Skymail, para criar o domínio clique aqui.
Download do pacote de scripts
Baixe o arquivo Scripts.zip, disponível aqui e também no final deste guia.
Este pacote contém dois scripts PowerShell, prontos para execução em ambientes Windows.
Preparação do PowerShell
Primeiro, abra o PowerShell como Administrador e execute o comando abaixo para verificar qual é a política de execução de scripts configurada no ambiente:
Get-ExecutionPolicy
Exemplo de retorno:
PS C:\Windows\system32> Get-ExecutionPolicy
RemoteSigned
No exemplo acima, a política de execução está configurada como RemoteSigned.
Para permitir a execução dos scripts necessários neste processo, será necessário alterar temporariamente a política para Bypass.
Execute o seguinte comando:
Set-ExecutionPolicy Bypass
Quando o PowerShell solicitar confirmação, selecione a opção A (Sim para Todos) e pressione Enter.
Exemplo:
PS C:\Windows\system32> Set-ExecutionPolicy Bypass
Alteração da Política de Execução
A política de execução ajuda a proteger contra scripts não confiáveis. A alteração da política de execução pode
implicar exposição aos riscos de segurança descritos no tópico da ajuda about_Execution_Policies em
https://go.microsoft.com/fwlink/?LinkID=135170. Deseja alterar a política de execução?
[S] Sim
[A] Sim para Todos
[N] Não
[T] Não para Todos
[U] Suspender
[?] Ajuda
(o padrão é "N"): A
Após isso, a política de execução estará ajustada e será possível prosseguir com a execução dos scripts.
Geração do Token de API
O próximo passo é gerar o token privado do usuário no painel da Skymail.
Para isso, utilizaremos o script:
generate_skymail_api_token.ps1
No PowerShell (executado como Administrador), navegue até o diretório onde o script está localizado e execute:
.\generate_skymail_api_token.ps1
Exemplo:
PS V:\API> .\generate_skymail_api_token.ps1
Autenticação no Script
Durante a execução, o script solicitará:
Usuário do painel Skymail
Senha do painel
Essas informações serão utilizadas para autenticação e geração do token privado.
Exemplo de execução:
PS V:\API> .\generate_skymail_api_token.ps1
Digite seu usuario: SeuUsuarioDoPainelAqui
Digite sua senha: ********
Seu Token JTI: d2d98068b03f36267624eefad79167b20
Armazenamento do Token
Após a execução, o script exibirá o Token JTI.
Copie esse token e armazene-o em um local seguro, pois ele será utilizado para autenticação nas chamadas da API.
Acesso ao Painel Skymail
Agora acesse o Painel de Controle da Skymail.
Em seguida:
Clique em Minha Conta
Selecione Configurações da Conta
Essa opção está localizada no canto superior direito da tela.
Em seguida, clique em Interface API e copie a chave privada da sua organização. Certifique-se de armazená-la em um local seguro.
O próximo passo é gerar o token de autorização, este passo só deve ser efetuado apenas uma vez, este mesmo token pode ser utilizado sempre que necessário, está atrelado ao usuário do painel que foi utilizado para criá-lo, vai funcionar para sempre desde que o usuário esteja ativo.
Com a chave privada e o primeiro token privado em mãos, baixe o arquivo token-generator.ps1 e execute como administrador no Powershell.
Após a execução ele irá solicitar o "JTI" juntamente com a "SECRET KEY" (Chave privada) que coletamos nos passos anteriores: Conforme a imagem acima o TOKEN será gerado com sucesso!
Este é o token principal de autorização que utilizaremos para as chamadas da API. Copie-o e armazene-o em um local seguro.
Estrutura do Arquivo TXT
O arquivo TXT é simples, onde cada linha contém o e-mail antigo, seguido de uma "," e do novo e-mail. Esse arquivo deve estar NA MESMA PASTA em que o script rename-mailboxes-api.ps1 está e deve se chamar contas.txt.
Agora, com o token principal de autorização e o arquivo contendo as contas em mãos, vamos prosseguir com a execução.
No PowerShell, navegue até o diretório onde o script e o arquivo .txt está localizado e execute o comando:
.\rename-mailboxes-api.ps1
PS V:\API> .\rename-mailboxes-api.ps1O script solicitará o token de autorização principal.
PS V:\API> .\rename-mailboxes-api.ps1
Cole seu JWT: *****************************************
Irá aparecer uma notificação para confirmar se o usuário deseja realmente desabilitar as contas listadas.
Opção "s" para sim e "n" para não:
Selecionei a opção "s" e confirme para desabilitar as contas
Pronto, as contas começarão a ser renomeadas!
Possíveis saídas do script:
Quando a renomeação for feita COM SUCESSO será exibido dessa forma:
Quando a renomeação JÁ ESTÁ EM ANDAMENTO ou o novo nome JÁ EXISTE (seja como conta ou como alias) será exibido dessa forma:
Quando a conta a ser renomeada NÃO FOR ENCONTRADA será exibido dessa forma:
Quando houver algum PROBLEMA COM PERMISSÃO ou com O JWT será exibido dessa forma: