تحويل علب بريد Exchange 2007 الي مستخدمين ممكنين الي البريد

هام: تمت ترجمة هذه المقالة ترجمة آلية، راجع إقرار إخلاء المسؤولية. يرجى الاطلاع على النسخة الإنجليزية من هذه المقالة. هنا للرجوع إليها.

بعد اكمال عمليه ترحيل مرحلي، تحويل علب البريد الي مستخدمين ممكنين الي البريد ب# حيث يمكن الاتصال ب# علبه بريد السحابه علب البريد تلقائيا.

ل# ماذا تحويل علب البريد الي مستخدمين ممكنين الي البريد؟

اذا كان اكمال عمليه ترحيل مرحلي Exchange ل# ترحيل الخاص ب# المؤسسه Exchange 2007 علب البريد المحليه الي Office 365 و# كنت تريد اداره المستخدمين المستنده الي السحابه من مؤسستك المحليه — استخدام Active Directory، يجب ان تقوم ب# تحويل علب البريد المحليه الي المستخدمين الممكنه ل# البريد (ميوس). ل# ماذا؟ ف# سيحدث شيئين بعد ان يتم ترحيل علبه بريد الي مجموعه النظراء في ترحيل مرحلي Exchange:

  • مستخدم يملك علبه بريد محليه و# علبه بريد سحابه.

  • يتم اعاده توجيه البريد المرسل الي علبه بريد المستخدم في المحليه ل# علبه البريد الخاصه به في السحابه. يحدث هذا ل# ان اثناء عمليه الترحيل، تتم تعبئه خاصيه TargetAddress في علبه البريد ب# عنوان التوجيه البعيد علبه البريد مجموعه النظراء. ف# هذا يعني ان المستخدمين تحتاج الي الاتصال ب# علب البريد السحابه الوصول الي البريد الالكتروني الخاصه بهم.

يؤدي هذا السلوك مشاكل هما:

  • اذا كان شخص يستخدم Microsoft Outlook ل# فتح علبه البريد الخاصه به، ما زال يستمر خدمه الكشف التلقائي ل# الاتصال ب# علبه البريد المحليه، و# لن يتمكن المستخدم من الاتصال ب# علبه البريد الخاصه به في السحابه. اذا كان هناك المستخدمين التي لم يتم ترحيلها الي مجموعه النظراء، لا يمكن الاشاره سجل CNAME ل# الكشف التلقائي الخاص بك في السحابه حتي يتم ترحيل كل المستخدمين.

  • اذا كان يعطل مؤسسه Exchange بعد ان يتم ترحيل كل علب البريد المحليه الي مجموعه النظراء، سيتم فقدان معلومات المراسله ذات الصله ب# المستخدم علي مجموعه النظراء علبه البريد. ازاله اداه مزامنه الدليل Microsoft Online Services (DirSync) البيانات (علي سبيل المثال، عنوان الوكيل) من كائن علبه البريد سحابه اذ لم يعد موجودا علبه بريد محليه و DirSync لا تطابق الي علبه بريد السحابه المناظره.

الحل ل# تحويل علب البريد المحليه الي مستخدم الممكن ل# البريد (مو) في مؤسستك المحليه بعد ان تم ترحيل علبه بريد المستخدم الي مجموعه النظراء. عند تحويل علبه بريد محليه الي مو:

  • يتم نسخ عنوان الوكيل من علبه بريد المستنده الي السحابه الي مو جديده؛ اذا كان ايقاف تشغيل Exchange، يتم الاحتفاظ ب# عناوين الوكيل هذه لا تزال في "Active Directory".

  • تمكين خصائص مو DirSync ل# مطابقه مو مع علبه بريد السحابه المطابقه الخاصه به.

  • تستخدم خدمه الاكتشاف التلقائي ل# مو ل# اتصال Outlook الي علبه بريد السحابه بعد يقوم المستخدم ب# انشاء ملف تعريف Outlook جديد.

البرامج النصيه PowerShell ل# انشاء ميوس

يمكنك استخدام البرامج النصيه ادناه ل# تجميع المعلومات حول علب البريد المستنده الي السحابه، و# تحويل علب بريد Exchange 2007 الي ميوس.

البرنامج النصي التالي من تجميع معلومات من علب البريد الخاصه بك في السحابه و# حفظه الي ملف CSV. تشغيل هذا البرنامج النصي اولا.

نسخ البرنامج النصي ادناه و# اعطائه اسم ملف ExportO365UserInfo.ps1.

Param($migrationCSVFileName = "migration.csv")
function O365Logon
{
#Check for current open O365 sessions and allow the admin to either use the existing session or create a new one
$session = Get-PSSession | ?{$_.ConfigurationName -eq 'Microsoft.Exchange'}
if($session -ne $null)
{
$a = Read-Host "An open session to Office 365 already exists. Do you want to use this session? Enter y to use the open session, anything else to close and open a fresh session."
if($a.ToLower() -eq 'y')
{
Write-Host "Using existing Office 365 Powershell Session." -ForeGroundColor Green
return
}
$session | Remove-PSSession
}
Write-Host "Please enter your Office 365 credentials" -ForeGroundColor Green
$cred = Get-Credential
$s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic -AllowRedirection
$importresults = Import-PSSession $s
}

function Main
{

#Verify the migration CSV file exists
if(!(Test-Path $migrationCSVFileName))
{
Write-Host "File $migrationCSVFileName does not exist." -ForegroundColor Red
Exit
}

#Import user list from migration.csv file
$MigrationCSV = Import-Csv $migrationCSVFileName

#Get mailbox list based on email addresses from CSV file
$MailBoxList = $MigrationCSV | %{$_.EmailAddress} | Get-Mailbox
$Users = @()

#Get LegacyDN, Tenant, and On-Premise Email addresses for the users
foreach($user in $MailBoxList)
{
$UserInfo = New-Object System.Object

$CloudEmailAddress = $user.EmailAddresses | ?{($_ -match 'onmicrosoft') -and ($_ -cmatch 'smtp:')}
if ($CloudEmailAddress.Count -gt 1)
{
$CloudEmailAddress = $CloudEmailAddress[0].ToString().ToLower().Replace('smtp:', '')
Write-Host "$user returned more than one cloud email address. Using $CloudEmailAddress" -ForegroundColor Yellow
}
else
{
$CloudEmailAddress = $CloudEmailAddress.ToString().ToLower().Replace('smtp:', '')
}

$UserInfo | Add-Member -Type NoteProperty -Name LegacyExchangeDN -Value $user.LegacyExchangeDN
$UserInfo | Add-Member -Type NoteProperty -Name CloudEmailAddress -Value $CloudEmailAddress
$UserInfo | Add-Member -Type NoteProperty -Name OnPremiseEmailAddress -Value $user.PrimarySMTPAddress.ToString()

$Users += $UserInfo
}

#Check for existing csv file and overwrite if needed
if(Test-Path ".\cloud.csv")
{
$delete = Read-Host "The file cloud.csv already exists in the current directory. Do you want to delete it? Enter y to delete, anything else to exit this script."
if($delete.ToString().ToLower() -eq 'y')
{
Write-Host "Deleting existing cloud.csv file" -ForeGroundColor Red
Remove-Item ".\cloud.csv"
}
else
{
Write-Host "Will NOT delete current cloud.csv file. Exiting script." -ForeGroundColor Green
Exit
}
}
$Users | Export-CSV -Path ".\cloud.csv" -notype
(Get-Content ".\cloud.csv") | %{$_ -replace '"', ''} | Set-Content ".\cloud.csv" -Encoding Unicode
Write-Host "CSV File Successfully Exported to cloud.csv" -ForeGroundColor Green

}

O365Logon
Main

تحويل البرنامج النصي التالي من علب البريد المحليه Exchange 2007 الي ميوس. تشغيل هذا البرنامج النصي بعد لديك تشغيل البرنامج النصي ل# جمع معلومات من علب بريد السحابه.

نسخ البرنامج النصي ادناه الي ملف .txt ثم حفظ الملف و# اعطائه اسم ملف Exchange2007MBtoMEU.ps1.

param($DomainController = [String]::Empty)

function Main
{
#Script Logic flow
#1. Pull User Info from cloud.csv file in the current directory
#2. Lookup AD Info (DN, mail, proxyAddresses, and legacyExchangeDN) using the SMTP address from the CSV file
#3. Save existing proxyAddresses
#4. Add existing legacyExchangeDN's to proxyAddresses
#5. Delete Mailbox
#6. Mail-Enable the user using the cloud email address as the targetAddress
#7. Disable RUS processing
#8. Add proxyAddresses and mail attribute back to the object
#9. Add msExchMailboxGUID from cloud.csv to the user object (for offboarding support)

if($DomainController -eq [String]::Empty)
{
Write-Host "You must supply a value for the -DomainController switch" -ForegroundColor Red
Exit
}

$CSVInfo = Import-Csv ".\cloud.csv"
foreach($User in $CSVInfo)
{
Write-Host "Processing user" $User.OnPremiseEmailAddress -ForegroundColor Green
Write-Host "Calling LookupADInformationFromSMTPAddress" -ForegroundColor Green
$UserInfo = LookupADInformationFromSMTPAddress($User)

#Check existing proxies for On-Premise and Cloud Legacy DN's as x500 proxies. If not present add them.
$CloudLegacyDNPresent = $false
$LegacyDNPresent = $false
foreach($Proxy in $UserInfo.ProxyAddresses)
{
if(("x500:$UserInfo.CloudLegacyDN") -ieq $Proxy)
{
$CloudLegacyDNPresent = $true
}
if(("x500:$UserInfo.LegacyDN") -ieq $Proxy)
{
$LegacyDNPresent = $true
}
}
if(-not $CloudLegacyDNPresent)
{
$X500Proxy = "x500:" + $UserInfo.CloudLegacyDN
Write-Host "Adding $X500Proxy to EmailAddresses" -ForegroundColor Green
$UserInfo.ProxyAddresses += $X500Proxy
}
if(-not $LegacyDNPresent)
{
$X500Proxy = "x500:" + $UserInfo.LegacyDN
Write-Host "Adding $X500Proxy to EmailAddresses" -ForegroundColor Green
$UserInfo.ProxyAddresses += $X500Proxy
}

#Disable Mailbox
Write-Host "Disabling Mailbox" -ForegroundColor Green
Disable-Mailbox -Identity $UserInfo.OnPremiseEmailAddress -DomainController $DomainController -Confirm:$false

#Mail Enable
Write-Host "Enabling Mailbox" -ForegroundColor Green
Enable-MailUser -Identity $UserInfo.Identity -ExternalEmailAddress $UserInfo.CloudEmailAddress -DomainController $DomainController

#Disable RUS
Write-Host "Disabling RUS" -ForegroundColor Green
Set-MailUser -Identity $UserInfo.Identity -EmailAddressPolicyEnabled $false -DomainController $DomainController

#Add Proxies and Mail
Write-Host "Adding EmailAddresses and WindowsEmailAddress" -ForegroundColor Green
Set-MailUser -Identity $UserInfo.Identity -EmailAddresses $UserInfo.ProxyAddresses -WindowsEmailAddress $UserInfo.Mail -DomainController $DomainController

#Set Mailbox GUID. Need to do this via S.DS as Set-MailUser doesn't expose this property.
$ADPath = "LDAP://" + $DomainController + "/" + $UserInfo.DistinguishedName
$ADUser = New-Object -TypeName System.DirectoryServices.DirectoryEntry -ArgumentList $ADPath
$MailboxGUID = New-Object -TypeName System.Guid -ArgumentList $UserInfo.MailboxGUID
[Void]$ADUser.psbase.invokeset('msExchMailboxGUID',$MailboxGUID.ToByteArray())
Write-Host "Setting Mailbox GUID" $UserInfo.MailboxGUID -ForegroundColor Green
$ADUser.psbase.CommitChanges()

Write-Host "Migration Complete for" $UserInfo.OnPremiseEmailAddress -ForegroundColor Green
Write-Host ""
Write-Host ""
}
}

function LookupADInformationFromSMTPAddress($CSV)
{
$Mailbox = Get-Mailbox $CSV.OnPremiseEmailAddress -ErrorAction SilentlyContinue

if($Mailbox -eq $null)
{
Write-Host "Get-Mailbox failed for" $CSV.OnPremiseEmailAddress -ForegroundColor Red
continue
}

$UserInfo = New-Object System.Object

$UserInfo | Add-Member -Type NoteProperty -Name OnPremiseEmailAddress -Value $CSV.OnPremiseEmailAddress
$UserInfo | Add-Member -Type NoteProperty -Name CloudEmailAddress -Value $CSV.CloudEmailAddress
$UserInfo | Add-Member -Type NoteProperty -Name CloudLegacyDN -Value $CSV.LegacyExchangeDN
$UserInfo | Add-Member -Type NoteProperty -Name LegacyDN -Value $Mailbox.LegacyExchangeDN
$ProxyAddresses = @()
foreach($Address in $Mailbox.EmailAddresses)
{
$ProxyAddresses += $Address
}
$UserInfo | Add-Member -Type NoteProperty -Name ProxyAddresses -Value $ProxyAddresses
$UserInfo | Add-Member -Type NoteProperty -Name Mail -Value $Mailbox.WindowsEmailAddress
$UserInfo | Add-Member -Type NoteProperty -Name MailboxGUID -Value $CSV.MailboxGUID
$UserInfo | Add-Member -Type NoteProperty -Name Identity -Value $Mailbox.Identity
$UserInfo | Add-Member -Type NoteProperty -Name DistinguishedName -Value (Get-User $Mailbox.Identity).DistinguishedName

$UserInfo
}

Main

خطوات الاعداد ل# تحويل علب البريد المحليه الي ميوس

اتبع هذه الخطوات ل# اكمال العمليه.

  1. نسخ ExportO365UserInfo.ps1 و Exchange2007MBtoMEU.ps1 ملف CSV المستخدمه ل# تشغيل دفعه الترحيل الي نفس الدليل في خادم محلي.

  2. اعاده تسميه ملف CSV الترحيل الي migration.csv.

  3. . في Exchange Management Shell، شغل الامر التالي. يفترض البرنامج النصي في نفس الدليل ملف CSV و# يسمي migration.csv.

    .\ExportO365UserInfo.ps1

    ستتم مطالبتك ب# استخدام جلسه عمل موجوده او فتح جلسه عمل جديده.

  4. اكتب n ثم اضغط علي Enter ل# فتح جلسه عمل جديده.

    يتم تشغيل البرنامج النصي و# ثم حفظ الملف Cloud.csv الي دليل العمل الحالي.

  5. ادخل بيانات اعتماد المسؤول ل# مؤسستك المستنده الي السحابه و# ثم انقر فوق موافق.

  6. تشغيل الامر التالي في جلسه عمل جديده Exchange Management Shell. يفترض هذا الامر ان ExportO365UserInfo.ps1 و Cloud.csv موجوده في نفس الدليل.

    .\Exchange2007MBtoMEU.ps1 <FQDN of on-premises domain controller>

    على سبيل المثال:

    .\Exchange2007MBtoMEU.ps1 DC1.contoso.com

    تحويل البرنامج النصي علب البريد المحليه الي ميوس ل# كل المستخدمين الموجودين في Cloud.csv.

  7. تاكد من ان ميوس جديد تم انشاؤها. في مستخدمي Active Directory و# اجهزه الكمبيوتر، قم ب# ما يلي:

    1. انقر فوق اجراء > البحث عن

    2. انقر فوق علامه التبويب Exchange

    3. حدد اظهار المستلمين Exchange فقط، و# حدد المستخدمين الذين يملكون عنوان بريد الكتروني خارجي.

    4. انقر فوق بحث الان.

    يتم ادراج علب البريد التي تم تحويلها الي ميوس ضمن نتائج البحث.

  8. استخدم مستخدمي Active Directory و# اجهزه الكمبيوتر ADSI Edit او Ldp.exe ل# التاكد من ان تتم تعبئه الخصائص مو التاليه ب# استخدام المعلومات الصحيحه.

    • ليجاسييكستشانجيدن

    • البريد

    • msExchMailboxGuid

    • proxyAddresses

    • targetAddress

ملاحظة: إقرار إخلاء المسؤولية للترجمة الآلية: تمت ترجمة هذه المقالة بواسطة نظام كمبيوتر دون تدخل العامل البشري. توفر Microsoft هذه الترجمات الآلية لمساعدة المستخدمين الذين لا يتحدثون الإنجليزية على استخدام منتجات Microsoft، وخدماتها، وتقنياتها والاستمتاع بها. قد تحتوي هذه المقالة على أخطاء في المفردات، أو بناء الجملة، أو القواعد نظرًا لترجمتها آليًا.

مشاركة Facebook Facebook Twitter Twitter البريد الإلكتروني البريد الإلكتروني

هل كانت المعلومات مفيدة؟

رائع! هل لديك أي ملاحظات أخرى؟

كيف يمكننا تحسين ذلك؟

نشكرك على ملاحظاتك!

×