Weboldal keresés

Migráció az Exchange Online-ba a PowerShell segítségével


A sorozat első részében, a Postafiókok áttelepítése az Exchange Online-ba PowerShell segítségével - 1. rész, arról beszéltünk, hogyan készüljünk fel a postaláda-áttelepítésre, amely magában foglalta a postafiók-áthelyezések előtti ellenőrzések sorozatát. Most áttérünk a PowerShell-kódra a postafiókok Exchange Serverről az Exchange Online-ra való áthelyezéséhez. Végigjárjuk a különböző Move Request parancsmagokat, és azt, hogyan használhatjuk ezeket a fő migrációs feladataink végrehajtásához. Irány a kód!

Tevékenységek

Ebben a részben gyorsan bemutatjuk azokat a különféle műveleteket, amelyeket egy postafiókkal lehet végrehajtani az Exchange Online-ra való migráció kezelése során. Ezeket a műveleteket PowerShell-parancsmagok formájában kell végrehajtani, amelyeket futtatnunk kell.

  • New-MoveRequest: létrehozza a kezdeti áthelyezési kérelmet egy postafiók Exchange Serverről az Exchange Online szolgáltatásra való áthelyezéséhez.
  • Suspend-MoveRequest: Felfüggeszti az aktív migrációt, és felfüggesztett vagy szüneteltetett állapotba helyezi az áttelepítést.
  • Set-MoveRequest: Megváltoztatja az áthelyezési kérelem egyes konfigurálható aspektusait.
  • Remove-MoveRequest: Törli a megadott áthelyezési kérelmet, és minden áthelyezett postaláda-adat törlődik.
  • Get-MoveRequest: Felsorolja a megadott áthelyezési kérelmet.

Új költözési kérelem létrehozása

Amikor áthelyez egy postafiókot az Exchange Online szolgáltatásba, néhány dologra szüksége van az áthelyezési kérelem létrehozásához.

Először is szükségünk van a postafiók e-mail címére, amelyet identitásnak fogunk nevezni.

Ezután szükségünk van a áttelepítési végpontra, amely egy HTTPS-csatlakozási pont, amely az Exchange Online-hoz készült helyi Exchange-kiszolgálók számára megnyílik az áttelepítés kezdeményezéséhez és az adatok lekéréséhez.

A TargetDomain szükséges, mivel ez az Ön bérlői domainje, általában ebben a formátumban: .onmicrosoft.com.

Hitelesítési adatokra, ebben az esetben az Active Directory hitelesítő adataira van szükség ahhoz, hogy az Exchange Online létrehozza a kapcsolati/migrációs kapcsolatot.

Áthelyezési kérelem létrehozásakor lehetőségünk van arra is, hogy az áthelyezést a teljes szinkronizálás befejezése után hagyjuk lefutni, vagy felfüggesztjük. Utóbbi lehetőség előnye, hogy egy adott postafiók-áthelyezési eseményhez előre elkészíthetjük a postafiók-áthelyezéseket.

A kezdeti szinkronizálást követően a postaláda-áthelyezés naponta egyszer szinkronizálódik, hogy megbizonyosodjon arról, hogy a legújabb módosítások jelen vannak az Exchange Online postaláda-példányában. Amikor készen állunk az áthelyezés befejezésére, az egyetlen szinkronizálandó adat az utolsó szinkronizálás óta történt változások, amelyek általában kicsik, és a befejezési folyamat gyorsabb. Ehhez használhatjuk a 'SuspendWhenReadyToComplete' kapcsolót aNew-MoveRequest parancsmagban.

Készítsünk egy minta áthelyezési kérést:

$Mailbox = "< Mailbox PrimarySMTPAddress>"$EndPoint = "mail.domain.com"$TargetDomain = "<tenant>.onmicrosoft.com"$OPCred = Get-Credentials

Ezeket a változókat összeadva egy New-MoveRequest-et kapunk:

New-MoveRequest -Identity $Mailbox -Remote -RemoteHostName $Endpoint -TargetDeliveryDomain $TargetDomain -RemoteCredential $OPCred -SuspendWhenReadyToComplete -ErrorAction STOP

A változók használata emellett méretezhetővé teszi a folyamatot, ahol a postafiókkötegek egy CSV-fájlba csoportosíthatók az elsődleges SMTP-címek listájaként. A CSV-n a Foreach hurokkal való átpörgetése lehetővé teszi, hogy annyi egysoros sort futtassunk, amennyire szükségünk van a postafiókok áthelyezéséhez a CSV-fájlban.

Költözési kérelem kitöltése

Az áthelyezési kérések szakaszolásakor és a (napi vagy kezdeti) szinkronizálás befejezésekor a postafiók áthelyezési kérelme felfüggesztett állapotba kerül. Ha be akarjuk fejezni az áthelyezést, és a postaládákat teljesen át akarjuk vinni az Exchange Online-ba, akkor folytatnunk kell az áthelyezési kérelmet. Ezt a Resume-MoveRequest parancsmag használatával tehetjük meg.

Az önéletrajz kérés egysoros része sokkal egyszerűbb, mivel a kemény munka már a Move Request létrehozása során megtörtént. A Resume egysoros így néz ki:

Resume-MoveRequest $Mailbox -Confirm:$False

Az egyetlen szükséges kritérium a kitölteni kívánt postafiók elsődleges SMTP-címe.

Költözési kérelem felfüggesztése

Most már nem minden postafiók-mozgatás megy zökkenőmentesen. Néha az áthelyezési kérések túl sok sávszélességet foglalnak el, és ténylegesen befolyásolhatják a vállalat WAN- vagy internetes kapcsolatát egészen addig a pontig, ahol más projektek vagy üzleti érdekek is érintettek. Nos, ha javában zajlanak a postafiók-költöztetéseink, hogyan csökkenthetjük a hatást? Van egy Suspend-MoveRequest nevű parancsmagunk

A felfüggesztés kérés egysoros megoldása sokkal egyszerűbb, mivel a kemény munka már a Move Request létrehozásánál megtörtént. A Suspend one-liner így néz ki:

Suspend-MoveRequest $SMTPAddress -Confirm:$False

Az egyetlen szükséges kritérium a kitölteni kívánt postafiók elsődleges SMTP-címe.

Áthelyezési kérelem törlése

Esetenként előfordulhat, hogy el kell távolítani a postafiók áthelyezési kérelmeit. Ennek az lehet az oka, hogy véletlenül hozták létre, vagy egy felhasználó más függőségek miatt nem akarja áthelyezni, esetleg ki kell lépnünk az áttelepítési kötegből, és el kell távolítani a kapcsolódó kéréseket. Mint ilyen, a Microsoft rendelkezik egy Remove-MoveRequest parancsmaggal az ilyen helyzetek kezelésére. A parancsmag futtatásakor eltávolítjuk az áthelyezési kérelmet, és a háttérben a Microsoft eltávolítja az összes szinkronizált adatot, hogy egy későbbi időpontban törlésre kerüljön.

A ReMove Request egysoros megoldása sokkal egyszerűbb, mivel a kemény munka már a Move Request létrehozása során megtörtént. Az Egyrétegű eltávolítása így néz ki:

Remove-MoveRequest $SMTPAddress -Confirm:$False

Az egyetlen szükséges kritérium a kitölteni kívánt postafiók elsődleges SMTP-címe.

Visszalépési terv

Vissza? Nem akarjuk, hogy az összes postafiókunk az Exchange Online-ban legyen, hogy a Microsoft által létrehozott csodálatos szolgáltatások elérhetők legyenek végfelhasználóink számára? Nos, természetesen megtesszük, de mi van akkor, ha komoly probléma merül fel, vagy nem kapjuk meg az Office 365-höz szükséges támogatást, vagy egy új IT-vezető (gondoljunk csak az informatikai igazgató) úgy dönt, hogy a helyszíni megoldás a jövő útja. … Nos, akkor szükségünk van valamiféle tartaléktervre. A legtöbb feladat esetében, ha az áthelyezési kérelem nem fejeződött be, egyszerűen leállíthatjuk vagy felfüggeszthetjük az áthelyezési kérelmet, majd törölhetjük az áthelyezési kérelmet. Ennek során a postafiókot a helyszínen hagyjuk, és nem helyezzük át az Exchange Online-ba. De mi van akkor, ha áthelyeztük a postafiókot az Exchange Online-ba, és vissza kell helyeznünk?

Mire van szükségünk a visszahelyezéshez?

A helyszíni Exchange szolgáltatáshoz való visszatéréshez bizonyos részletekre és ismeretekre van szükség az Exchange-kiszolgálókkal kapcsolatban. Szükségünk van a postafiók SMTP-címére, a postafiók-adatbázisra, amelybe a postafiókot visszamásoljuk, amikor visszamásolják az Exchange-be, egy végpontra a csatlakozáshoz (ugyanaz, amelyikkel a postaládákat áthelyeztük az Exchange Online-ba), egy céltartományra (a Az Ön elsődleges SMTP-címe megteszi), a helyszíni hitelesítő adatokat, és ennyi:

$Mailbox = "< Mailbox PrimarySMTPAddress>"$EndPoint = "mail.domain.com"$TargetDomain = "<yourdomain.com>"$Database = "<Database for mailbox>"$OpCred = Get-Credential

Szükségünk van egy kimenő kapcsolóra is, hogy megbizonyosodjunk arról, hogy az Exchange Online tudja, hogy a kérelem elküldi a postafiókot az Exchange Online-ból.

New-MoveRequest -identity $Mailbox -OutBound -RemoteTargetDatabase $Database -RemoteHostName $Endpoint -RemoteCredential $OPCred -TargetDeliveryDomain $TargetDomain

Ezzel kapcsolatban van néhány figyelmeztetés, mivel néha a visszatartás megakadályozza a postafiók elmozdulását, és előfordulhat, hogy el kell távolítania a tartást, majd át kell helyeznie a postafiókot. Ellenkező esetben az Exchange Serverre való visszahelyezés folyamata ugyanaz, mint az Exchange Online esetében, ahol a feladat 95%-ban szinkronizálódik, és megvárja a befejezést, és amíg meg nem történik, minden nap szinkronizálja.

Egyszer használatos tételek átalakítása migrációs kötegekké

Míg az egyszerre egyetlen postafiók-áthelyezés végrehajtása hasznosnak bizonyulhat, jobb, ha mindig nagy méretben használja a PowerShellt. Ellenkező esetben a hatékonyság elveszik. Vegyünk például egy új csoportot, amelyet át kell helyezni. Láttuk, hogyan használható a New-MoveRequest parancsmag egyetlen feladat végrehajtására. Ahhoz, hogy ezt kötegelt felhasználásra rejtsük, először egy CSV-fájlra van szükségünk, amelyet a PowerShell változójába importálhatunk. Egy egyszerű CSV-fájl így néz ki:

PrimarySMTPAddressJohn.Doe@domain.comJane.Doe@domain.com

Ha átvesszük a Move Request szakasz változóit, hozzáadva egy Read-Host egysorost és egy Foreach ciklust, most ezt a kódot kapjuk:

$Mailbox = "< Mailbox PrimarySMTPAddress>"$EndPoint = "mail.domain.com"$TargetDomain = "<tenant>.onmicrosoft.com"$OPCred = Get-Credentials$CSV = Read-Host -Prompt "Please specify a CSV file for the current wave of users to move to Office 365"$WaveCSV = Import-CSV $CSV
Foreach ($Line in $WaveCSV) {
$Mailbox = $Line.SMTPAddress
New-MoveRequest -Identity $Mailbox -Remote -RemoteHostName $Endpoint -TargetDeliveryDomain $TargetDomain -RemoteCredential $OPCred -SuspendWhenReadyToComplete}

A kóddal kapcsolatos egyik figyelmeztetés az, hogy nincs hibaellenőrzés vagy hibagyűjtés, ami azt jelenti, hogy ha az áthelyezés sikertelen, előfordulhat, hogy a probléma megállapításához ki kell másolnunk a hibakódot a képernyőről. Ezenkívül a jó és a rossz próbálkozások naplói sem állnak rendelkezésre. Mint ilyen, ez a kód gyors módja a postafiókok tömeges áthelyezésének/szinkronizálásának az Exchange Online szolgáltatásba. Hasonlóképpen, ez a kódkeret használható a postafiók-áttelepítések felfüggesztésére, folytatására és törlésére. Egyszerűen illesszen be egy egysorost a Foreach hurokba, amely megfelel a megfelelő műveletnek.

Jelentés

Amikor a postaládákat áthelyezi az Exchange Online-ba, nagyon fontos, hogy ezeket az áttelepítéseket figyeljék, hogy megfelelő ütemben mozogjanak, ne legyenek túlságosan lefojtva, és időben befejeződjenek. A PowerShell segítségével jelentéseket futtathatunk, és jelentéseket készíthetünk CSV formátumú fájlban, amely felhasználható elemzési célokra. Ehhez szükségünk van pár cmdlet-re: Get-MoveRequest és Get-MoveRequestStatistics. Összevonva lefuttathatjuk ezt, hogy megnézzük, hogyan haladnak a migrációink:

Get-MoveRequest | Get-MoveRequestStatistics -ErrorAction STOP | ft DisplayName,Status,PercentComplete

Ezzel az egysorossal minden lépésünkben érezni fogjuk az előrehaladást, a postafiók nevének, a migrációs állapotának és a költözés eddigi százalékának megjelenítésével. Ugyanez az egysoros statisztika CSV-fájlba történő kiadásához is letolható:

$CSV = Read-Host -Prompt "Please specify a CSV file for the current wave of users to move to Office 365"$Row = "DisplayName,Status,PercentComplete" = Out-File $DestinationFileForeach ($Line in $CSV) {$Move = Get-MoveRequestStatistics -Identity $Mailbox | Select DisplayName,Status,PercentComplete$DisplayName = $Move.DisplayName$Status = $Move.Status$PercentComplete = $Move.PercentComplete$Row = "$DisplayName,$Status,$PercentComplete"$Row = Out-File $DestinationFile -Append}

CSV figyelmeztetések

Ne feledje, hogy ha CSV-n keresztüli áthelyezési kérelmekkel dolgozik, a CSV-fájl nem szab határt. Csak azért, mert egy áthelyezést egy CSV-fájl használatával hoztak létre, nem jelenti azt, hogy az áthelyezési kérelmet nem lehet felfüggeszteni, törölni, folytatni vagy bejelenteni. Más szóval, ha egy CSV-fájlban 25 név van a létrehozáskor, akkor létrehozhatunk egy vadonatúj CSV-fájlt 15 vagy esetleg 50 névvel. Minden áthelyezési kérelem teljesen független egymástól. Tehát szükség szerint módosítsa, mert megteszi.

Következtetés

Ebben a cikksorozatban a postafiókok Exchange Online-ba való áttelepítéséről szóló cikksorozatban megvizsgáltuk a PowerShell segítségével végrehajtható különféle előfeltételeket, valamint a postafiók-áthelyezési műveleteket.

Megvizsgáltuk a lehetséges akadályokat, például az érvénytelen SMTP-domaineket, valamint azokat a házirendeket, amelyekre figyelni kell, amikor egy postafiók átkerül az Exchange Online-ba. Az áthelyezési kérelmek tekintetében megvizsgáltuk az alkotásokat, a felfüggesztést, a folytatást, a befejezést és még a helyszíni Exchange Serverhez való visszatérést is.

Egyértelműnek kell lennie, hogy egy átfogó szkriptnek sok terepe lenne, de mindez megvalósítható a PowerShellben. Még tovább is testreszabhatjuk a kódolást, hogy tartalmazzon részletes szkriptnaplózást (esetleg egy jövőbeli blogcikk?), testreszabhatjuk a postafiók-mozgatások jelentését és így tovább. A PowerShell nagyszerű eszköz a tömeges feladatok kezeléséhez, és időt takarít meg nekünk a grafikus felhasználói felületen végzett műveletek végrehajtásától.

Kapcsolódó cikkek