Konverzija Exchange 2007 poštanskih sandučića u korisnike pošte

Kada dovršite migraciju po fazama, konvertujete poštanske sandučiće u korisnike pošte kako bi poštanski sandučići mogli automatski da se povežu sa poštanskim sandučetom u oblaku.

Zašto da konvertujete poštanske sandučiće u korisnike pošte?

Ako ste dovršili Exchange migraciju po fazama da biste migrirali lokalne Exchange 2007 poštanske sandučiće organizacije u Office 365 i želite da upravljate korisnicima zasnovanim na tehnologiji oblaka iz lokalne organizacije – pomoću usluge Active Directory – trebalo bi da konvertujete lokalne poštanske sandučiće u korisnike pošte (MEU-e). Zašto? Dve stvari se dešavaju kada se poštansko sanduče migrira u oblak u Exchange migraciji po fazama:

  • Korisnik ima lokalno poštansko sanduče i poštansko sanduče u oblaku.

  • Pošta poslata u lokalno poštansko sanduče korisnika prosleđuje se u njegovo poštansko sanduče u oblaku. To se dešava zbog toga što se tokom procesa migracije svojstvo TargetAddress lokalnog poštanskog sandučeta popunjava adresom za daljinsko preusmeravanje poštanskog sandučeta u oblaku. To znači da korisnici treba da se povežu sa svojim poštanskim sandučićima u oblaku da bi pristupili e-pošti.

To ponašanje izaziva dva problema:

  • Ako osoba koristi Microsoft Outlook za otvaranje poštanskog sandučeta, usluga automatskog otkrivanja i dalje pokušava da se poveže sa lokalnim poštanskim sandučetom, a korisnik ne može da se poveže sa poštanskim sandučetom u oblaku. Ako postoje korisnici koji nisu migrirani u oblak, ne možete da usmerite CNAME zapis za automatsko otkrivanje na oblak dok se svi korisnici ne migriraju.

  • Ako organizacija prekine upotrebu sistema Exchange kada se svi lokalni poštanski sandučići migriraju u oblak, gube se informacije korisnika povezane sa razmenom poruka u poštanskom sandučetu u oblaku. Alatka za sinhronizaciju Microsoft Online Services direktorijuma (alatka za Azure Active Directory sinhronizaciju) uklanja podatke (kao što su proxy adrese) iz objekta poštanskog sandučeta u oblaku jer lokalno poštansko sanduče više ne postoji i alatka za Azure Active Directory sinhronizaciju ne može da ga podudari sa odgovarajućim poštanskim sandučetom u oblaku.

Rešenje je da konvertujete lokalno poštansko sanduče u korisnika pošte (MEU) u lokalnoj organizaciji kada se poštansko sanduče korisnika migrira u oblak. Kada lokalno poštansko sanduče konvertujete u korisnik pošte:

  • Proxy adrese iz poštanskog sandučeta u oblaku kopiraju se u novi korisnik pošte. Ako prekinete upotrebu sistema Exchange, te proxy adrese se i dalje zadržavaju u usluzi Active Directory.

  • Svojstva korisnika pošte omogućavaju alatki za Azure Active Directory sinhronizaciju da podudari korisnik pošte sa njegovim odgovarajućim poštanskim sandučetom.

  • Usluga automatskog otkrivanja koristi korisnik pošte kako bi Outlook povezala sa poštanskim sandučetom u oblaku kada korisnik napravi novi Outlook profil.

PowerShell skripte za pravljenje korisnika pošte

Dolenavedene skripte možete da koristite za prikupljanje informacija o poštanskim sandučićima zasnovanim na tehnologiji oblaka i za konvertovanje Exchange 2007 poštanskih sandučića u MEU-e.

Sledeća skripta prikuplja informacije iz poštanskih sandučića u oblaku i čuva ih u CSV datoteci. Prvo pokrenite skriptu.

Kopirajte dolenavedenu skriptu i dajte joj ime datoteke „IzvozO365InformacijaOKorisniku.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

Sledeća skripta konvertuje lokalne Exchange 2007 poštanske sandučiće u korisnike pošte. Pokrenite ovu skriptu kada pokrenete skriptu za prikupljanje informacija iz poštanskih sandučića u oblaku.

Kopirajte dolenavedenu skriptu u .txt datoteku, a zatim sačuvajte datoteku i dajte joj ime „Exchange2007PSuKP.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

Koraci za podešavanje za konvertovanje lokalnih poštanskih sandučića u korisnike pošte

Pratite ove korake kako biste dovršili proces.

  1. Kopirajte datoteke „IzvozO365InformacijaOKorisniku.ps1“, „Exchange2007PSuKP.ps1“ i CSV datoteku korišćenu za pokretanje paketa za migraciju u isti direktorijum na lokalnom serveru.

  2. Preimenujte CSV datoteku migracije u „migracija.csv“.

  3. . Pokrenite sledeću komandu u programu Exchange Management Shell. Skripta pretpostavlja da se CSV datoteka nalazi u istom direktorijumu i da se zove „migracija.csv“.

    .\ExportO365UserInfo.ps1

    Tražiće se da koristite postojeću sesiju ili da otvorite novu sesiju.

  4. Otkucajte slovo n i pritisnite taster Enter da biste otvorili novu sesiju.

    Skripta se pokreće, a zatim čuva datoteku „Oblak.csv“ u trenutnom radnom direktorijumu.

  5. Unesite akreditive administratora za organizaciju zasnovanu na tehnologiji oblaka, a zatim kliknite na dugme U redu.

  6. Pokrenite sledeću komandu u novoj sesiji programa Exchange Management Shell. Ova komanda pretpostavlja da se datoteke „IzvozO365InformacijaOKorisniku.ps1“ i „Oblak.csv“ nalaze u istom direktorijumu.

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

    Na primer:

    .\Exchange2007MBtoMEU.ps1 DC1.contoso.com

    Skripta konvertuje lokalne poštanske sandučiće u korisnike pošte za sve korisnike uključene u datoteku „Oblak.csv“.

  7. Potvrdite da su napravljeni novi MEU-i. Uradite sledeće u alatki Active Directory Users and Computers:

    1. Izaberite stavke „Radnja“ > „Pronađi“

    2. Izaberite karticu „Exchange“

    3. Izaberite stavku Prikaži samo Exchange primaoce, a zatim stavku Korisnici sa spoljnom adresom e-pošte.

    4. Kliknite na dugme Pronađi odmah.

    Poštanski sandučići koji su konvertovani u korisnike pošte navedeni su u okviru stavke Rezultati pretrage.

  8. Koristite alatku Active Directory Users and Computers, ADSI Edit ili Ldp.exe da biste potvrdili da su sledeća MEU svojstva popunjena tačnim informacijama.

    • LegacyExchangeDN

    • mail

    • msExchMailboxGuid

    • proxyAddresses

    • targetAddress

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×