Exchange klasörü geçirme işlemi %95'te "Posta etkin olmayan [xx] Ortak Klasörler var" hatasıyla duruyor

Belirtiler

Ortak klasörleri 2010'Microsoft Exchange Server 2010'dan Exchange Online geçirilirken, işlem %95'te durur.

Ayrıca, geçiş raporunu gözden geçirmek için aşağıdaki komutu çalıştırabilirsiniz:

Get-PublicFolderMailboxMigrationRequest |Get-PublicFolderMailboxMigrationRequestStatistics -IncludeReport

Aşağıdaki hatayı görüyorsunuz:

Name                                                              StatusDetail TargetMailbox PercentComplete
----                                                              ------------ ------------- ---------------
PublicFolderMailboxMigrationfb3cdd37-ecf4-4d33-xxxx -fcec86xxxxxx FailedOther  MigP1         95

Geçiş raporu hatasının ekran görüntüsü.

Ardından, aşağıdaki komutu çalıştırın ve hata ayrıntılarını alırsınız:

$p=Get-PublicFolderMailboxMigrationRequest -Status Failed | Get-PublicFolderMailboxMigrationRequestStatistics -IncludeReport;$p[0].report.failures[-1].Message

Hata ayrıntıları:

FailureType            : FailedToMailEnablePublicFoldersException
Message                : Error: There are 32 Public Folders that could not be mail-enabled. Please, check the migration report starting at date/time for additional details. This may indicate that mail public folder objects in Exchange Online are out of sync with your Exchange deployment. You may need to rerun the script Sync-MailPublicFolders.ps1 on your source Exchange server to update mail-enabled public folder objects in Exchange Online Active Directory.

Hata ayrıntılarında, geçiş isteği şirket içi posta özelliği etkin ortak klasörleri eşitlemede başarısız olduğunu gösterir.

Bununla birlikte, tüm şirket içi posta özelliği etkin ortak klasörler diğer klasörlerle Exchange Online. ".\Sync-MailPublicFolders.ps1" betiği birçok kez çalıştırsanız bile hata yine olur.

Ayrıca, şirket içinde Get-MailPublicFolder komutunu çalıştırmanız, posta özelliği etkin ortak klasörleri göstermez ve geçiş isteği hatayla başarısız olur.

Neden

Ortak klasör posta özellikli ise, MailEnabled özelliği True olarak ayarlanır. Disable-MailPublicFolder komutu bu özelliği False olarak değiştirir ve Microsoft Exchange System Objects (MESO) kapsayıcından karşılık gelen girdileri kaldırır.

Disable-MailPublicFolder komutu temizleme işlemini doğru tamamlamazsa, MailEnabled özelliğinin arkasında True olarak değiştirilebilir. Ancak, nesneleri MESO kapsayıcılarından kaldırır.

Böyle bir senaryoda, Get-MailPublicFolder komutu hata iletisinde açıklanan klasörleri posta özelliği etkin ortak klasörler olarak listelemayacak. Bununla birlikte, bu klasörler yine postanın etkin olduğu kabul edilir. Bu, geçiş hatasına neden olur.

Geçici Çözüm

Bu sorunu gidermek için iki yol vardır:

Yöntem 1: Şirket içi posta özelliği etkin ortak klasörlerle ilgili sorunları saptamak için betik kullanma

  1. Şirket içinde, ValidateMailPublicFolders betiği Exchange Server indirin ve çalıştırın.

    Betikte, artık posta özelliği etkin ortak klasörler ve Klasör Klasörü altında bulunan posta özelliği etkin ortak NON_IPM_Subtree raporlarda yer almaktadır. Ayrıca sorunu çözmek için bir komut kullanmayı da önerir.

  2. Betik tarafından önerilen komutu çalıştırın.

  3. Betik tarafından bildirilen sorunları düzelttikkten sonra, betiği yeniden çalıştırın ve posta özelliği etkin ortak klasörler için herhangi bir sorun bildirilmildiğinden emin olun.

Yöntem 2: Şirket içi posta özelliği etkin ortak klasörlerle ilgili sorunları saptamak için komutları kullanma

  1. MailEnabled özelliği True olarak ayarlanmış olan ortak klasörleri listele. Bunu yapmak için aşağıdaki komutu çalıştırın:

    Not

    Çıkış komutunda ortak klasörün posta özelliği etkin bir ortak klasör olmadığını söyleyen hatalara ek olarak hatalar görüyorsanız, hataları yoksayın.

    $pf=Get-PublicFolder \ -recurse -ResultSize Unlimited | ? { $_.MailEnabled }; ForEach ($i in $pf) {$mesoObj = Get-MailPublicFolder $i.identity; if ($mesoObj -eq $null) {$i }}
    
  2. Posta özelliği etkin ortak klasörleri devre dışı bırakmak için aşağıdaki komutu çalıştırın:

    $pf=Get-PublicFolder \ -recurse -ResultSize Unlimited | ? { $_.MailEnabled }; ForEach ($i in $pf) {$mesoObj = Get-MailPublicFolder $i.identity; if ($mesoObj -eq $null) { Disable-MailPublicFolder $i -confirm:$False} }
    
  3. İş Tamam'da başarısız geçiş toplu işlemini Exchange Online.