„Exchange 2007“ pašto dėžučių konvertavimas į vartotojus su įgalintu el. paštu

Atlikę dalinį perkėlimą, konvertuokite pašto dėžutes į vartotojus su įgalintu el. paštu, kad pašto dėžutės galėtų automatiškai prisijungti prie pašto dėžutės debesyje.

Kodėl reikia konvertuoti pašto dėžutes į vartotojus su įgalintu el. paštu?

Jei atlikote dalinį „Exchange“ perkėlimą norėdami perkelti savo organizacijos „Exchange 2007“ vietines pašto dėžutes į „Office 365“ ir norite valdyti vartotojus, veikiančius debesų technologijos pagrindu, iš savo vietinės organizacijos, naudodami „Active Directory“, turėtumėte konvertuoti vietines pašto dėžutes į vartotojus su įgalintu el. paštu (MEUs). Kodėl? Dėl dviejų dalykų, kurie įvyksta perkėlus pašto dėžutę į dalinio „Exchange“ perkėlimo debesį:

  • Vartotojas turi vietinę pašto dėžutę ir pašto dėžutę debesyje.

  • Laiškas, išsiųstas į vartotojo vietinę pašto dėžutę, yra persiunčiamas ir į jo pašto dėžutę debesyje. Taip atsitinka todėl, kad perkėlimo metu vietinės pašto dėžutės Paskirties adreso ypatybės įkeliamos naudojant nuotolinį pašto dėžutės debesyje kelvados adresą. Tai reiškia, kad vartotojai turi prisijungti prie savo pašto dėžučių debesyje, kad pasiektų savo el. paštą.

Tai sukelia dvi problemas:

  • Jei asmuo, atidarydamas savo pašto dėžutes naudoja „Microsoft Outlook“, automatinio radimo tarnyba vis tiek bando prisijungti prie vietinės pašto dėžutės ir vartotojas negalės prisijungti prie pašto dėžutės debesyje. Jei yra vartotojų, kurie dar neperkelti į debesį, negalite nukreipti savo automatinio radimo CNAME įrašo į debesį tol, kol visi vartotojai bus perkelti.

  • Jei organizacija išjungia „Exchange“, perkėlusi visas vietines pašto dėžutes į debesį, su pranešimais susijusi vartotojo informacija, esanti pašto dėžutėje debesyje, bus prarasta. „Microsoft Online Services“ katalogų sinchronizavimo įrankis („DirSync“) pašalina duomenis (pvz., tarpinio serverio adresus) iš objekto pašto dėžutės debesyje, nes nebėra vietinės pašto dėžutės ir „DirSync“ negali sutapdinti jos su atitinkama pašto dėžute debesyje.

Sprendimas yra konvertuoti vietinę pašto dėžutę į vartotoją su įgalintu el. paštu (MEU) jūsų vietinėje organizacijoje perkėlus vartotojo pašto dėžutę į debesį. Kai konvertuojate vietinę pašto dėžutę į MEU:

  • Tarpinių serverių adresai iš dėžutės, veikiančios debesų technologijos pagrindu, nukopijuojami į naują MEU; jei uždarysite „Exchange“, šie tarpinio serverio adresai vis tiek liks „Active Directory“.

  • MEU ypatybės įgalina „DirSync“, kad atitiktų MEU su jo atitinkama pašto dėžute debesyje.

  • Automatinio radimo paslauga naudoja MEU, kad prijungtų „Outlook“ prie pašto dėžutės debesyje po to, kai vartotojas sukuria naują „Outlook“ profilį.

„PowerShell“ scenarijai, kad sukurtumėte MEU

Galite naudoti toliau pateiktus scenarijus, norėdami rinkti informaciją apie pašto dėžutes, veikiančias debesų technologijos pagrindu, ir konvertuoti „Exchange 2007“ pašto dėžutės į vartotojus su įgalintu el. paštu.

Šis scenarijus renka informaciją iš jūsų pašto dėžučių debesyje ir įrašo ją į CSV failą. Pirmiausia paleiskite šį scenarijų.

Nukopijuokite toliau pateiktą scenarijų ir suteikite jam failo vardą „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

Šis scenarijus konvertuoja vietines „Exchange 2007“ pašto dėžutes į vartotojus su įgalintu el. paštu. Vykdykite šį scenarijų jau įvykdę scenarijų, skirtą surinkti informaciją iš pašto dėžučių debesyje.

Nukopijuokite toliau pateiktą scenarijų į .txt failą, jį įrašykite ir suteikite jam failo pavadinimą „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

Vietinių pašto dėžučių konvertavimo į vartotojus su įgalintu el. paštu sąrankos veiksmai

Atlikite šiuos veiksmus, norėdami baigti procesą.

  1. Nukopijuokite „ExportO365UserInfo.ps1“, „Exchange2007MBtoMEU.ps1“ ir CSV failą, naudojamą vykdyti perkėlimo paketą į tą patį katalogą jūsų vietiniame serveryje.

  2. Pervardykite perkėlimo CSV failą į „migration.csv“.

  3. . „Exchange“ valdymo aplinkoje vykdykite šią komandą. Scenarijus daro prielaidą, kad CSV failas yra tame pačiame kataloge pavadinimu „migration.csv“.

    .\ExportO365UserInfo.ps1

    Jūs būsite paraginti naudoti esamą seansą arba atidaryti naują seansą.

  4. Įveskite n ir paspauskite Įvesti, kad atidarytumėte naują seansą.

    Scenarijus vykdomas ir tada išsaugomas failas „Cloud.csv“ dabartinio darbo kataloge.

  5. Įveskite administratoriaus kredencialus savo organizacijai, veikiančiai debesų technologijos principu, ir spustelėkite Gerai.

  6. Naujame „Exchange“ valdymo aplinkos seanse vykdykite šią komandą. Ši komanda daro prielaidą, kad „ExportO365UserInfo.ps1“ ir „Cloud.csv“ yra tame pačiame kataloge.

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

    Pavyzdžiui:

    .\Exchange2007MBtoMEU.ps1 DC1.contoso.com

    Visiems vartotojams, įtrauktiems į „Cloud.csv“, scenarijus, konvertuoja vietines pašto dėžutes į vartotojus su įgalintu el. paštu.

  7. Patikrinkite, ar sukurti nauji vartotojai su įgalintu el. paštu. Kataloge „Active Directory“ vartotojai ir kompiuteriai“ atlikite šiuos veiksmus:

    1. Spustelėkite Veiksmas > Rasti.

    2. Spustelėkite skirtuką „Exchange“.

    3. Pasirinkite Rodyti tik „Exchange“ gavėjus, tada pasirinkite Vartotojai, turintys išorinį el. pašto adresą.

    4. Spustelėkite Rasti dabar.

    Pašto dėžutės, kurios buvo konvertuotos į vartotojus su įgalintu el. paštu, išvardytos dalyje Ieškos rezultatai.

  8. Naudokite „Active Directory“ vartotojai ir kompiuteriai“, „ADSI redagavimas“ arba „Ldp.exe“, norėdami patvirtinti, kad šios vartotojų su įgalintu el. paštu ypatybės įvestos su teisinga informacija.

    • legacyExchangeDN

    • paštas

    • msExchMailboxGuid

    • ProxyAddresses

    • targetAddress

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×