שתף באמצעות


העברת התיקיות הציבוריות של Exchange מופסקת ב- 95% עם השגיאה "קיימות [xx] תיקיות ציבוריות שלא היתה אפשרות להפוך פריטים אלה לזמינים בדואר"

מאפייני הבעיה

בעת העברת תיקיות ציבוריות מ- Microsoft Exchange Server 2010 Exchange Online, התהליך נפסק ב- 95%.

בנוסף, בעת הפעלת הפקודה הבאה כדי לסקור את דוח ההעברה:

Get-PublicFolderMailboxMigrationRequest |Get-PublicFolderMailboxMigrationRequestStatistics -IncludeReport

אתה רואה את השגיאה הבאה:

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

צילום מסך של השגיאה בדוח ההעברה.

לאחר מכן, הפעל את הפקודה הבאה ותקבל את פרטי השגיאה:

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

פרטי שגיאה:

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.

מתוך פרטי השגיאה, בקשת ההעברה מראה שהיא נכשלה בסינכרון תיקיות ציבוריות מותאמות דואר ממקומיות.

עם זאת, כל התיקיות הציבוריות המקומיות המותאמות לדואר מסונכרנות עם Exchange Online. השגיאה תחזור גם אם הפעלת את קובץ ה- Script ".\Sync-MailPublicFolders.ps1" פעמים רבות.

כמו כן, אם אתה מפעיל את הפקודה Get-MailPublicFolder באופן מקומי, היא אינה מציגה תיקיות ציבוריות כלשהן המותאמות לדואר, והבקשה להעברה ממשיכה להיכשל עם השגיאה.

סיבה

אם תיקיה ציבורית זמינה לדואר, המאפיין MailEnabled יוגדר כ- True. הפקודה Disable-MailPublicFolder משנה מאפיין זה ל- False ומסירה ערכים תואמים מהגורמים המכילים של אובייקטי מערכת Microsoft Exchange (MESO).

אם הפקודה Disable-MailPublicFolder אינה מסתיימת כראוי, היא עשויה להשאיר את המאפיין MailEnabled כ - True. אך היא תסיר את האובייקטים מרכיבים מכילים של MESO.

בתרחיש כזה, הפקודה Get-MailPublicFolder לא תסמן את התיקיות המתוארות בהודעות השגיאה כתיקיות ציבוריות המותאמות לדואר. עם זאת, תיקיות אלה עדיין נחשבות לדואר זמין. פעולה זו גורמת לכשל בהעברה.

פתרון

קיימות שתי דרכים לעקוף בעיה זו:

שיטה 1: השתמש בקובץ Script כדי לזהות בעיות בתיקיות ציבוריות מקומיות המותאמות לדואר

  1. הורד והפעל את קובץ ה- Script ValidateMailPublicFolders Exchange Server באופן מקומי.

    קובץ ה- Script מדווח על תיקיות ציבוריות מותאמות דואר מיותמות ותיקיות ציבוריות מותאמות דואר שנמצאות תחת NON_IPM_Subtree הדואר. הוא מציע גם להשתמש בפקודה כדי לפתור את הבעיה.

  2. הפעל את הפקודה המוצעת על-ידי קובץ ה- Script.

  3. לאחר פתרון הבעיות שדווחו על-ידי קובץ ה- Script, הפעל שוב את קובץ ה- Script וודא שלא דווחה בעיה עבור תיקיות ציבוריות המותאמות לדואר.

שיטה 2: השתמש בפקודות כדי לזהות בעיות בתיקיות ציבוריות מקומיות המותאמות לדואר

  1. רשימת התיקיות הציבוריות שהמאפיין MailEnabled עדיין מוגדר כ - True. לשם כך, הפעל את הפקודה הבאה:

    הערה

    אם אתה רואה שגיאות בפקודת הפלט בנוסף לשגיאה המציינת שהתיקיה הציבורית אינה תיקיה ציבורית התותאם לדואר, התעלם מהשגיאות.

    $pf=Get-PublicFolder \ -recurse -ResultSize Unlimited | ? { $_.MailEnabled }; ForEach ($i in $pf) {$mesoObj = Get-MailPublicFolder $i.identity; if ($mesoObj -eq $null) {$i }}
    
  2. הפעל את הפקודה הבאה כדי להפוך את התיקיות הציבוריות המותאמות לדואר ללא זמינות:

    $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. חדש את אצוות ההעברה שנכשלה Exchange Online.