Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo é sobre os novos cmdlets do PowerShell com base no motor de migração da Ferramenta de Migração do SharePoint (SPMT). Podem ser utilizados para mover ficheiros do SharePoint 2010 e bibliotecas de documentos no local do SharePoint 2013 e itens de lista e partilhas de ficheiros para o Microsoft 365. Para obter informações sobre todos os cmdlets atuais do PowerShell relacionados com a migração do SharePoint, veja a Referência do cmdlet da Ferramenta de Migração do Microsoft SharePoint.
Os cmdlets do PowerShell fornecem as mesmas funcionalidades que a Ferramenta de Migração do SharePoint.
Observação
Estes cmdlets do PowerShell não estão atualmente disponíveis para utilizadores de Office 365 operados pela 21Vianet na China.
Requisitos do sistema
Requisitos recomendados para obter o melhor desempenho
| Descrição | Recomendação |
|---|---|
| CPU | Processador Quad core de 64 bits ou superior |
| RAM | 16 GB |
| Armazenamento local | Disco rígido: 150 GB de espaço livre |
| Sistema operacional | Windows Server 2016 Standard ou Datacenter Windows Server 2012 R2 Windows 10 cliente .NET Framework 4.6.2 |
| Microsoft Visual C++ 2015 Redistribuível | Necessário para migração do OneNote |
Importante
O PowerShell 5.0x e o .NET Framework 4.6.2 ou superior são necessários para suportar a migração de caminhos de ficheiros de até 400 carateres.
Requisitos mínimos (esperar um baixo desempenho)
| Descrição | Requisitos mínimos |
|---|---|
| CPU | Processador de 2 núcleos 1.4 GHz de 64 bits ou superior |
| RAM | 8 GB |
| Armazenamento local | Disco rígido: 150 GB de espaço livre |
| Placa de rede | Conexão com a Internet de alta velocidade |
| Sistema operacional | Windows Server 2008 R2 Windows 7 Windows 8 ou 8.1 .NET Framework 4.6.2 |
| Microsoft Visual C++ 2015 Redistribuível | Necessário para migração do OneNote. |
| PowerShell | O PowerShell 5.x é necessário para suportar a migração de caminhos de ficheiros de até 400 carateres. O PowerShell 6.0 ou superior não é suportado. |
Solução para o problema de caminho longo
Ao utilizar o SPMT PowerShell, poderá deparar-se com falhas de análise em ficheiros de origem com caminhos com mais de 260 carateres. Para resolve este problema, pode modificar o registo do sistema para permitir que o PowerShell leia ficheiros de caminho longo.
Abra Registar Editor, navegue para "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework", adicione uma nova chave "AppContext". Em seguida, adicione 2 valores de Cadeia sob a chave.
Nome do Valor:
Switch.System.IO.BlockLongPathsDados do Valor:falseNome do Valor:
Switch.System.IO.UseLegacyPathHandlingDados do Valor:false
Antes de começar
Aprovisione o Microsoft 365 com o active directory existente ou uma das outras opções para adicionar contas ao Microsoft 365. Para obter mais informações, consulte Integração do Microsoft 365 com ambientes no local e Adicionar utilizadores a Microsoft 365 Apps para Pequenos e Médios negócios.
Abra a pasta :
$env:UserProfile\Documents\WindowsPowerShell\Modules\Microsoft.SharePoint.MigrationTool.PowerShell. Certifique-se de que tem DLLs dentro do mesmo. Se estiver a utilizar o OneDrive, terá de copiar a Pasta windowsPowershell para$env:UserProfile\OneDrive - Microsoft\Documentso .Nesta localização, execute o seguinte comando do PowerShell:
Import-Module Microsoft.SharePoint.MigrationTool.PowerShell
Criar e iniciar uma sessão de migração
Este cmdlet cria e, em seguida, inicializa uma sessão de migração. A inicialização configura as definições de migração ao nível da sessão. Se não forem definidos parâmetros de definição específicos, são utilizadas as predefinições. Depois de registar uma sessão, pode adicionar uma tarefa à sessão e iniciar a migração.
Adicionar uma tarefa de migração
Utilize este cmdlet para adicionar uma nova tarefa de migração à sessão de migração registada. Atualmente, existem três tipos diferentes de tarefas permitidas: tarefa de partilha de ficheiros, tarefa do SharePoint e tarefa definida por JSON. Nota: não são permitidas tarefas duplicadas.
Remover uma tarefa
Use este cmdlet para remover uma tarefa de migração existente da migração registrada.
Iniciar a migração
Este cmdlet inicia a migração SPMT registada.
Retornar o objeto de sessão atual
Devolve o objeto da sessão atual. Este cmdlet inclui a status das tarefas atuais e as definições atuais de nível de sessão. O status de tarefas atual inclui:
S – Contagem de ficheiros analisados
- Contagem de arquivos migrados
- Todas as mensagens de erro de migração
Interromper a migração atual
Este cmdlet cancela a migração atual.
Mostrar detalhes de status da migração no console
Se iniciar a migração no modo NoShow, a execução do cmdlet Show-SPMTMigration apresenta o ID da tarefa, a localização da origem de dados, a localização de destino e os status de migração na consola do . Selecionar Ctrl+C devolve o ecrã para o modo NoShow .
Remover a sessão de migração
Use este cmdlet para excluir a sessão de migração.
Cenários de exemplo
Exemplo 1: O administrador de TI adiciona uma tarefa do SharePoint no local e inicia a migração em segundo plano.
#Define SharePoint 2013 data source#
$SourceSiteUrl = "http://YourOnPremSite/"
$OnPremUserName = "Yourcomputer\administrator"
$OnPremPassword = ConvertTo-SecureString -String "OnPremPassword" -AsPlainText -Force
$SPCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $OnPremUserName, $OnPremPassword
$SourceListName = "SourceListName"
#Define SharePoint target#
$SPOUrl = "https://contoso.sharepoint.com"
$UserName = "admin@contoso.onmicrosoft.com"
$PassWord = ConvertTo-SecureString -String "YourSPOPassword" -AsPlainText -Force
$SPOCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName, $PassWord
$TargetListName = "TargetListName"
#Define File Share data source#
$FileshareSource = "YourFileShareDataSource"
#Import SPMT Migration Module#
Import-Module Microsoft.SharePoint.MigrationTool.PowerShell
#Register the SPMT session with SharePoint credentials#
Register-SPMTMigration -SPOCredential $SPOCredential -Force
#Add two tasks into the session. One is SharePoint migration task, and another is File Share migration task.#
Add-SPMTTask -SharePointSourceCredential $SPCredential -SharePointSourceSiteUrl $SourceSiteUrl -TargetSiteUrl $SPOUrl -MigrateAll
Add-SPMTTask -FileShareSource $FileshareSource -TargetSiteUrl $SPOUrl -TargetList $TargetListName
#Start Migration in the console. #
Start-SPMTMigration
Exemplo 2: O administrador de TI quer colocar a migração em segundo plano "NoShow mode" em primeiro plano e executar abaixo do cmdlet para que o progresso da migração seja apresentado na consola do .
Show-SPMTMigration
Exemplo 3: O Administração de TI quer fazer uma migração em massa ao carregar um ficheiro de .csv. O arquivo de amostra neste exemplo é SPMT.csv.
Load CSV;
$csvItems = import-csv "C:\spmt.csv" -Header c1,c2,c3,c4,c5,c6
ForEach ($item in $csvItems)
{
Write-Host $item.c1
Add-SPMTTask -FileShareSource $item.c1 -TargetSiteUrl $item.c4 -TargetList $item.c5 -TargetListRelativePath $item.c6
}
Duas tarefas de migração são definidas no arquivo spmt.csv.
D:\MigrationTest\Files\Average_1M\c,,,https://SPOSite.sharepoint.com,Documents,Test
C:\work\Powershell\negative,,,https://SPOSite.sharepoint.com/,Documents,DocLibrary_SubfolderName
Snippets de código para migração em massa carregando um arquivo JSON:
#Load JSON:
$jsonItems = Get-Content -Raw -Path "C:\spmt.json" | ConvertFrom-Json
ForEach ($taskItem in $jsonItems.Tasks)
{
$jsonString = ConvertTo-Json $taskItem -Depth 100
Add-SPMTTask -JsonDefinition $jsonString -SharePointSourceCredential $onpremCredential
}
Três tarefas de migração são definidas no arquivo spmt.json.
{
"Tasks":[
{
"SourcePath":"http://On-prem/sites/test",
"TargetPath":"https://YourSPO.sharepoint.com",
"Items":{
"Lists":[
{
"SourceList":"list-01",
"TargetList":"list-01"
}
],
"SubSites":[
]
}
},
{
"SourcePath":"http://On-prem/sites/test",
"TargetPath":"https://YourSPO.sharepoint.com",
"Items":{
"Lists":[
{
"SourceList":"list-02",
"TargetList":"list-02"
}
],
"SubSites":[
]
}
},
{
"SourcePath":"http://On-prem/sites/test",
"TargetPath":"https://YourSPO.sharepoint.com",
"Items":{
"Lists":[
{
"SourceList":"doclib-01",
"TargetList":"doclib-01"
}
],
"SubSites":[
]
}
}
]
}
Exemplo 4: exibir o progresso da migração
Esses exemplos mostram como exibir o andamento do seu projeto de migração. Get-SPMTMigration devolve o objeto da sessão atual Inclui tarefas atuais status e definições de nível de sessão atuais.
O status das tarefas atuais inclui:
- Uma contagem de ficheiros digitalizados.
- Uma contagem de ficheiros filtrados.
- Uma contagem de ficheiros migrados.
- Uma contagem de ficheiros falhados.
- O progresso da migração da tarefa atual (0 ~ 100).
- A tarefa atual status.
- Mensagens de erro de migração, se existirem.
# Start migration in the background
Start-SPMTMigration -NoShow
# Get the object of current migration
$session = Get-SPMTMigration
# Query migration status every 5 seconds until migration is finished
while ($session.Status -ne "Finished")
{
Write-Host $session.Status
# Query migration progress of each tasks
Foreach ($taskStatus in $session.StatusOfTasks)
{
$taskStatus.MigratingProgressPercentage
}
Start-Sleep -Seconds 5
}