5 votos

PowerShell script para encontrar solicitudes de reunión en el buzón de Exchange y aceptarlas

¿Es posible crear un PowerShell script que vaya a un buzón de correo (específicamente para una sala de reuniones), encuentre todas sus solicitudes de reunión y las acepte?

Hemos implementado un nuevo mecanismo en nuestro entorno de intercambio para que las solicitudes enviadas a las salas de reuniones sean aceptadas automáticamente si la sala está disponible, pero hay muchas solicitudes antiguas (especialmente reuniones recurrentes) que se enviaron antes de este cambio y que están marcadas como tentativas. Esto es un problema porque cuando se envía una nueva solicitud para una hora que está marcada como tentativa, se aceptará la solicitud, lo que está dando lugar a algunos conflictos.

4voto

Ryan Ries Puntos 33449

Llego un poco tarde a la fiesta; me imagino que ya habrás superado este tema, pero acabo de leer esta pregunta hoy y pensé que sería un ejercicio divertido, así que aquí está la respuesta a tu pregunta. Este trozo de Powershell iniciará la sesión en un buzón de correo utilizando el cliente de Outlook, recorrerá la bandeja de entrada y aceptará automáticamente cualquier invitación a una reunión. Obviamente, puede ajustar el código para que sea más a su gusto (como el inicio de sesión en un buzón de correo diferente), pero esto sería definitivamente empezar si usted todavía estaba interesado:

[Reflection.Assembly]::LoadWithPartialname("Microsoft.Office.Interop.Outlook") | Out-Null
$Folders = "Microsoft.Office.Interop.Outlook.OlDefaultFolders" -As [Type]
$Outlook = New-Object -ComObject Outlook.Application
$Namespace = $Outlook.GetNameSpace("MAPI")
$Inbox = $Namespace.getDefaultFolder($Folders::olFolderInbox)
ForEach ($_ In $Inbox.Items)
{
    If ($_.MessageClass -eq "IPM.Schedule.Meeting.Request") 
    {
        $AppointmentItem = $_.GetAssociatedAppointment($true)       
        $Response = $AppointmentItem.Respond(3,$True,$False)
        $Response.Send()
    }
}

0voto

sysadmin1138 Puntos 86362

Después de haber hojeado todos los cmd-lets de intercambio, puedo decir que no he visto nada que ni siquiera toque las citas. Me temo que tendrás que escribirlo a partir de código .NET, o pasar a mano.

0voto

Sunny Chakraborty Puntos 356

¿Qué versión de Exchange está utilizando? Exchange 2007 tiene una herramienta llamada Calendar Concierge

Ex2010 cuenta con un agente de aceptación automática.

Lo que usted solicita ya está incorporado en Exchange

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: