Scritps do Office365 – parte2: Migrando usuários contidos em um arquivo texto para o Exchange Online e habilitando o forward para a coexistência

São Carlos (um churras ia bem hoje…) Vamos continuar com a nossa série de posts sobre os scripts para administração e deploy do Office365 / BPOS, tanto em PowerShell quanto em VBS. Vale lembrar que esse scritp foi gentilmente disponibilizado pelo grande profissional em Office365, o Cristiano Gonçalves.

No script de hoje (em PowerShell), vamos abordar como migrar os usuários contidos em um arquivo txt para o Office 365 / BPOS criando o respectivo forward para a configuração de coexistência. O forward irá manter os e-mails tanto no ambiente on-premises quanto no online.

Ah, vale lembrar que devemos ter um endereço SMTP por linha no arquivo txt.

Eis o código:

#Author: crisag@microsoft.com

#gets the name of the users file
$SourceFile = $args[0]

#gets the user list content
$userlist = Get-Content $SourceFile

#getting credentials
$sourcecred = $host.ui.PromptForCredential("Need credentials", "Please enter SOURCE credentials.", "", "NetBiosUserName")
$targetcred = $host.ui.PromptForCredential("Need credentials", "Please enter TARGET credentials.", "", "NetBiosUserName")

#creating the logfile
$date = Get-Date -format "ddMMyyyy"
$LogFile = $date + "_migration.txt"
remove-item $LogFile -ea SilentlyContinue

$error.Clear()
foreach($user in $UserList)
{
    $message = $(Get-Date -Format "ddMMyy hh:mm:ss") +" Creating forward rule for User -> " + $user
    write-output $message
    #establishing user forwarding
    Add-XsExchangeForwardingAddress -SourceIdentity $user -TargetCredential $targetcred
    if($error.Count -ne 0)
    {
        $message = $(Get-Date -Format "ddMMyy hh:mm:ss") + " ERROR: User " + $user + " failed to create forward rule."
        write-output $message | out-file -filePath $LogFile -append -noClobber
        $message = $(Get-Date -Format "ddMMyy hh:mm:ss") + " ERROR:::: " + $error[0].ToString()
        write-output $message | out-file -filePath $LogFile -append -noClobber
        $error.Clear()
    }
    else
    {
        $message = $(Get-Date -Format "ddMMyy hh:mm:ss") + " FRWRD: User " + $user + " created."
        write-output $message | out-file -filePath $LogFile -append -noClobber
        $message = $(Get-Date -Format "ddMMyy hh:mm:ss") + " Copying on-premises data for User -> " + $user
        write-output $message
        #Migrate data
        Move-XsExchangeMailboxToExchangeOnline –SourceIdentity $user –AllowUnsecureConnection –TargetCredential $targetcred -SourceCredential $sourcecred
        if($error.Count -ne 0)
        {
            $message = $(Get-Date -Format "ddMMyy hh:mm:ss") + " ERROR: User " + $user + " failed to move data."
            write-output $message | out-file -filePath $LogFile -append -noClobber
            $message = $(Get-Date -Format "ddMMyy hh:mm:ss") + " ERROR:::: " + $error[0].ToString()
            write-output $message | out-file -filePath $LogFile -append -noClobber
            $error.Clear()
        }
        else
        {
            $message = $(Get-Date -Format "ddMMyy hh:mm:ss") + " MOVED: User " + $user + " moved."
            write-output $message | out-file -filePath $LogFile -append -noClobber
        }
    }
}

 

Abraços,

Carlos Monteiro.

Tags: , , , , , , , ,

2 Respostas to “Scritps do Office365 – parte2: Migrando usuários contidos em um arquivo texto para o Exchange Online e habilitando o forward para a coexistência”

  1. Fabiano Moura Says:

    Carlão, só duas perguntas, os servidores cloud da Microsoft não fica no Brasil né?
    Você conhece algum servidor com soluções para cloud, mas que fica no Brasil?

    Parabéns pelo artigo!

    • carlosedmonteiro Says:

      Fabiano, já é sabido que a Microsoft irá criar uma datacenter no Brasil. Agora, não há a garantia de que os dados do serviço que foi comprado estarão armazenados no Brasil.
      Abraços,
      Carlos.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: