Migracija z uporabo PowerShella
Uvod
V prejšnjem članku sem predstavil Microsoft orodje, ki se lahko uporabi za migracijo on-premises podatkov v SharePoint Online. Od zadnjega članka je prišlo tudi pri orodju do novosti, in sicer je sedaj podprta migracija tudi s SharePoint 2010 strežnika.
Preden začnemo
Preden bi lahko začeli s pisanjem PowerShell kode in migracijo v SharePoint Online, je najprej potrebno namestiti SPMT orodje na lokalni računalnik. Orodje SPMT si lahko prenesete z naslova https://docs.microsoft.com/en-us/sharepointmigration/introducing-the-sharepoint-migration-tool. V primeru, da bi želeli uporabiti « Public preview »različico, pa morate biti pozorni, da prenesete orodje z naslednjega naslova https://aka.ms/spmt-beta-page.
Migracija skupne mape na SharePoint Online
V našem primeru, bomo uporabili mapo v skupni rabi in jo prenesli na stran v SharePoint Online. Da bi lahko pričeli z migracijo, si najprej oglejmo, kateri ukazi so na voljo v modulu za PowerShell. Najlažje to dosežemo, če uporabimo ukaz:
Get-Command -Module Microsoft.SharePoint.MigrationTool.PowerShell
Ukaz nam izpiše naslednje ukaze:
- Add-SPMTTask
- Get-SPMTMigration
- Register-SPMTMigration
- Remove-SPMTTask
- Show-SPMTMigration
- Start-SPMTMigration
- Stop-SPMTMigration
- Unregister-SPMTMigration
Registracija prenosa
Prva stvar, ki jo moramo narediti pri migraciji, je registracija. Z ukazom Register-SPMTMigration definiramo poverilnice, s katerimi se bomo povezovali na SharePoint Online, na voljo pa imamo zelo veliko dodatnih parametrov, med drugim tudi:
- MigrateFilesCreatedAfter in MigrateFilesModifiedAfter – s katerim lahko definiramo filter za migracijo
- SkipFilesWithExtensions – filter za tipe datotek
- PreserveUserPermissionsForFileShare – kopiranje pravic s skupnih map
- UserMappingFile – datoteka za mapiranje oblačnih in on-premises datotek
- …
Register-SPMTMigration -SPOCredential $cred -SkipFilesWithExtension "wmv","xsn" `
-MigrateFilesAndFoldersWithInvalidChars:$true -AzureActiveDirectoryLookup:$true
Opravila prenosa
Pred začetkom prenosa, moramo v migracijo dodati še posamezna opravila prenosa. To naredimo z ukazom »Add-SPMTTask«. Opravil lahko dodamo več in uporabimo tudi različne vire. Lahko dodamo opravilo, kjer je vir podatkov SharePoint mesto/seznam, lahko pa je to mapa v skupni rabi oz. lokalna mapa.
Primer za migracijo lokalne mape:
Add-SPMTTask -FileShareSource C:\Share -TargetSiteUrl $destUrl -TargetList "SPMT Migration"
V opravilu smo navedli parametre:
- FileShareSource – kaže na lokalno mapo C:\Share
- TargetSiteUrl – spremenljivka z URL-jem do SharePoint Online mesta
- TargetList – Ime seznama/dokumente knjižnice, kamor bomo migrirali dokumente.
Ena izmed možnosti pri dodajanju opravil v samo migracijo, je tudi uporaba JSON definicije, kjer lahko v en task, dodamo več različnih virov in ciljev za prenos podatkov. JSON mora biti sestavljen v naslednji obliki:
{
"Tasks":[
{
"SourcePath":"http://intranet/oddelek/IT",
"TargetPath":"https://[SP Online Url].sharepoint.com",
"Items":{
"Lists":[
{
"SourceList":"Pomembni dokumenti",
"TargetList":"IT-Docs"
}
],
"SubSites":[
]
}
}
]
}
V ukazu Add-SPMTTask, pa namesto definicije vira in cilja povemo, da bi radi uporabili JSON definicijo:
Add-SPMTTask -JsonDefinition $myJsonDef
Ko imamo vsa opravila pripravljena, lahko poženemo migracijo z ukazom:
Start-SPMTMigration
Če pri ukazu »Start-SPMTMigration« uporabimo še parameter »ParametersValidationOnly«, se bo namesto začetka migracija izvedla samo preverba naših vnesenih podatkov. To nam pride seveda prav takrat, ko bi radi izvedli večje migracije in dodamo veliko opravil. V našem primeru, kjer smo dodali samo eno opravilo, preverjanje vnosnih podatkov niti ni tako nujno.
Ko je migracija v teku, se nam v PowerShell oknu, odvisno tudi od okolja, ki ga uporabljamo (VS Code, ISE, PowerShell okno), pojavi povzetek migracije:
In pa na koncu migracije nam orodje tudi sporoči lokacijo mape, kjer lahko najdemo bolj podrobne podatke o sami migraciji. Orodje nam pripravi poročila v CSV obliki, kot tudi zelo podrobne log datoteke, kjer najdete vse potrebne informacije o prenosu podatkov v okolje SharePoint Online.
SharePoint Migration Tool nam ponuja kar nekaj možnosti za prenos podatkov v SharePoint Online. Lahko uporabite grafični vmestnik, lahko pa se tudi lotite pisanja skript in s skriptami prenesete dokumente in podatke iz seznamov v oblak. Primeri prikazani v tej seriji dveh člankov so bili dokaj enostavni in upam, da vam bodo pomagali kot začetna točka pri migraciji.
V primeru dodatnih vprašanj mi lahko pišete na naslov: robi@kompas-xnet.si.