Fala Pessoa, tudo bem com vocês?
Se você já perdeu tempo resolvendo reunião que não aparece, convite que some, horário que muda sozinho ou conflito de sala, este artigo é pra você. Eu te mostro como rastrear, diagnosticar e corrigir eventos de calendário bugados no Exchange/Outlook com PowerShell.
Nada de clicar em mil caixas, nada de adivinhar. Aqui é tiro certo.
O cenário: caos no calendário
Um usuário muda o horário da reunião. Outro responde “Aceitar” depois da alteração. A sala confirma o horário antigo. Resultado?
- Reunião duplicada
- Sala ocupada em horário errado
- Gente indo pra call errada
- Suporte virando psicólogo
A culpa é de quem? De ninguém. Ou melhor, de todo mundo. Mas o admin tem que resolver.
A arma secreta: Get-CalendarDiagnosticLog
Com esse cmdlet do Exchange, você pode ver:
- Quem criou o evento
- Quem alterou e quando
- Qual cliente (Outlook, Mobile, Teams) causou conflito
- Se o delegate ferrou tudo sem querer
$usuario = "contoso@contoso.com"
$data = Get-Date
Get-CalendarDiagnosticLog -Identity $usuario -StartDate $data.AddDays(-7) -EndDate $data |
Where-Object { $_.Subject -like "*reunião*" } |
Select Subject, Organizer, GlobalObjectId, IsMeeting, IsCancelled, LastModifiedTime, Client, CleanGlobalObjectId
Quer saber se o Teams comeu o convite? Tá lá. Quer saber se o usuário alterou via celular às 2 da manhã? Também tá lá.
Bônus: como cancelar o evento bugado via PowerShell
Se você achou o evento com problema, use Microsoft Graph ou EWS para cancelar a reunião com aviso pros convidados.
Quer script que faz isso com escolha de ID? Me chama.
Conclusão: pare de ser reativo
Se você ainda resolve problema de calendário “olhando o Outlook do usuário”, você está brincando de suporte. Admin de verdade investiga com logs e resolve com script.
Esse tipo de script aqui já me salvou em ambiente com mais de 100 mil caixas no Exchange Online.