Pretvaranje lokalnih poštanskih sandučića sustava Exchange 2007 u korisnike s omogućenom e-poštom

Kada završite s postupnom migracijom, poštanske sandučiće pretvorite u korisnike s omogućenom e-poštom da bi se poštanski sandučići automatski povezali s poštanskim sandučićem u oblaku.

Zašto pretvoriti poštanske sandučiće u korisnike s omogućenom e-poštom?

Ako ste dovršili postupnu migraciju sustava Exchange radi migriranja lokalnih poštanskih sandučića sustava Exchange 2007 tvrtke ili ustanove u Office 365 i želite upravljati korisnicima u oblaku iz lokalne organizacije – pomoću servisa Active Directory – trebali biste lokalne poštanske sandučiće pretvoriti u korisnike s omogućenom e-poštom. Zašto? Dvije će se stvari dogoditi nakon migriranja poštanskog sandučića u oblak tijekom postupne migracije sustava Exchange:

  • Korisnik koristi lokalni poštanski sandučić i poštanski sandučić u oblaku.

  • E-pošta poslana u lokalni poštanski sandučić korisnika proslijeđena je u njegov poštanski sandučić u oblaku. To se događa jer je tijekom migracije u svojstvo TargetAddress u lokalnom poštanskom sandučiću unesena adresa daljinskog usmjeravanja poštanskog sandučića u oblaku. To znači da korisnici moraju povezati svoje poštanske sandučiće u oblaku radi pristupanja e-pošti.

Posljedica su dva problema:

  • Ako osoba koristi Microsoft Outlook radi otvaranja poštanskog sandučića, servis za automatsko otkrivanje i dalje pokušava povezati se s lokalnim poštanskim sandučićem i korisnik se ne može povezati s poštanskim sandučićem u oblaku. Ako neki korisnici nisu migrirali u oblak, zapis CNAME servisa za automatsko otkrivanje možete usmjeriti prema oblaku dok svi korisnici ne migriraju.

  • Ako tvrtka ili ustanova obustavi Exchange nakon migracije svih lokalnih poštanskih sandučića u oblak, izgubit će se korisnički podaci povezani s razmjenom poruka u poštanskom sandučiću u oblaku. Alat Microsoft Online Services Directory Synchronization (DirSync) uklanja podatke (kao što su proxy adrese) iz objekta poštanskog sandučića u oblaku jer lokalni poštanski sandučić više ne postoji, a DirSync ne može ga upariti s odgovarajućim poštanskim sandučićem u oblaku.

Rješenje je pretvaranje lokalnog poštanskog sandučića u korisnik s omogućenom e-poštom u lokalnoj organizaciji nakon migriranja poštanskog sandučića korisnika u oblak. Kada lokalni poštanski sandučić pretvorite u korisnik s omogućenom e-poštom:

  • Proxy adrese iz poštanskog sandučića u oblaku kopirat će se u novi korisnik s omogućenom e-poštom. Ako ste obustavili Exchange, te proxy adrese i dalje će se čuvati na servisu Active Directory.

  • Svojstva korisnika s omogućenom e-poštom omogućuju alatu DirSync uparivanje s odgovarajućim poštanskim sandučićem u oblaku.

  • Servis automatskog otkrivanja koristi korisnik s omogućenom e-poštom radi povezivanja programa Outlook s poštanskim sandučićem u oblaku kada korisnik stvori novi profil programa Outlook.

Skripte komponente PowerShell za stvaranje korisnika s omogućenom e-poštom

Skripte u nastavku možete koristiti radi prikupljanja podataka o poštanskim sandučićima u oblaku i pretvaranja poštanskih sandučića sustava Exchange 2007 u korisnike s omogućenom e-poštom.

Sljedeća skripta prikuplja podatke iz vaših poštanskih sandučića u oblaku i sprema ih u CSV datoteku. Najprije pokrenite skriptu.

Kopirajte skriptu u nastavku i dodijelite joj naziv 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

Sljedeća skripta pretvara lokalne poštanske sandučiće sustava Exchange 2007 u korisnike s omogućenom e-poštom. Pokrenite tu skriptu kada pokrenete skriptu za prikupljanje podataka iz poštanskih sandučića u oblaku.

Kopirajte skriptu u nastavku u .txt datoteku, a zatim datoteku spremite i dodijelite joj naziv 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

Upute za pretvaranje lokalnih poštanskih spremnika u korisnike s omogućenom e-poštom

Pratite ove upute da biste dovršili proces.

  1. Kopirajte ExportO365UserInfo.ps1, Exchange2007MBtoMEU.ps1 i CSV datoteku koja se koristi za pokretanje grupe za migraciju u isti direktorij na lokalnom poslužitelju.

  2. Promijenite naziv migracijske CSV datoteke u migration.csv.

  3. . U komponenti Exchange Management Shell pokrenite sljedeću naredbu. Skripta pretpostavlja da se CSV datoteka nalazi u istom direktoriju, a zove se migration.csv.

    .\ExportO365UserInfo.ps1

    Zatražit će se da koristite postojeću sesiju ili otvorite novu sesiju.

  4. Upišite n, a zatim pritisnite Enter da biste otvorili novu sesiju.

    Skripta će se pokrenuti, a potom spremiti datoteku Cloud.csv u trenutno aktivni direktorij.

  5. Unesite administratorske vjerodajnice za organizaciju u oblaku, a zatim kliknite U redu.

  6. Pokrenite sljedeću naredbu u novoj sesiji komponente Exchange Management Shell. Ta naredba pretpostavlja da se ExportO365UserInfo.ps1 i Cloud.csv nalaze u istom direktoriju.

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

    Na primjer:

    .\Exchange2007MBtoMEU.ps1 DC1.contoso.com

    skripta pretvara lokalne poštanske sandučiće u korisnike s omogućenom e-poštom za sve korisnike navedene u datoteci Cloud.csv.

  7. Provjerite jesu li stvoreni novi korisnici s omogućenom e-poštom. U odjeljcima Korisnici servisa Active Directory i Računala učinite sljedeće:

    1. Kliknite Radnja > Pronađi

    2. Kliknite karticu Exchange

    3. Odaberite Prikaži samo primatelje sustava Exchange, a zatim Korisnici s vanjskom adresom e-pošte.

    4. Kliknite Pronađi odmah.

    Poštanski sandučići pretvoreni u korisnike s omogućenom e-poštom navedeni su u odjeljku Rezultati pretraživanja.

  8. Koristite Active Directory Users and Computers, ADSI Edit ili Ldp.exe da biste provjerili jesu li sljedeća svojstva korisnika s omogućenom e-poštom popunjena točnim podacima.

    • legacyExchangeDN

    • mail

    • msExchMailboxGuid

    • proxyAddresses

    • targetAddress

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×