Cómo eliminar la invitación del calendario de un usuario eliminado para todos los destinatarios con PowerShell
Podríamos usar el comando Search-Mailbox para satisfacer esta necesidad, eliminar todas las reuniones recurrentes creadas por el usuario y eliminarlas de los asistentes.
- Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "kind:meetings AND Subject:'Test1' AND From:username@contoso.com" -EstimateResultOnly
- Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "kind:meetings AND Subject:'Test1' AND From:username@contoso.com" -DeleteContent
Otro ejemplo cuando no tenemos el nombre del usuario creado de las reuniones es el siguiente:
- Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "kind:meetings AND Subject:'TEST1'" -EstimateResultOnly
- Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "kind:meetings AND Subject:'TEST1'" -DeleteContent
El primer comando que utiliza el parámetro -EstimateResultOnly devuelve una estimación del número total y el tamaño de los mensajes. Los mensajes no se copian en el buzón de destino. No es necesario especificar un valor con este modificador.
El segundo comando que utiliza el parámetro -DeleteContent especifica que los mensajes devueltos por la búsqueda se eliminarán permanentemente del buzón de origen.
Nota 1: El cmdlet Search-Mailbox devuelve hasta 10000 resultados por buzón si se especifica una consulta de búsqueda.
Nota 2: Debe tener asignada la función de administración de importación y exportación de buzones de correo para utilizar este modificador -DeleteContent.
Importante: El comando Search-Mailbox ha sido marcado como obsoleto por Microsoft y se fue retirado el 1o. de septiembre de 2023, sin embargo, podemos seguir utilizando, para esto vaya al Centro de Administración de Exchange en la sección de Admin Roles y después en los Roles de Discovery Management y Organization Management habilite los permisos de Mailbox Search y Mailbox Import and Export