كيفية – هجرة Office 365 إلى Office 365 (خطوة بخطوة)

كيفية – ترحيل Office 365 إلى Office 365 (خطوة بخطوة). يتطلب الانتقال من بيئة Office 365 إلى أخرى تخطيطًا وتنفيذًا دقيقين لضمان انتقال سلس دون التأثير على سلامة البيانات. يوضح هذا الدليل الشامل عملية الخطوة بخطوة لترحيل صندوق بريد Office 365 بين المستأجرين، مع التركيز على المراحل الأساسية. من خلال اتباع هذه الخطوات المفصلة، تقوم المؤسسات بتبسيط رحلتها في الترحيل وتقليل التشويش المحتمل على عملياتها اليومية. في هذا الدليل نصف العملية التي يتم فيها استخدام أداة الترحيل المدمجة لبيانات المستخدمين عبر المستأجرين. بالإضافة إلى الأدوات الأخرى، لها مزاياها (لا تتطلب شراء أدوات من طرف ثالث) وعيوبها (لا تدعم ترحيل المجلدات العامة، تتطلب بعض مهارات البرمجة بواسطة PowerShell)، وتعمل لكل من الشركات الصغيرة والكبيرة.

لنبدأ مقالنا كيفية – ترحيل Office 365 إلى Office 365.

كيفية – ترحيل Office 365 إلى Office 365

1. تقييم قبل الترحيل من Office 365 إلى Office 365

أولاً، تأكد من جمع المعلومات التالية:

  1. استخدام الاحتفاظ القانوني. لا يمكن ترحيل صناديق البريد وحسابات OneDrive التي تم تطبيق سياسة الاحتفاظ عليها إلى مستأجر آخر.
  2. قم بأرشفة الصناديق البريدية. خلال مطابقة السمات (المعروضة أدناه خلال تحضير الحساب)، يجب أن يكون للمستخدمين الذين لديهم صناديق بريدية مؤرشفة كل من السمات ExchangeGUID و ArchiveGUID متطابقتان في المصدر والمستأجر الهدف.
  3. الوكالات الحالية لأذونات الإرسال نيابة عن. لا يتم نقل هذا الإذن ويجب إعادة تكوينه بعد الهجرة. إذا كنت ترغب في استخدام نص برنامج PowerShell لتقييم قائمة الوكالات، تأكد من تحويل سمة الاسم المميز (التي لا يمكن استخدامها في المستأجر الهدف) إلى بعض السمة التي تظل ثابتة بعد الهجرة، مثل الاسم الظاهر. مثال على البرنامج النصي الذي يمكن استخدامه لجمع المعلومات موجود أدناه (لتشغيله، قم بالاتصال بوحدة PowerShell لـ Exchange Online أولاً):
$delegatedmailboxes = get-mailbox -resultsize unlimited | ?{$_.GrantSendOnBehalfTo -ne $null} | select displayname,GrantSendOnBehalfTo

$FilePath = "C:\output\delegatee.csv" #استخدم مسار ملف الخاص بك، تأكد من وجود المجلد
Add-Content -Value ("Delegator" + "," + "Delegatee") -Path $FilePath
foreach ($delegatedmailbox in $delegatedmailboxes) {
    $delegatees = $delegatedmailbox.GrantSendOnBehalfTo
    foreach ($delegatee in $delegatees) {
        $delegateeName = get-mailbox $delegatee
        $delegatedmailbox.Displayname + "," + $delegateeName.Displayname | out-file $FilePath -append
    }
}

ينشئ البرنامج النصي ملف CSV يحتوي على معلومات عن جميع الوكالات لأذونات الإرسال نيابة عن في المستأجر. يمكن استخدام الملف بعد الهجرة لإعادة إنشاء الوكالات. يرجى ملاحظة أن ملفات CSV تستخدم الفاصلة كفاصل، لذا إذا استخدمت الفاصلة في سمة DisplayName للمستخدمين في شركتك، فضلاً قم بضبط البرنامج النصي وفقًا لذلك (مثلاً استخدم التبويب كفاصل).

  1. تأكد من أن لديك الأذونات اللازمة في كل من الجهات المصدر والهدف. يتطلب التكوين الأولي دور مسؤول المؤسسة (لتكوين علاقة المؤسسة) والقدرة على تسجيل التطبيقات في Azure AD (لتسجيل تطبيق الهجرة في الخطوات اللاحقة). الحركة نفسها لا تتطلب امتيازات عالية ويمكن أن تتم بواسطة حساب لديه إذن نقل البريد الإلكتروني.
  2. تأكد من أن لديك التراخيص اللازمة في كل من الجهتين المصدر والهدف. تحتاج إلى تراخيص Microsoft 365 وتراخيص هجرة بيانات المستخدمين بين الجهات لجميع المستخدمين الذين يتم هجرتهم. تأكد من تعيين تراخيص هجرة بيانات المستخدمين بين الجهات قبل الهجرة. في الجهة الهدف، تأكد من أن تراخيص Exchange Online لم يتم تعيينها قبل تعيين سمة ExchangeGUID وعناوين البروكسي للمستخدم، حيث يسبب ذلك فشل الهجرة (لأن صندوق البريد يتم تعيينه بـ GUID مختلف لصندوق البريد.
  3. احصل على معرف المستأجر لكل من الجهتين، كما هو موضح في مقالة العثور على معرف مستأجر Microsoft 365 الخاص بك.كما، قم بإعلام المستخدمين النهائيين عن التأثير المتوقع:

A note to users

أيضًا، قم بإعلام المستخدمين النهائيين بالتأثير المتوقع:

  • سيكون البريد الإلكتروني في وضع للقراءة فقط لفترة قصيرة خلال عملية الهجرة.
  • يجب على المستخدمين إعادة إنشاء ملف تعريف Outlook على الأجهزة المكتبية والأجهزة المحمولة بعد الهجرة.
  • قد يتطلب تطبيقات Microsoft 365 إعادة تنشيطها.
  • إذا تم تعيين OneDrive أو SharePoint كقرص شبكة، فسيتعين إعادة تعيينها.
  • يجب إعادة إنشاء اجتماعات Teams الموجودة.يجب إعادة إنشاؤها.
  • لن يتم هجرة مجموعات Microsoft 365.

2. تسجيل تطبيق الهجرة في Microsoft Entra

للسماح لـ Microsoft بنقل المستخدمين عبر مستأجرين، يجب عليك تسجيل التطبيق في Microsoft Entra (لأولئك الذين فاتهم التحديث، تعتبر Entra هي الاسم الذي يطلقه Microsoft على Azure AD الآن) في المستأجر الهدف ومنحه إذن Mailbox.Migration . بالإضافة إلى ذلك، يتطلب إنشاء السر الذي يُستخدم لإنشاء نقطة الهجرة (نقطة الهجرة هي كيان تكوين يحتوي على إعدادات واعتمادات لأداء الهجرات الخارجية).

  1. انتقل إلى مركز إدارة Microsoft Entra وقم بتسجيل الدخول باستخدام حساب يمكنه تسجيل التطبيقات.
  2. انتقل إلى التطبيقات > تسجيل التطبيقات واختر تسجيل جديد.
  1. في النافذة المفتوحة لـ تسجيل تطبيق، أدخل الاسم (أي اسم سيعمل)، واختر الخيار حسابات في أي دليل تنظيمي (أي دليل Microsoft Entra – متعدد المستأجرين) كأنواع الحسابات المدعومة وحدد https://office.com كعنوان توجيه ويب، ثم اضغط تسجيل.
  1. عد إلى الصفحة تسجيل التطبيقات، واختر التطبيق الذي تم إنشاؤه.
  2. في الصفحة المفتوحة، في علامة التبويب نظرة عامة، ابحث عن معرف التطبيق (العميل) وقم بتدوينه للاستخدام اللاحق.
  1. انتقل إلى علامة التبويب أذونات API واضغط إضافة إذن.
  1. في النافذة المفتوحة، انتقل إلى علامة التبويب APIs my organization uses واختر Office 365 Exchange Online.
  1. انتقل إلى أذونات التطبيق، وفي القائمة اختر Mailbox > Mailbox.Migration ثم اضغط على زر إضافة أذونات.
  1. بعد منح الأذونات، انتقل إلى علامة التبويب الشهادات والأسرار (في اللوحة التنقلية لصفحة التطبيق)، وفي قسم أسرار العميل، اختر سر عميل جديد.
  1. املأ كلا الحقلين واضغط على إضافة.
  1. عند العودة إلى صفحة الشهادات والأسرار، سترى معرف السر الجديد وكلمة المرور، اكتبهما للاستخدام المستقبلي.

3. إعداد مستأجر Office 365 المستهدف

في الخطوة التالية، نمنح موافقة المشرف للتطبيق المسجل في المستأجر المستهدف، ثم ننشئ نقطة انتقال وعلاقة المؤسسة. تُستخدم علاقات المؤسسة في Exchange Online لتوفير بعض الوصول للأطراف الخارجية إلى الموارد الداخلية. وأكثر استخدام شائع لهذه الميزة هو منح وصول قراءة إلى معلومات التقويم لمنظمة الشريك (لمشاركة حالة التوفر)، ومع ذلك يمكن استخدامها لأنواع وصول أخرى أيضًا. في حالتنا، نوفر قدرة نقل البريد الإلكتروني.

  1. في مركز مشرف Microsoft Entra ، انتقل إلى التطبيقات > التطبيقات المؤسسية.
  2. في قائمة التطبيقات ، حدد تطبيق الهجرة الذي تم إنشاؤه.
  3. ستظهر صفحة التطبيق ، انتقل إلى علامة التبويب الأذونات ، واضغط على منح الموافقة للمشرف على [اسم المستأجر الخاص بك].
  1. يظهر صفحة التطبيق، انتقل إلى عناوين الإذنات وقم بالموافقة على الصلاحية لـ [اسم مقطعك الخاص].
  1. تفتح نافذة المتصفح جديدة، وقبل تمويل الإذنات.
  2. لإنشاء نقطة التحويل الخاصة بالتحويل وعلاقة المنظمة في المقطع الهدفي، افتح PowerShell واتصل بموديل Exchange Online.
  3. من ثم، تفقد إذا كانت منظومة ترادفيكس الخاصة بك في حالة الجفاف. إذا كان كذلك، لا يمكن تخصيص إعدادات المنظومة.
Get-OrganizationConfig | select isDehydrated
  1. إذا كان ما يبدو عليه الناتج خطأ، يمكن تجاهل هذه الخطوة، إذا كان صحيح، قم بتشغيل قولية Enable-OrganizationCustomization.
  2. إنشاء نقطة التحويل الخاصة بالتحويل:
$AppId = "[Application ID saved in step 2.5]"
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $AppId, `
(ConvertTo-SecureString -String "[secret password saved in step 2.11]" -AsPlainText -Force)
New-MigrationEndpoint -RemoteServer outlook.office.com -RemoteTenant ".onmicrosoft.com" `
-Credentials $Credential -ExchangeRemoteMove:$true -Name "MigrationEndpoint01" -ApplicationId $AppId

حيث “<SourceDomain>.onmicrosoft.com” هي الجهة التي ستنقل منها مستخدمين

  1. إنشاء علاقة المنظومة (أو تعديلها إذا كانت موجودة بالفعل):
$sourceTenantId="[ID of the source tenant from step 1.6]"
$existingOrgRel = Get-OrganizationRelationship | ?{$_.DomainNames -like $sourceTenantId}
If ($null -ne $existingOrgRel) {
    Set-OrganizationRelationship $existingOrgRel.Name -Enabled:$true -MailboxMoveEnabled:$true -MailboxMoveCapability Inbound
}
Else {
    New-OrganizationRelationship "SourceTenant" -Enabled:$true -MailboxMoveEnabled:$true -MailboxMoveCapability Inbound -DomainNames $sourceTenantId
}

4. تحضير مقطع مايكروسوفت 365 المصدر.

  1. تسجيل الدخول إلى لوحة تحكم المسؤول Microsoft Entra في المصدر.
  2. انتقل إلى عنوان URL https://login.microsoftonline.com/<TargetTenant>.onmicrosoft.com/adminconsent?client_id=[معرف التطبيق]&redirect_uri=https://office.com، حيث <TargetTenant> قم بتعويضه باسم النطاق للمستأجر الذي تريد نقل صناديق البريد إليه، ومعرف التطبيق هو الذي تم حفظه سابقًا.
  3. في النافذة المظهرة، قم بقبول منح الأذونات للتطبيق.
  1. قم بالاتصال بـ PowerShell عبر Exchange Online للمستأجر المصدر (إذا كنت تقوم بإعداد كلا المستأجرين من نفس الكمبيوتر، فيجب عليك تشغيل Connect-ExchangeOnline مرة أخرى بمعلمة UserPrincipalName مختلفة).
  2. كرر الخطوات 3.6 و 3.7 من القسم السابق للمستأجر المصدر.
  3. إنشاء مجموعة أمان جديدة ممكّنة للبريد الإلكتروني. تُستخدم لتحديد المستخدمين الذين سيتم نقلهم:
$UserGroup="[name of the group]" ; New-DistributionGroup -Type Security -Name $UserGroup
  1. إنشاء علاقة تنظيمية (أو تعديلها، إذا كانت العلاقة موجودة بالفعل):
$targetTenantId="[ID of the target tenant saved in step 1.6]"
$AppId="[Application ID]"
$existingOrgRel = Get-OrganizationRelationship | ?{$_.DomainNames -like $targetTenantId}
If ($null -ne $existingOrgRel) {
    Set-OrganizationRelationship $existingOrgRel.Name -Enabled:$true -MailboxMoveEnabled:$true `
    -MailboxMoveCapability RemoteOutbound -OAuthApplicationId $AppId -MailboxMovePublishedScopes $UserGroup
}
Else {
    New-OrganizationRelationship "TargetTenant" -Enabled:$true -MailboxMoveEnabled:$true -DomainNames $targetTenantId `
    -MailboxMoveCapability RemoteOutbound  -OAuthApplicationId $AppId -MailboxMovePublishedScopes $UserGroup
}
  1. نقل جميع المستخدمين المخطط لنقلهم إلى المجموعة التي تم إنشاؤها في الخطوة 6. تذكر أن استخدام المجموعة المتداخلة غير مُوصى به.

5. تأهيل حسابات المستخدمين في المستخدم الهدف

تحويل الصناديق بين المستخدمين يتطلب وجود أشياء من نوع MailUser مسبق التنفيذ في المجال الهدف. يجب أن تحمل خصائص تطابق خصائص الصندوق المصدر، ويمكن الحصول على أيضًا تفاصيل أكثر هنا. تأكد من أن الخصائص EmailAddresses مُconfigured بالطريقة الصحيحة: يجب أن تحتوي على الخصائص LegacyExchangeDN من صندوق البريد المصدر كعناوين X500 مستعسة. أسهل طريقة للتطابق بين الخصائص هي استخدام PowerShell.

  1. في جلسة PowerShell للمستخدم المصدر، تشغيل 脚本 التحميل أدناه لتصدير خصائص المستخدمين إلى ملف XML (في هذه الحالة يتماشى الXML أفضل من الCSV، لأن بعض الخصائص هي قوائم).
$UserAttributes = "C:\output\UserAttributes.xml" # استخدم مسار ملفك الخاص، وتأكد من أن توجد تلك المجلدة
Get-DistributionGroupMember -ResultSize Unlimited $UserGroup | ForEach-Object {Get-Mailbox $_.DisplayName}| `
Select-Object PrimarySMTPAddress,Alias,SamAccountName,FirstName,LastName,DisplayName,Name,ExchangeGuid,`
ArchiveGuid,LegacyExchangeDn,EmailAddresses | Export-Clixml $UserAttributes
  1. خلال خلق أيتماء مستخدم البريد، حدد كلمات المرور. لذا، في sesión PowerShell الموجهة للمقطوعة المستقبلية تأكد من إجراء بعض الوظائف الخاصة بPowerShell لتوليد الكلمات المرورية. على سبيل المثال، يتم إنشاء الوظيفة التالية بناءا على وظيفة Get-RandomPassword المتاحة في المعرض السلكي للبريد الإلكتروني.
$symbols = '!@#$%^&amp;*'.ToCharArray()
$characterList = @([char[]]([char]'a'..[char]'z'), [char[]]([char]'A'..[char]'Z'), [char[]]([char]'0'..[char]'9') + $symbols)

function Get-RandomPassword  {
    param(
        [ValidateRange(12, 256)]
        [int]
        $length = 16
    )

    do {
        $password = -join (0..$length | ForEach-Object { $characterList | Get-Random })
        [int]$hasLowerChar = $password -cmatch '[a-z]'
        [int]$hasUpperChar = $password -cmatch '[A-Z]'
        [int]$hasDigit = $password -match '[0-9]'
        [int]$hasSymbol = $password.IndexOfAny($symbols) -ne -1
    }
    until (($hasLowerChar + $hasUpperChar + $hasDigit + $hasSymbol) -ge 3)

    $password | ConvertTo-SecureString -AsPlainText -Force
}
  1. في sesión PowerShell الموجهة للمقطوعة المستقبلية، اجراء قراءة ال following نص لإنشاء أيتماء مستخدم البريد. بالإضافة إلى ذلك، يتم إنشاء ملف CSV الذي يستخدم أثناء إنشاء حزمة التحويل.
$MailUsers = Import-Clixml $UserAttributes
$Organization = "@.onmicrosoft.com" # استخدم أسم المقطوعة المستقبلية
$CSVData = "C:\output\CSVData.csv" # استخدم مسار ملفك الخاص، وأن تتأكد من وجود مجلدك
Add-Content -Value ("EmailAddress") -Path $CSVData
foreach ($MailUser in $MailUsers) {
    $SMTPAddress = $MailUser.Alias + $Organization
    $SMTPAddress  | out-file $CSVData -append
    $Password = Get-RandomPassword
    $x500 = "x500:" + $MailUser.LegacyExchangeDn
    $UserObject = New-MailUser -MicrosoftOnlineServicesID $SMTPAddress -PrimarySmtpAddress $SMTPAddress `
    -ExternalEmailAddress $MailUser.PrimarySmtpAddress -FirstName $MailUser.FirstName -LastName $MailUser.LastName `
    -Name $MailUser.Name -DisplayName $MailUser.DisplayName -Alias $MailUser.Alias -Password $Password
    $UserObject | Set-MailUser -EmailAddresses @{add = $x500 } -ExchangeGuid $MailUser.ExchangeGuid -ArchiveGuid $MailUser.ArchiveGuid
    $ProxyX500 = $MailUser.EmailAddresses | Where-Object { $_ -match "x500" }
    $ProxyX500 | ForEach-Object { Set-MailUser $MailUser.Alias -EmailAddresses @{add = "$_" } }
}
  1. حينما تتأكد من أن الأيتماء المناسبة تم إنشاؤها في المقطوعة المستقبلية، تخصيص تراكم البريد الإلكتروني الخارجي للمستخدمين.
  2. لتتحقق من التكوين، يتم اجراء قراءة من sesión PowerShell المصدرية:
Test-MigrationServerAvailability -EndPoint "MigrationEndpoint01" -TestMailbox "[primary SMTP address of the target user mailbox]"

6. تحويل حسابات المستخدمين وإنهاء تحويل التهجير.

أثناء هجرة Office 365 إلى Office 365 بين المستأجرين، يتم نقل صناديق البريد باستخدام الدفعات الخاصة بالهجرة. الدفعات الخاصة بالهجرة هي طلبات لتغيير موقع صناديق البريد المدرجة. يتم إنشاء الدفعة باستخدام مركز مسؤول Exchange Online أو باستخدام سطر الأوامر New-MigrationBatch  .

  1. أنشئ الدفعة الخاصة بالهجرة من جلسة PowerShell في المستأجر المصدر. تأكد من أن مسار ملف CSV الذي تم إنشاؤه سابقًا صحيح.
New-MigrationBatch -Name Batch01 -SourceEndpoint "MigrationEndpoint01" -CSVData ([System.IO.File]::ReadAllBytes("C:\output\CSVData.csv"))`
-Autostart -TargetDeliveryDomain .onmicrosoft.com

ملاحظة: لا توصي Microsoft باستخدام دفعات تحتوي على أكثر من 2000 مستخدم. إذا كان لديك عدد كبير من صناديق البريد التي يجب نقلها، فأنشئ عدة دفعات.

  1. راقب تقدم حركة الدفعة سواء من خلال PowerShell (باستخدام سطر الأوامر Get-MigrationStatistics) أو من خلال مركز مسؤول Exchange Online (قم بتسجيل الدخول إلى https://admin.exchange.microsoft.com/ وانتقل إلى الصفحة الرئيسية> دفعات الهجرة)، وابحث عن الأخطاء والتحذيرات.
  2. بعد ذلك، استخدم ملف معلومات التفويض الذي تم إنشاؤه سابقًا لإعادة تكوين أذونات الإرسال نيابةً عن. للقيام بذلك، قم بتشغيل الأمر التالي في جلسة PowerShell في المستأجر الهدف:
$delegateelist = Import-Csv "C:\output\delegatee.csv"
foreach ($mailbox in $delegateelist ) {
    Set-Mailbox $mailbox.Delegator -GrantSendOnBehalfTo $mailbox.delegatee)
}

بعد الانتهاء من جميع الخطوات، لا تتردد في إزالة نقطة النقل المُنشأ و علاقة المنظمة.

كيفية – استنتاج هجرة Office 365 إلى Office 365

تتطلب نقل البريد الإلكتروني بنجاح بين بيئات Office 365 تقييمًا دقيقًا وتنفيذًا دقيقًا لعدة خطوات. قدم هذا الدليل خارطة طريق شاملة لمحترفي تكنولوجيا المعلومات للتنقل في الاعتبارات الحرجة والأذونات وإعداد الهجرة. من خلال الالتزام بهذه الخطوات، تقوم المنظمات بتنفيذ عملية هجرة صندوق البريد بشكل سلس وفعال، مما يضمن الحد الأدنى من انقطاع الخدمة والحفاظ على سلامة البيانات.

Source:
https://infrasos.com/how-to-office-365-to-office-365-migration/