Use a API gerenciada do EWS para acessar o conteúdo da caixa de correio do usuário e excluir itens necessários. Pode ser implementado em qualquer linguagem .Net ou em um script do PowerShell.
Estou procurando uma maneira de remover de maneira eficiente e eficaz todas as reuniões que um usuário final possa ter criado durante o período de trabalho.
Atualmente, nosso grupo precisa conceder acesso de administrador à caixa de correio do usuário, criar um perfil como esse usuário, carregar as perspectivas e começar a limpar reuniões recorrentes e reservas de quartos.
Espero que haja uma maneira muito mais simples, talvez o powershell, que possa executar essa tarefa.
Você não pode fazer isso apenas com o Shell de Gerenciamento do Exchange, você teria que implementar um cliente de Serviços Web do Exchange para fazer isso.
Uma opção mais fácil do que criar um novo perfil e usar o Outlook seria definitivamente usar o Outlook Web App:
Agora, o operador pode alternar para o calendário de usuários e editar compromissos sem precisar criar um novo perfil e iniciar o Outlook
Como "jack" sugerido em seu post, você pode procurar por esses itens usando o comando shell do Exchange
Search-Mailbox e, em seguida, exclua-os.
Você especifica uma TargetMailbox e TargetFolder , onde os itens encontrados em cada pesquisa serão copiados. Você também pode ir "-LogLevel full -LogOnly", e só obter um arquivo CSV dos resultados copiados lá.
Você especifica sua consulta de pesquisa com o parâmetro SearchQuery , e fazer isso direito pode ser um pouco complicado, porque as propriedades de pesquisa (como assunto, data e data) devem ser fornecidas em seu idioma / localidade.
Então, em um sistema em inglês, a SearchQuery para itens de calendário pode ter esta aparência:
'Kind:meetings AND From:*name* AND Subject:Pizza'
O 'AND' ou 'OR' não é específico do idioma, e você também pode usar parênteses.
Eu nunca encontrei traduções para essas palavras-chave da Microsoft, talvez alguém saiba onde encontrá-las.
Depois de verificar se o SearchQuery está combinando com o que você deseja, você pode adicionar -DeleteContent para excluir esses itens. O comando completo poderia ser assim:
Search-Mailbox *name* -SearchQuery 'Kind:meetings AND From:*name2* AND Subject:Pizza' -TargetMailbox admin -TargetFolder ExchangeSearches -LogLevel full
get-mailbox -Filter {recipientTypeDetails -eq "roomMailbox"}|Search-Mailbox -SearchQuery 'From:user and kind:meetings' -DeleteContent