Get-CalendarDiagnosticAnalysis

Embora esse cmdlet esteja disponível no Exchange local e no serviço baseado em nuvem, ele só funciona no Exchange local.

Use o cmdlet Get-CalendarDiagnosticAnalysis para solucionar problemas de fiabilidade relacionados com o calendário. Você pode usar esse cmdlet para analisar os dados do item de calendário registrados nos logs de Diagnóstico de Calendário. Você fornece os dados do item de calendário para esse cmdlet usando o cmdlet Get-CalendarDiagnosticLog.

Para saber mais sobre os conjuntos de parâmetros na seção Sintaxe, abaixo, consulte Exchange cmdlet syntax.

Syntax

Get-CalendarDiagnosticAnalysis
   -CalendarLogs <CalendarLog[]>
   [-DetailLevel <AnalysisDetailLevel>]
   [-GlobalObjectId <String>]
   [-OutputAs <OutputType>]
   [<CommonParameters>]
Get-CalendarDiagnosticAnalysis
   -LogLocation <String[]>
   [-DetailLevel <AnalysisDetailLevel>]
   [-GlobalObjectId <String>]
   [-OutputAs <OutputType>]
   [<CommonParameters>]

Description

As propriedades a seguir do item de calendário são retornadas na saída padrão do cmdlet (quando o parâmetro DetailLevel é definido como Básico):

  • Hora do log local
  • ItemId
  • NormalizedSubject
  • StartTime
  • EndTime
  • CalendarLogTriggerAction
  • ClientInfoString
  • OriginalLastModifiedTime
  • ClientIntent
  • CleanGlobalObjectId
  • ItemClass
  • ParentDisplay
  • Duração
  • AppointmentRecurring
  • SentRepresentingEmailAddress
  • SenderEmailAddress
  • SentRepresentingDisplayName

Para executar esse cmdlet, você precisa ter permissões. Embora este tópico liste todos os parâmetros do cmdlet, talvez você não tenha acesso a alguns parâmetros se eles não estiverem incluídos nas permissões atribuídas a você. Para localizar as permissões necessárias para executar qualquer cmdlet ou parâmetro em sua organização, confira Find the permissions required to run any Exchange cmdlet.

Exemplos

Exemplo 1

$logs = Get-CalendarDiagnosticLog -Identity oevans -MeetingID 040000008200E00074C5B7101A82E008000000009421DCCD5046CD0100000000000000001000000010B0349F6B17454685E17D9F9512E71F

Get-CalendarDiagnosticAnalysis -CalendarLogs $logs -DetailLevel Advanced | Set-Content -Path "C:\My Documents\Oscar Evans Analysis.csv"

Este exemplo obtém o item de calendário especificado da caixa de correio de Oscar Evans, armazena o item como uma variável e grava a análise avançada do item em um arquivo CSV.

Para análise básica do item, não inclua o parâmetro DetailLevel ou use o valor Basic em vez de Avançado.

Exemplo 2

Get-CalendarDiagnosticAnalysis -LogLocation "C:\My Documents\Exported Calendar Logs\jkozma@contoso.com" -DetailLevel Advanced -OutputAs HTML | Set-Content -Path "C:\My Documents\Jasen Kozma Analysis.html"

No Exchange 2013, este exemplo analisa os itens de calendário que foram exportados anteriormente da caixa de correio de Jasen Kozma usando o cmdlet Get-CalendarDiagnosticLog com o parâmetro LogLocation e grava a análise avançada dos itens em um arquivo HTML.

Observação: o parâmetro LogLocation só está disponível no Exchange 2013. Para especificar o local dos itens de calendário exportados no Exchange 2016 ou no Exchange 2019, consulte Exemplo 3.

Para análise básica dos itens, não inclua o parâmetro DetailLevel ou use o valor Basic em vez de Avançado.

Exemplo 3

$calitems = Get-CalendarDiagnosticLog -Identity jkozma@contoso.com -Subject "Budget Meeting"

ForEach($item in $calitems){$i++; Get-CalendarDiagnosticAnalysis -CalendarLogs $item -OutputAs HTML | Set-Content -Path ("\\FileServer01\Data\Jasen Kozma Analysis{0}.html" -f $i)}

Este exemplo analisa os itens de calendário que foram exportados da caixa de correio de Jasen Kozma usando o cmdlet Get-CalendarDiagnosticLog e grava a análise avançada de cada item em um arquivo HTML usando um caminho UNC.

Para análise básica dos itens, não inclua o parâmetro DetailLevel ou use o valor Basic em vez de Avançado.

Parâmetros

-CalendarLogs

O parâmetro CalendarLogs especifica o item de calendário que você deseja analisar. Você identifica o item de calendário armazenando a saída do cmdlet Get-CalendarDiagnosticLog em uma variável e usando essa variável para o valor desse parâmetro.

Por exemplo, para analisar a reunião com o assunto "Reunião de Orçamento de Novembro" na caixa de correio de Shannon Steele, execute o comando $Budget = Get-CalendarDiagnosticLog -Identity "Shannon Steele" -Subject "November Budget Meeting" -ExactMatch e use o valor $Budget para este parâmetro.

O valor que você usa para esse parâmetro deve identificar um único item. Para identificar vários itens, consulte Exemplo 3.

Você não pode usar esse parâmetro com o parâmetro LogLocation.

Type:CalendarLog[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-DetailLevel

O parâmetro DetailLevel especifica o nível de detalhe que quer ver na saída da análise. Os valores válidos são:

  • Básico: esse é o valor padrão. As propriedades do item de calendário retornadas estão listadas na Descrição Detalhada.
  • Avançado: 37 propriedades adicionais do item de calendário são retornadas. Você deve usar esse valor apenas para informações detalhadas de depuração.
Type:AnalysisDetailLevel
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

-GlobalObjectId

O parâmetro GlobalObjectId especifica a identidade do item de calendário que você deseja analisar. No Exchange 2013, você pode usar esse parâmetro com o parâmetro LogLocation para especificar o item de calendário se o local contiver vários arquivos .msg exportados.

A propriedade GlobalObjectId da reunião usa o mesmo formato que a propriedade CleanGlobalObjectId (por exemplo, 040000008200E00074C5B7101A82E00800000000009421DCCD5046CD0100000000000000000000000010B0349F6B17454685E17D9F9512E71F) e o valor das duas propriedades provavelmente é o mesmo. No entanto, o valor de GlobalObjectId pode não permanecer o mesmo para todas as instâncias da mesma reunião em vários calendários (por exemplo, participantes diferentes convidados para instâncias diferentes da mesma reunião recorrente).

Type:String
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

Observação: esse parâmetro foi removido do Exchange 2016 e do Exchange 2019 pelo Atualizações Cumulativo H1 2022 porque aceita valores de caminho UNC. Para especificar os itens de calendário a serem analisados, use o parâmetro CalendarLogs.

Esse parâmetro é funcional apenas no Exchange 2013.

O parâmetro LogLocation especifica o local dos itens de calendário exportados que você deseja analisar. Você pode especificar um caminho local ou um caminho UNC (\\Server\Share\User). Se o valor contiver espaços, coloque-o entre aspas (").

Você exporta os itens de calendário para arquivos .msg usando o cmdlet Get-CalendarDiagnosticLog com o parâmetro LogLocation. Se o caminho contiver vários arquivos .msg, todos esses arquivos serão analisados ao executar Get-CalendarDiagnosticAnalysis.

Você não pode usar esse parâmetro com o parâmetro CalendarLogs.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Online

-OutputAs

O parâmetro OutputAs especifica o formato de saída do comando. Os valores válidos são:

  • CSV (esse é o valor padrão)
  • HTML
  • XML
Type:OutputType
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

Entradas

Input types

Para ver os tipos de entrada que este cmdlet aceita, confira Tipos de entrada e saída de cmdlet. Se o campo Tipo de Entrada de um cmdlet estiver em branco, isso significa que o cmdlet não aceita dados de entrada.

Saídas

Output types

Para ver os tipos de retorno, também conhecidos como tipos de saída, que este cmdlet aceita, consulte Tipos de entrada e saída de cmdlet. Se o campo Tipo de Saída estiver em branco, o cmdlet não retorna dados.