Carregar conteúdo local no Microsoft Office SharePoint Online utilizando os cmdlets do Windows PowerShell

Observação

A Ferramenta de Migração do SharePoint (SPMT) ajuda a simplificar o processo de migração. O SPMT fornece uma experiência semelhante a um assistente para guiá-lo através da migração de sites de equipe do SharePoint Server ou compartilhamentos de arquivos de rede para o Microsoft 365. Ele está disponível para todos os usuários do Microsoft 365: Baixe o SPMT.

Importante

Ferramenta de Migração do SharePoint não está disponível atualmente para usuários do Office 365 operados pela 21Vianet na China.

Este artigo mostra como usar os cmdlets do Windows PowerShell de migração do Microsoft Office SharePoint Online para migrar o conteúdo de um compartilhamento de arquivo local para o Microsoft 365.

Os cmdlets do Windows PowerShell de migração do Microsoft Office SharePoint Online são projetados para mover conteúdo local de compartilhamentos de arquivos. Eles exigem chamadas CSOM mínimas e usam o Armazenamento de Blob temporário do Azure para lidar com grandes migrações de dados.

Pré-requisitos

  • Sistemas operacionais suportados:

    • Windows 7 Service Pack 1
    • Windows 8
    • Windows Server 2008 R2 SP1
    • Windows Server 2008 Service Pack 2
    • Windows Server 2012, Windows Server 2012 R2
  • Windows PowerShell 4.0

Observação

Permissões: você deve ser um administrador de conjunto de sites no site que está direcionando.

Antes de você começar

Etapa 1: Instalar o Shell de gerenciamento do SharePoint Online

  1. Desinstale todas as versões anteriores do Shell de Gerenciamento do Microsoft Office SharePoint Online.

  2. Faça download e instale o Shell de Gerenciamento do SharePoint Online.

  3. Abra o Shell de Gerenciamento do Microsoft Office SharePoint Online e selecione Executar como Administrador.

Etapa 2: configurar seu diretório de trabalho

Antes de iniciar a migração, você precisa configurar seu diretório de trabalho com duas pastas vazias. Essas pastas não precisam de muito espaço em disco, pois contêm apenas XML.

  1. Crie uma pasta de pacote temporária.

  2. Crie uma pasta de pacote final.

Etapa 3: determinar os locais e credenciais

Identifique suas credenciais e os locais de seus arquivos de origem, arquivos de destino e da web.

Em seu computador local, abra o Shell de Gerenciamento do Microsoft Office SharePoint Online. Execute os seguintes comandos, mas insira seus valores:

$cred = (Get-Credential admin@contoso.com)
$sourceFiles = '\\fileshare\users\charles'
$sourcePackage = 'C:\migration\CharlesDocumentsPackage_source'
$targetPackage = 'C:\migration\CharlesDocumentsPackage_target'
$targetWeb = 'https://contoso-my.sharepoint.com/personal/charles_contoso_com'
$targetDocLib = 'Documents'

New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $sourcePackage -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib -IgnoreHidden -ReplaceInvalidCharacters

Etapa 4: Criar um novo pacote de conteúdo com base em um compartilhamento de arquivos local

Nesta etapa, você cria um novo pacote de migração a partir de um compartilhamento de arquivos. Para criar um pacote de conteúdo a partir de um compartilhamento de arquivos, o New-SPOMigrationPackage comando lê a lista de conteúdo direcionado pelo caminho de origem e gera XML para fazer a migração.

Os seguintes parâmetros são obrigatórios, a menos que sejam marcados como opcionais:

  • SourcefilesPath: aponta para o conteúdo que você planeja migrar.

  • OutputPackagePath: aponta para a sua Pasta temporária.

  • TargetWebUrl: aponta para o seu destino na web.

  • TargetDocumentLibraryPath: aponta para a biblioteca de documentos dentro da web.

  • IgnoreHidden: ignorar arquivos ocultos (opcional).

  • ReplaceInvalidCharacters: corrija caracteres inválidos quando possível (opcional).

Exemplo:

O exemplo a seguir mostra como criar um novo pacote a partir de um compartilhamento de arquivos. Ele ignora arquivos ocultos e substitui caracteres não suportados em nomes de arquivos/pastas.

    New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $sourcePackage -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib -IgnoreHidden -ReplaceInvalidCharacters`

Etapa 5: Converter o pacote de conteúdo em seu site de destino

Use o ConvertTo-SPOMigrationTargetedPackage comando para converter o SML gerado em sua pasta temporária. Ele salva um novo conjunto de arquivos de metadados de pacote de migração direcionada na pasta de destino. Este é o pacote final.

Observação

Suas credenciais de administrador de conjunto de sites de destino são usadas para coletar dados para se conectar ao conjunto de sites de dados.

Há seis parâmetros necessários a inserir (outros são opcionais):

  • ParallelImport: instrui a ferramenta a usar o desempenho de otimização de thread paralela.

  • SourceFiles: aponta para a localização do diretório dos arquivos de conteúdo de origem do pacote.

  • SourcePackagePath: aponta para sua pasta de pacote temporário.

  • OutputPackagePath: aponta para a pasta do pacote final.

  • Credenciais: credencial do Microsoft Office SharePoint Online que possui direitos de administrador para o site de destino.

  • TargetWebUrl: URL de sua web de destino.

  • TargetDocumentLibraryPath: caminho para sua biblioteca de destino.

Exemplo:

Este exemplo mostra como converter um pacote em um de destino pesquisando dados no conjunto de sites de destino. Para aumentar o desempenho da migração de compartilhamento de arquivos, ele usa o parâmetro -ParallelImport.

$finalPackages = ConvertTo-SPOMigrationTargetedPackage -ParallelImport -SourceFilesPath $sourceFiles -SourcePackagePath $sourcePackage -OutputPackagePath $targetPackage -Credentials $cred -TargetWebUrl $targetWeb -TargetDocumentLibraryPath $targetDocLib`

Etapa 6: Enviar conteúdo para importar

Nesta etapa, o comando Invoke-SPOMigrationEncryptUploadSubmit cria um novo trabalho de migração no conjunto de sites de destino e retorna um GUID que representa o JobID. Esse comando carrega arquivos de origem criptografados e manifestos no Armazenamento de Blobs do Azure temporário por trabalho.

Existem quatro parâmetros obrigatórios para inserir. Outros são opcionais.

  • TargetwebURL: aponta para a web do destino.

  • SourceFilesPath: aponta para os arquivos a serem importados.

  • SourcePackagePath: aponta para o manifesto final dos arquivos a serem importados.

  • Credenciais: as credenciais do Microsoft Office SharePoint Online que têm direitos de Administrador do conjunto de sites para o site de destino.

Exemplo 1:

Este exemplo mostra como enviar dados de pacote para criar um novo trabalho de migração.

 $job = Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $sourceFiles -SourcePackagePath $targetPackage -Credentials $cred -TargetWebUrl $targetWeb

Exemplo 2:

Este exemplo mostra como enviar dados de pacote para criar novos trabalhos de migração para importação paralela.

$jobs = $finalPackages | % {Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $_.FilesDirectory.FullName -SourcePackagePath $_.PackageDirectory.FullName -Credentials $cred -TargetWebUrl $targetWeb}

Para cada trabalho enviado, o cmdlet Invoke retorna essas propriedades como parte de um trabalho:

  • JobId : ID do trabalho no SPO.

  • ReportingQueueUri: fila do Microsoft Office SharePoint Online Azure que armazena as mensagens de progresso em tempo real da migração.

  • Criptografia: chave de criptografia e método usado para enviar o conteúdo ao Azure. Essa chave é necessária quando você descriptografa as mensagens da fila e importa os logs.

Se você estiver usando sua própria conta de Armazenamento do Azure para carregar conteúdo em seu armazenamento, use Set-SPOMigrationPackageAzureSource e Submit-SPOMigrationJob.

Importante

Se você escolher usar o Armazenamento do Microsoft Azure, poderá incorrer em cobranças de Largura de banda. A cobrança dependeria do tipo de oferta do Azure e do tamanho da migração. Para preços gerais, consulte preços de largura de banda .

(Opcional) Etapa 7: processar e monitorar sua migração do Microsoft Office SharePoint Online

Depois que o trabalho é enviado, apenas o Azure e o Microsoft Office SharePoint Online interagem para buscar e migrar o conteúdo para o destino. Esse processo é baseado em trabalho de timer, o que significa que ele fica na fila por ordem de chegada. Este processo não impede que a mesma pessoa coloque outros trabalhos na fila.

Se nenhuma outra tarefa em execução estiver em execução, pode haver um atraso de 1 minuto.

Verificar o status do trabalho

Para verificar o status do seu trabalho, use a EncryptionKey retornada na etapa 6 para exibir as atualizações em tempo real postadas na conta do Armazenamento do Microsoft Azure.

Exibir registros

Se estiver usando sua própria conta de Armazenamento do Azure, você pode exibir logs de tudo o que aconteceu no contêiner de manifesto no Armazenamento do Microsoft Azure. Nesse estágio, é seguro excluir esses contêineres, se você não quiser mantê-los como backup no Azure.

Se houver erros ou avisos, os arquivos .err ou .won são criados no contêiner de manifesto.

Se você estiver usando o Armazenamento temporário do Azure criado por Invoke-SPOMigrationEncryptUploadSubmit na etapa 6, você poderá obter a URL sas do log de importação descriptografando a mensagem de fila do Azure com o valor "Evento" JobLogFileCreate. Você pode usar o URL do SAS do log de importação para baixar o arquivo de log e descriptografá-lo com a chave de criptografia retornada na etapa 6.

Cenários de script para reutilização

Use o seguinte script de exemplo. Inclui as etapas de determinar os seus locais e credenciais, enviar os dados do pacote e criar um novo trabalho de migração.

$userName = "admin@contoso.onmicrosoft.com"
$sourceFiles = "d:\data\documents"
$packagePath = "d:\data\documentPackage"
$spoPackagePath = "d:\data\documentPackageForSPO"
$targetWebUrl = "https://contoso.sharepoint.com/sites/finance"
$targetLibrary = "Documents"
$cred = Get-Credential $userName
  
New-SPOMigrationPackage -SourceFilesPath $sourceFiles -OutputPackagePath $packagePath -TargetWebUrl $targetWebUrl -TargetDocumentLibraryPath $targetLibrary -IgnoreHidden -ReplaceInvalidCharacters

Converter o pacote em um pacote de destino procurando dados no conjunto de sites de destino

$finalPackages = ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath $sourceFiles -SourcePackagePath $packagePath -OutputPackagePath $spoPackagePath -TargetWebUrl $targetWebUrl -TargetDocumentLibraryPath $targetLibrary -Credentials $cred

Enviar os dados do pacote para criar o trabalho de migração

$job = Invoke-SPOMigrationEncryptUploadSubmit -SourceFilesPath $sourceFiles -SourcePackagePath $spoPackagePath -Credentials $cred -TargetWebUrl $targetWebUrl
  
This sample shows how to get the returned information of a job, which comes in the form of a GUID.
  
```powershell
$job = $jobs[0]
$job.JobId
Guid
----
779c4b3b-ec24-4705-bb58-c38f4329418c

Este exemplo mostra como obter o $job.ReportingQueueURi.AbosoluteUri.

# To obtain the $job.ReportingQueueUri.AbsoluteUri
https://spodm1bn1m013pr.queue.core.windows.net/953pq20161005-f84b9e51038b4139a179f973e95a6d6f?sv=2014-02-14&sig=TgoUcrMk1Pz8VzkswQa7owD1n8TvLmCQFZGzyV7WV8M%3D&st=2016-10-04T07%3A00%3A00Z&se=2016-10-26T07%3A00%3A00Z&sp=rap

Este exemplo mostra como obter a chave de criptografia e o retorno de amostra.

$job.Encryption
EncryptionKey                                       EncryptionMethod
-----------------------                            ------------------
{34, 228, 244, 194...}                              AES256CBC

Importante

Todas as mensagens são criptografadas na fila. Para ler o ReportingQueue, você deve ter a EncryptionKey.

Melhores práticas e limitações

Descrição Recomendação
Tamanho do pacote 10-20 GB
Use a opção -ParallelImport para migração de compartilhamento de arquivo, que divide automaticamente o pacote grande em pacotes menores.
Tamanho do arquivo
2 GB
Tamanho de destino
O site de destino deve permanecer inacessível aos usuários até que a migração seja concluída
Limites do Microsoft Office SharePoint Online
Limites de serviço no Microsoft Office SharePoint Online para Microsoft 365

Limites do Azure

Recurso Limite/padrão
TB por conta de armazenamento
500
Tamanho máximo de contêiner de blob único, tabela ou fila.
500
Número máximo de contêineres de blob, blobs, compartilhamentos de arquivos, tabelas, filas, entidades ou mensagens por conta de armazenamento.
O único limite é uma capacidade de armazenamento de armazenamento de 500 TB.
Taxa de transferência necessária para blob único
Até 60 MB ou 500 solicitações por segundo.

As referências de cmdlet são para o Microsoft Office SharePoint Online