PowerShell ile posta kutusunu Exchange Online'a taşıma


Karma Yapılandırma Sihirbazı'nı (HCW) yükledikten sonra, bir posta kutusunu PowerShell ile Exchange Online'a taşımak istiyorsunuz. Bu terim aynı zamanda bir posta kutusunun buluta dahil edilmesi olarak da bilinir. Peki posta kutusu geçişini başlatmak için PowerShell'de neyi doldurmanız gerekiyor? Bu makalede, bir posta kutusunu PowerShell ile Exchange Online'a nasıl taşıyacağınızı öğreneceksiniz.

PowerShell ile posta kutusunu Exchange Online'a taşıma

Bir posta kutusunu PowerShell ile Exchange Online'a taşımak için şu adımları izleyin:

1. Exchange Online PowerShell'e bağlanın

PowerShell'i yönetici olarak başlatın ve Exchange Online PowerShell'e bağlanın.

Connect-ExchangeOnline

Not: Şirket içi posta kutusunu Exchange Online'a göndermiyorsunuz. Aslında şirket içi posta kutusunu Exchange Online'dan alıyorsunuz. Bu yüzden Exchange Online'a bağlanmanız ve komutları Exchange Online PowerShell'den çalıştırmanız gerekiyor.

2. Geçiş uç noktası uzak sunucu URL'sini bulun

Get-MigrationEndpoint cmdlet'ini kullanarak uzak sunucu URL'sini alın. Posta kutusu geçişi için RemoteHostName URL'sinin nasıl bulunacağı hakkında daha fazla bilgi edinin. Karma Yapılandırma Sihirbazı bu geçiş uç noktasını oluşturdu.

Get-MigrationEndpoint | Format-List Identity, RemoteServer

Aşağıdaki çıktı görünür. Sonraki bölümde ihtiyacınız olduğu şekilde RemoteServer URL değerini kopyalayın.

Identity     : Hybrid Migration Endpoint - EWS (Default Web Site)
RemoteServer : mail.exoip.com

3. PowerShell ile posta kutusunu Exchange Online'a taşıyın

Birincil posta kutusunu ve arşiv posta kutusunu Exchange Online'a taşımak için yeni bir taşıma isteği oluşturun. Aşağıdaki ayrıntıları doldurun:

  • -Kimlik: Posta kutusu adı veya e-posta adresi
  • -RemoteHostName: Önceki adımda kopyaladığınız uzak sunucu
  • -TargetDeliveryDomain: Exchange Online kuruluş posta kutuları için kullanılan birincil SMTP alanı
  • -RemoteCredential: Ayrıcalıklara sahip şirket içi yönetici hesabı

Komutu çalıştırdıktan sonra bir kimlik bilgisi oturum açma isteği görünecektir. Şirket içi kimlik bilgilerinin (RemoteCredential) parolasını girin.

New-MoveRequest -Identity "Maisha.Lee@exoip.com" -Remote -RemoteHostName "mail.exoip.com" -TargetDeliveryDomain "exoip365.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)

4. PowerShell ile birden fazla posta kutusunu Exchange Online'a taşıyın

Users.csv adında bir CSV dosyası oluşturun ve bunu C:\migration dizinine yerleştirin.

CSV dosyasını açın, başlık sütununa EmailAddress adını verin ve Exchange Online'a taşımak istediğiniz tüm posta kutularını doldurun.

Aşağıdaki komut dosyasını kopyalayın ve ilk 3 satırı değiştirin. Bundan sonra betiği çalıştırın.

$Mailboxes = Import-Csv "C:\Migration\Users.csv"
$RemoteHostName = "mail.exoip.com"
$TargetDeliveryDomain = "exoip365.mail.onmicrosoft.com"
$OnPremCred = (Get-Credential)

# Move mailboxes in CSV file to Exchange Online
foreach ($Mailbox in $Mailboxes) {
    $params = @{
        Identity             = $mailbox.EmailAddress
        Remote               = $true
        RemoteHostName       = $RemoteHostName
        TargetDeliveryDomain = $TargetDeliveryDomain
        RemoteCredential     = $OnPremCred
    }

    New-MoveRequest @params
}

5. Birincil posta kutusunu PowerShell ile yalnızca Exchange Online'a taşıyın

Arşiv posta kutusu konumunun Exchange Online'da olduğunu ve birincil posta kutusu konumunun şirket içi Exchange'de olduğunu varsayalım. Yukarıdaki komutu çalıştırdığınızda aşağıdaki hata iletisini alırsınız:

PrimaryOnly parametresini belirtmelisiniz
Hedef kullanıcı 'Maisha Lee' zaten bir arşiv posta kutusuna sahip.

PowerShell konsolunda şu şekilde görünür:

PS C:\> New-MoveRequest -Identity "Maisha.Lee@exoip.com" -Remote -RemoteHostName "mail.exoip.com" -TargetDeliveryDomain "exoip365.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)
You must specify the PrimaryOnly parameter.
Target user 'Maisha Lee' already has an archive mailbox.
    + CategoryInfo          : NotSpecified: (:) [New-MoveRequest], MailboxReplicationPermanentException
    + FullyQualifiedErrorId : [Server=PAXP190MB1743,RequestId=3f8179c3-aa93-453f-9e14-d824968f34c4,TimeStamp=5/28/2022
    7:19:13 AM] [FailureCategory=Cmdlet-MailboxReplicationPermanentException] FE8B9422,Microsoft.Exchange.Management.
  Migration.MailboxReplication.MoveRequest.NewModernMoveRequest
    + PSComputerName        : outlook.office365.com

-PrimaryOnly parametresini komuta eklemelisiniz.

Birincil posta kutusunu yalnızca Exchange Online'a taşımak için yeni bir taşıma isteği oluşturun. Aşağıdaki ayrıntıları doldurun:

  • -Kimlik: Posta kutusu adı veya e-posta adresi
  • -RemoteHostName: Önceki adımda kopyaladığınız uzak sunucu
  • -PrimaryOnly: Değeri boş tut
  • -TargetDeliveryDomain: Exchange Online kuruluş posta kutuları için kullanılan birincil SMTP alanı
  • -RemoteCredential: Ayrıcalıklara sahip şirket içi yönetici hesabı

Komutu çalıştırdıktan sonra bir kimlik bilgisi oturum açma isteği görünecektir. Şirket içi kimlik bilgilerinin (RemoteCredential) parolasını girin.

New-MoveRequest -Identity "Maisha.Lee@exoip.com" -Remote -RemoteHostName "mail.exoip.com" -PrimaryOnly -TargetDeliveryDomain "exoip365.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)

6. Arşiv posta kutusunu PowerShell ile yalnızca Exchange Online'a taşıyın

Komuta -ArchiveOnly parametresini eklemelisiniz.

Arşiv posta kutusunu yalnızca Exchange Online'a taşımak için yeni bir taşıma isteği oluşturun. Aşağıdaki ayrıntıları doldurun:

  • -Kimlik: Posta kutusu adı veya e-posta adresi
  • -RemoteHostName: Önceki adımda kopyaladığınız uzak sunucu
  • -ArchiveOnly: Değeri boş tut
  • -TargetDeliveryDomain: Exchange Online kuruluş posta kutuları için kullanılan birincil SMTP alanı
  • -RemoteCredential: Ayrıcalıklara sahip şirket içi yönetici hesabı

Komutu çalıştırdıktan sonra bir kimlik bilgisi oturum açma isteği görünecektir. Şirket içi kimlik bilgilerinin (RemoteCredential) parolasını girin.

New-MoveRequest -Identity "Maisha.Lee@exoip.com" -Remote -RemoteHostName "mail.exoip.com" -ArchiveOnly -TargetDeliveryDomain "exoip365.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)

7. Posta kutusu taşıma durumunu alın

Get-MoveRequest cmdlet'ini kullanarak posta kutusu taşıma isteğinin durumunu alın.

Get-MoveRequest -Identity "Maisha.Lee@exoip.com" | Get-MoveRequestStatistics

Tüm posta kutusu taşıma isteklerini almak için aşağıdaki komutu çalıştırın.

Get-MoveRequest | Get-MoveRequestStatistics

Çıktı, posta kutusu taşıma durumunu gösterir ve tamamlanmış durumu gösterir.

DisplayName StatusDetail TotalMailboxSize            TotalArchiveSize PercentComplete
----------- ------------ ----------------            ---------------- ---------------
Maisha Lee  Completed    32.11 MB (33,670,771 bytes) 0 B (0 bytes)    100

Durum böyle değilse ve posta kutusu taşıma isteğini tamamlayamıyorsanız taşıma isteğini askıya alabilir ve devam ettirebilirsiniz. Başarısız bir durumla karşılaştığınızda çoğu durumda yardımcı olur. Örneğin, durum ayrıntısı Geçici Arıza.

Bu makale, posta kutusunu PowerShell ile Exchange Online'a taşımanıza yardımcı oldu mu? Umarım öyle olmuştur.

Devamını oku: PowerShell ile geçiş toplu işlemini tamamlayın »

Çözüm

PowerShell ile bir posta kutusunu Exchange Online'a nasıl taşıyacağınızı öğrendiniz. Exchange Online PowerShell'e bağlanın ve komutları makalede gösterildiği gibi çalıştırın. Başarıyla tamamlanıncaya kadar posta kutusunun Exchange Online'a taşınmasını izlemeyi unutmayın.

Bu makaleyi beğendiniz mi? Ayrıca Hedef posta kutusunun SMTP proxy eşleşmesine sahip olmamasını da beğenebilirsiniz. Bizi takip etmeyi ve bu makaleyi paylaşmayı unutmayın.

İlgili makaleler