Get-CalendarDiagnosticLog
雖然此 Cmdlet 可在內部部署 Exchange 和雲端式服務中使用,但它只適用于內部部署 Exchange。 在雲端式服務中,請改用 Get-CalendarDiagnosticObjects Cmdlet。
使用 Get-CalendarDiagnosticLog 指令程式收集各種行事曆記錄。 行事曆診斷記錄會追蹤信箱中的所有行事曆專案和會議要求。 您可以使用此資訊來針對信箱中發生的行事曆問題進行疑難排解。
如需下方<語法>一節中參數集的詳細資訊,請參閱 Exchange Cmdlet 語法。
Syntax
Get-CalendarDiagnosticLog
[-Identity] <MailboxIdParameter>
-MeetingID <String>
[-Credential <PSCredential>]
[-DomainController <Fqdn>]
[-LogLocation <String>]
[-ReadFromDomainController]
[-ResultSize <Unlimited>]
[<CommonParameters>]
Get-CalendarDiagnosticLog
[-Identity] <MailboxIdParameter>
-Subject <String>
[-Credential <PSCredential>]
[-DomainController <Fqdn>]
[-LogLocation <String>]
[-ReadFromDomainController]
[-ResultSize <Unlimited>]
[<CommonParameters>]
Get-CalendarDiagnosticLog
[-Identity] <MailboxIdParameter>
-LogLocation <String>
[-Credential <PSCredential>]
[-DomainController <Fqdn>]
[-EndDate <ExDateTime>]
[-EntryId <String>]
[-ExactMatch <Boolean>]
[-ItemClass <String[]>]
[-ItemIds <String[]>]
[-Latest]
[-MeetingID <String>]
[-ReadFromDomainController]
[-ResultSize <Unlimited>]
[-StartDate <ExDateTime>]
[-Subject <String>]
[<CommonParameters>]
Description
此 Cmdlet 的輸出包含下列資訊:
- IsFileLink:指出行事曆專案是否已使用 LogLocation 參數匯出至 .msg 檔案。 值為 True 或 False。
- 身分識別:識別保存行事曆專案的信箱。 範例值為:excallog:// laura@contoso.com /?id=RgAAAACF/h/dHTTkQbdPrk7z+G4SBwCoatc7EmnEQq1iF35p17stAAAAAAAAFEAACOatc7EmnEQq1iF35p17stAAAAAAA}AAAP。
- LogDate:記錄行事曆專案的日期時間。
- NormalizedSubject:行事曆專案的 [主旨] 欄位。
- CleanGlobalObjectId:行事曆專案存留期內常數的識別碼。 例如,0400000008200E00074C5B7101A82E00800000000B0225ABF0710C8010000000000000001000000005B27C05AA7C4646B0835D5EB4E41C55。
執行 Get-CalendarDiagnosticLog 指令程式後,可使用 Get-CalendarDiagnosticAnalysis指令程式分析行事曆資料。 如需相關資訊,請參閱Get-CalendarDiagnosticAnalysis。
您必須已獲指派權限,才能執行此指令程式。 雖然本主題已列出這個指令程式的所有參數,不過,如果某些參數並未包含在指派給您的權限中,您可能就無法存取這些參數。 若要尋找在組織中執行任何 Cmdlet 或參數所需的權限,請參閱 Find the permissions required to run any Exchange cmdlet。
範例
範例 1
Get-CalendarDiagnosticLog -Identity "Shannon Steele" -Subject "Weekly development meeting" -ExactMatch $true
此範例會使用主旨每週開發會議,擷取 Calendar Steele 信箱的行事曆診斷記錄專案。
範例 2
Get-CalendarDiagnosticLog -Identity oevans -StartDate "6/1/2018 6:00:00 AM" -EndDate "6/30/2018 5:00:00 PM"
此範例會擷取從 2018/6/1 到 2018/6/30 的 Calendar Diagnostic 記錄專案。
範例 3
Get-CalendarDiagnosticLog -Identity jkozma@contoso.com -Subject "Weekly development meeting" -Latest
本範例只會擷取 Jasen Kozma 信箱中最近行事曆專案的行事曆診斷記錄資料,其郵件主旨為「每週開發會議」。
範例 4
Get-CalendarDiagnosticLog -Identity "Jasen Kozma" -Subject "Budget Meeting" -ExactMatch $true -LogLocation "C:\My Documents\Calendar Diagnostic Export"
在 Exchange 2013中,此範例會針對 Jasen Kozma 的信箱匯出行事曆診斷記錄中的所有行事曆專案,這些信箱在受限於指定資料夾的任何位置都有「預算會議」。
附註:
- 在此範例中,訊息檔案會寫入 C:\My Documents\Calendar Diagnostic Export\ jkozma@contoso.com 。
- 在內部部署 Exchange 組織中,您可以使用 Get-CalendarDiagnosticAnalysis Cmdlet 來分析匯出的 .msg 檔案。
- 此範例無法在 Exchange 2016 或 Exchange 2019 中運作,因為 LogLocation 參數無法使用。
參數
-Credential
此參數僅適用於內部部署 Exchange。
Credential 參數會指定用來執行此命令的使用者名稱和密碼。 通常您會在指令碼中使用此參數,或在您必須提供具有必要權限的其他認證時使用此參數。
此參數的值需要使用 Get-Credential Cmdlet。 若要暫停此命令並收到輸入認證的提示,請使用值 (Get-Credential)
。 或者,在您執行此命令之前,將認證儲存在變數中 (例如,$cred = Get-Credential
),然後將變數名稱 ($cred
) 用於此參數。 如需詳細資訊,請參閱 Get-Credential。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-DomainController
此參數僅適用於內部部署 Exchange。
DomainController 參數會指定此 Cmdlet 用來向 Active Directory 讀取或寫入資料的網域控制站。 您可以透過網域控制站的完整網域名稱 (FQDN) 來識別網域控制站。 例如,dc01.contoso.com。
Type: | Fqdn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-EndDate
EndDate 參數會指定日期範圍的結束日期。
在您要執行命令的電腦上,使用該電腦的 [地區選項] 設定中定義的簡短日期格式。 例如,如果電腦設定成使用簡短日期格式 mm/dd/yyyy,請輸入 09/01/2018 以指定 2018 年 9 月 1 日。 您可以只輸入日期,或者也可以輸入日期和時間。 如果輸入日期和時間,請使用引號 (") 括住值,例如 "09/01/2018 5:00 PM"。
Type: | ExDateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-EntryId
EntryId 參數會依專案識別碼篩選結果。 您可以指定多個以逗號分隔的值。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online |
-ExactMatch
ExactMatch 參數會指定是否要針對您為 Subject 參數指定的文字值使用完全相符或部分相符專案。 有效值為:
- $true:主旨搜尋會使用完全相符的專案,並搜尋信箱中的所有行事曆專案。 例如,如果您搜尋「預算」,搜尋會尋找主旨中任何位置都有「預算」但不在「預算」的專案。
- $false:主旨搜尋會使用部分相符專案,並在信箱中搜尋最多 1000 個行事曆專案。 例如,如果您搜尋「預算」,搜尋會在主旨中的任何位置尋找具有「預算」和「預算」的專案。 這是預設值。
部分主旨比對搜尋可能不會傳回所有相關的行事曆專案。 請嘗試使用精確的主旨比對搜尋,以取得更精確的結果。
您只能將此參數與 Subject 參數搭配使用。
當您使用 MeetingId 參數時,會忽略此參數的值。
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online |
-Identity
Identity 參數會指定包含行事曆專案的信箱。 您可以使用可唯一識別信箱的任何值。 例如:
- 名稱
- 別名
- 辨別名稱 (DN)
- 辨別名稱 (DN)
- Domain\Username
- 電子郵件地址
- GUID
- LegacyExchangeDN
- SamAccountName
- 使用者識別碼或使用者主要名稱 (UPN)
Type: | MailboxIdParameter |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-ItemClass
ItemClass 參數會依行事曆專案指定的 MessageClass 屬性值篩選結果 (例如 IPM。約會) 。 您可以指定多個以逗號分隔的值。
您只能搭配 MeetingID 參數使用此參數。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online |
-ItemIds
ItemIds 參數會依專案識別碼篩選結果。 您可以指定多個以逗號分隔的值。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online |
-Latest
Latest 可切換指定是否僅將最近行事曆項目傳回行事曆記錄資料。 您不需要使用此參數指定值。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-LogLocation
注意:2022 H1 累積更新已從 Exchange 2016 和 Exchange 2019移除此參數,因為它接受 UNC 路徑值。 此 Cmdlet 的使用方式現在僅限於本機伺服器。
此參數只能在 Exchange 2010 和 Exchange 2013 中運作。
LogLocation 參數會指定將行事曆專案匯出至 .msg 檔案的位置。 您可以指定本機路徑或 UNC 路徑 () \\Server\Share
。 如果值包含空格,請使用引號 (") 括住值。
在您指定的位置中,系統會自動為保留匯出行事曆專案的指定信箱建立子資料夾。 例如,如果您指定值 「C:\My Documents\Calendar Export」,以匯出從 Mail Steele 信箱中的行事曆專案,.msg 檔案實際上會儲存在 C:\My Documents\Calendar Export\ ssteele@contoso.com 中。
在內部部署 Exchange 組織中,您可以使用 Get-CalendarDiagnosticAnalysis Cmdlet 來分析匯出的 .msg 檔案。
注意:如果行事曆專案沒有標題,使用此參數的命令可能會失敗。 如果您在使用此參數時收到錯誤,請再次執行 命令,並將此參數取代為重新導向至檔案 (|Set-Content -Path 「C:\My Documents\Calendar Export」) 或將輸出取代為 PowerShell 變數。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Online |
-MeetingID
MeetingID 參數會依行事曆專案的全域唯一識別碼來篩選結果。 值是這個 Cmdlet 輸出中可用之行事曆專案的 CleanGlobalObjectId 屬性,或是使用其他 MAPI 檢查工具。 範例值為 040000008200E00074C5B7101A82E00800000000B0225ABF0710C80100000000000000010000000005B27C05AA7C4646B0835D5EB4E41C55。 這個值在行事曆專案的存留期內是常數。
若要尋找此值,最簡單的方式是先使用 Subject、StartDate 和 EndDate 參數來搜尋行事曆專案。 找到您想要的行事曆專案之後,您可以在未來的命令中使用其 CleanGlobalObjectId 值作為 MeetingID 參數。
請勿將此參數與 Subject 參數搭配使用,因為 MeetingID 參數的值優先。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-ReadFromDomainController
此參數僅適用於內部部署 Exchange。
ReadFromDomainController 參數會指定應從使用者網域的網域控制站讀取的資訊。 您不需要使用此參數指定值。
命令: Set-AdServerSettings -ViewEntireForest $true
若要包含樹系中的所有物件,需要 ReadFromDomainController 參數。 否則,命令可能會使用包含過期資訊的通用類別目錄。 此外,您可能需要使用 ReadFromDomainController 參數來執行命令的多個反復專案,以取得資訊。
根據預設,收件者範圍會設定為裝載 Exchange 伺服器的網域。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-ResultSize
此參數會決定 Cmdlet 傳回的結果數目。 最大值為 1000。
Type: | Unlimited |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-StartDate
StartDate 參數會指定日期範圍的開始日期。
在您要執行命令的電腦上,使用該電腦的 [地區選項] 設定中定義的簡短日期格式。 例如,如果電腦設定成使用簡短日期格式 mm/dd/yyyy,請輸入 09/01/2018 以指定 2018 年 9 月 1 日。 您可以只輸入日期,或者也可以輸入日期和時間。 如果輸入日期和時間,請使用引號 (") 括住值,例如 "09/01/2018 5:00 PM"。
Type: | ExDateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-Subject
Subject 參數會依 [主旨] 欄位中的指定文字來識別行事曆專案。 您指定的文字值不區分大小寫。 如果值包含空格,請使用引號 (") 括住值。 您可以使用 ExactMatch 參數來控制是否要使用精確比對。
請勿將此參數與 MeetingID 參數搭配使用,因為 MeetingID 參數的值優先。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
輸入
Input types
若要查看此指令程式可接受的輸入類型,請參閱指令程式輸入和輸出類型。 如果指令程式的 [輸入類型] 欄位是空的,表示指令程式不接受輸入資料。
輸出
Output types
若要查看此指令程式可接受的傳回類型 (也就是所謂的輸出類型),請參閱指令程式輸入和輸出類型。 如果 [輸出類型] 欄位是空的,表示指令程式不會傳回資料。