Exchange 2007 pastkastu pārvēršana par pasta lietotājiem

Pēc pakāpeniskās migrācijas pabeigšanas pārvērtiet pastkastes par pasta lietotājiem, lai pastkastes varētu automātiski izveidot savienojumu ar mākoņa pastkasti.

Kāpēc jāpārvērš pastkastes par pasta lietotājiem?

Ja esat veicis pakāpenisko Exchange migrāciju, lai migrētu savas organizācijas Exchange 2007 lokālās pastkastes uz Office 365, un vēlaties pārvaldīt mākonī izvietotos lietotājus no lokālās organizācijas, izmantojot Active Directory, ir ieteicams pārvērst lokālās pastkastes par pasta lietotājiem (mail enabled users — MEU). Kāpēc? Pēc pastkastes migrēšanas uz mākoni pakāpeniskajā Exchange migrācijā ir notiek divas lietas:

  • Lietotājam ir lokālā pastkaste un mākoņa pastkaste.

  • Uz lietotāja lokālo pastkasti sūtītais pasts tiek pārsūtīts uz lietotāja mākoņa pastkasti. Tā notiek tāpēc, ka migrācijas procesa laikā lokālajā pastkastē esošais rekvizīts TargetAddress tiek papildināts ar mākoņa pastkastes attālās maršrutēšanas adresi. Tas nozīmē, ka lietotājiem ir jāizveido savienojums ar mākoņa pastkastēm, lai piekļūtu e-pastam.

Šīs darbības rezultātā rodas divas problēmas:

  • Ja kāds lietotājs pastkastu atvēršanai izmanto Microsoft Outlook, automātiskās noteikšanas pakalpojums joprojām mēģina izveidot savienojumu ar lokālo pastkasti, un lietotājs nevarēs izveidot savienojumu ar savu mākoņa pastkasti. Ja ir kādi lietotāji, kas nav migrēti uz mākoni, varat norādīt automātiskās noteikšanas CNAME ierakstu uz mākoni, līdz ir migrēti visi lietotāji.

  • Ja organizācija pēc visu lokālo pastkastu migrēšanas uz mākoni pārtrauc lietot Exchange, ar ziņojumapmaiņu saistītā lietotāju informācija mākoņa pastkastē tiks zaudēta. Microsoft Online Services direktorija sinhronizēšanas rīks (DirSync) noņem datus (piemēram, starpniekservera adreses) no mākoņa pastkastes objekta, jo lokālā pastkaste vairs nepastāv un DirSync nevar to saskaņot ar atbilstošu mākoņa pastkasti.

Risinājums ir šāds: pēc lietotāja pastkastes migrēšanas uz mākoni pārvērtiet lokālo pastkasti par pasta lietotāju (MEU) savā lokālajā organizācijā. Pārvēršot lokālo pastkasti par MEU:

  • Starpniekservera adreses no mākonī izvietotās pastkastes tiek kopētas uz jauno MEU; ja pārtrauksit lietot Exchange, šīs starpniekservera adreses joprojām tiks paturētas Active Directory.

  • MEU rekvizīti sniedz DirSync iespēju saskaņot MEU ar tā atbilstošo mākoņa pastkasti.

  • Automātiskās noteikšanas pakalpojums izmanto MEU, lai pēc tam, kad lietotājs izveido jaunu Outlook profilu, savienotu Outlook ar mākoņa pastkasti.

PowerShell skripti MEU izveidei

Varat izmantot tālāk minētos skriptus, lai apkopotu informāciju par mākonī izvietotām pastkastēm un pārvērstu Exchange 2007 pastkastes par MEU.

Tālāk minētais skripts apkopo informāciju no mākoņa pastkastēm un saglabā CSV formāta failā. Vispirms izpildiet šo skriptu.

Nokopējiet tālāk esošo skriptu un piešķiriet tam faila nosaukumu 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

Tālāk redzamais skripts pārvērš lokālās Exchange 2007 pastkastes par MEU. Izpildiet šo skriptu, kad ir izpildīts skripts informācijas apkopošanai no mākoņa pastkastēm.

Iekopējiet tālāk redzamo skriptu .txt failā, pēc tam saglabājiet failu un piešķiriet tam faila nosaukumu 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

Iestatīšanas darbības lokālo pastkastu pārvēršanai par MEU

Lai pabeigtu procesu, izpildiet šīs darbības:

  1. Kopējiet ExportO365UserInfo.ps1, Exchange2007MBtoMEU.ps1 un CSV failu, kas tiek izmantots migrācijas paketes palaišanai, tajā pašā direktorijā jūsu lokālajā serverī.

  2. Pārdēvējiet migrācijas CSV failu par migration.csv.

  3. . Exchange pārvaldības čaulā palaidiet tālāk norādīto komandu. Skripts pieņem, ka CSV fails ir tajā pašā direktorijā un ir nosaukts par migration.csv.

    .\ExportO365UserInfo.ps1

    Saņemsit uzaicinājumu izmantot esošo sesiju vai atvērt jaunu sesiju.

  4. Ierakstiet n un nospiediet taustiņu Enter, lai atvērtu jaunu sesiju.

    Skripts darbojas un pēc tam saglabā Cloud.csv failu pašreizējā darba direktorijā.

  5. Ievadiet savai mākonī izvietotajai organizācijai paredzētos administratora akreditācijas datus un pēc tam noklikšķiniet uz Labi.

  6. Jaunajā Exchange pārvaldības čaulas sesijā palaidiet tālāk norādīto komandu. Šī komanda pieņem, ka ExportO365UserInfo.ps1 un Cloud.csv atrodas vienā un tajā pašā direktorijā.

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

    Piemērs.

    .\Exchange2007MBtoMEU.ps1 DC1.contoso.com

    Skripts pārveido lokālās pastkastes par MEU visiem Cloud.csv iekļautajiem lietotājiem.

  7. Pārliecinieties, vai ir izveidoti jaunie MEU. Rīkā Active Directory lietotāji un datori veiciet tālāk minētās darbības.

    1. Noklikšķiniet uz Darbība > Atrast.

    2. Noklikšķiniet uz cilnes Exchange

    3. Atlasiet Rādīt tikai Exchange adresātus un pēc tam atlasiet Lietotāji ar ārēju e-pasta adresi.

    4. Noklikšķiniet uz Atrast tagad.

    Pastkastes, kas pārvērstas par MEU, ir norādītas sadaļā Meklēšanas rezultāti.

  8. Izmantojiet rīku Active Directory lietotāji un datori, ADSI Edit vai Ldp.exe, lai pārbaudītu, vai tālāk minētie MEU rekvizīti ir aizpildīti ar atbilstošu informāciju.

    • legacyExchangeDN

    • mail

    • msExchMailboxGuid

    • proxyAddresses

    • targetAddress

Paplašiniet savas Office prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×