Menukar peti mel Exchange 2007 ke pengguna berdaya mel

Penting: Artikel ini diterjemahkan oleh mesin, lihatlah notis penafian. Sila dapatkan versi Bahasa Inggeris artikel ini di sini sebagai rujukan anda

Selepas anda selesai migrasi berperingkat, menukar peti mel untuk pengguna berdaya mel supaya peti mel boleh secara automatik bersambung ke peti mel awan.

Mengapa menukar peti mel kepada pengguna yang didayakan mel?

Jika anda telah selesai pemindahan Exchange berperingkat untuk memindahkan organisasi anda Exchange 2007 peti mel pada premis ke Office 365 dan anda ingin menguruskan pengguna berasaskan awan dari organisasi pada premis anda — menggunakan Active Directory — anda perlu menukar peti mel pada premis kepada pengguna didayakan mel (MEU). Mengapa? Dua perkara yang berlaku selepas peti mel dipindahkan ke awan dalam pemindahan Exchange berperingkat:

  • Pengguna mempunyai kepada peti mel pada premis dan peti mel awan.

  • Mel yang dihantar ke peti mel pada premis pengguna dimajukan ke peti mel awan mereka. Hal ini berlaku kerana semasa proses migrasi, sifat TargetAddress pada peti mel pada premis diisikan dengan alamat penghalaan jauh peti mel awan. Ini bermakna bahawa pengguna perlu bersambung ke peti mel awan mereka untuk mencapai e-mel mereka.

Kelakuan ini akan menghasilkan dua isu:

  • Jika seseorang menggunakan Microsoft Outlook untuk membuka peti mel mereka, Perkhidmatan Autodiscover masih cuba untuk menyambung ke peti mel pada premis dan pengguna tidak akan dapat menyambung ke peti mel awan mereka. Jika terdapat pengguna yang belum dipindahkan ke awan, anda tidak boleh menuding rekod CNAME Autotemu anda ke awan sehingga semua pengguna dipindahkan.

  • Jika organisasi memberhentikan penggunaan Exchange selepas semua peti mel pada premis dipindahkan ke awan, maklumat pengguna berkaitan pemesejan pada peti mel awan akan hilang. Alat Penyegerakan Direktori Microsoft Online Services (DirSync) mengalih keluar data (seperti alamat proksi) daripada objek peti mel awan kerana peti mel pada premis tidak lagi wujud dan DirSync tidak sepadan dengan peti mel awan yang sepadan.

Penyelesaian adalah untuk menukar peti mel pada premis kepada pengguna didayakan mel (MEU) dalam organisasi pada premis anda selepas peti mel pengguna telah dipindahkan ke awan. Apabila anda menukar kepada peti mel pada premis MEU:

  • Alamat proksi dari peti mel berasaskan awan disalin ke MEU baru; Jika anda memberhentikan Exchange, alamat proksi ini masih dikekalkan dalam Active Directory.

  • Sifat MEU dayakan DirSync untuk memadankan MEU dengan peti mel awan yang sepadan.

  • Perkhidmatan Autotemu menggunakan MEU untuk menyambung Outlook ke peti mel awan selepas pengguna mencipta profil Outlook baru.

Skrip PowerShell untuk mencipta MEU

Anda boleh menggunakan skrip di bawah untuk mengumpulkan maklumat mengenai peti mel berasaskan awan dan untuk menukar peti mel Exchange 2007 ke MEU.

Skrip berikut mengumpulkan maklumat daripada peti mel awan anda dan menyimpan ke fail CSV. Menjalankan skrip ini terlebih dahulu.

Salin skrip di bawah dan berikannya nama fail 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 -Prefix "Cloud" $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-CloudMailbox
$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()
$UserInfo | Add-Member -Type NoteProperty -Name MailboxGUID -Value $user.ExchangeGUID
$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

Skrip berikut menukar peti mel Exchange 2007 pada premis kepada MEU. Menjalankan skrip ini selepas anda telah menjalankan skrip untuk mengumpulkan maklumat daripada peti mel awan.

Salin skrip di bawah ke fail .txt kemudian simpan fail dan berikannya nama fail 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

Langkah persediaan untuk menukar peti mel pada premis MEU

Ikuti langkah ini untuk melengkapkan proses.

  1. Salin ExportO365UserInfo.ps1, Exchange2007MBtoMEU.ps1 dan fail CSV yang digunakan untuk menjalankan kelompok pemindahan ke direktori yang sama dalam pelayan pada premis anda.

  2. Namakan semula fail migrasi CSV kepada migration.csv.

  3. . Dalam Exchange Management Shell, jalankan perintah berikut. Skrip yang menganggap bahawa fail CSV dalam direktori yang sama dan dinamakan migration.csv.

    .\ExportO365UserInfo.ps1

    Anda akan digesa untuk gunakan sesi sedia ada atau Buka sesi baru.

  4. Taipkan n dan tekan Enter untuk membuka sesi baru.

    Skrip berjalan dan kemudian menyimpan fail Cloud.csv direktori bekerja semasa.

  5. Masukkan kelayakan pentadbir untuk organisasi berasaskan awan anda dan kemudian klik OK.

  6. Jalankan perintah berikut dalam sesi Exchange Management Shell yang baru. Perintah ini menganggap ExportO365UserInfo.ps1 dan Cloud.csv terletak dalam direktori yang sama.

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

    Contohnya:

    .\Exchange2007MBtoMEU.ps1 DC1.contoso.com

    Skrip menukar peti mel pada premis kepada MEU untuk semua pengguna yang termasuk dalam Cloud.csv yang.

  7. Sahkan bahawa MEU baru telah dicipta. Dalam Active Directory pengguna dan komputer, lakukan yang berikut:

    1. Klik tindakan > mencari

    2. Klik Exchange tab

    3. Pilih Tunjukkan hanya penerima Exchange, dan kemudian pilih pengguna dengan alamat e-mel luaran.

    4. Klik Cari sekarang.

    Peti mel yang telah ditukar kepada MEU disenaraikan di bawah hasil carian.

  8. Menggunakan Active Directory pengguna dan komputer, ADSI mengedit atau Ldp.exe untuk mengesahkan bahawa sifat MEU berikut diisi dengan maklumat yang betul.

    • legacyExchangeDN

    • mel

    • msExchMailboxGuid

    • proxyAddresses

    • targetAddress

Nota: Notis Penafian Penterjemahan Mesin: Artikel ini telah diterjemah oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan penterjemahan mesin ini untuk membantu pengguna-pengguna yang tidak bertutur dalam Bahasa Inggeris supaya dapat menikmati kandungan mengenai produk, perkhidmatan dan teknologi Microsoft. Artikel ini mungkin mengandungi ralat perbendaharaan kata, sintaks atau tatabahasa kerana ia diterjemahkan oleh mesin.

Kembangkan kemahiran anda
Jelajahi latihan
Dapatkan ciri baru terlebih dahulu
Sertai Office Insiders

Adakah maklumat ini membantu?

Terima kasih atas maklum balas anda!

Terima kasih atas maklum balas anda! Nampaknya ia mungkin akan membantu untuk menyambungkan anda kepada salah seorang daripada ejen sokongan Office kami.

×