PowerShell 脚本在 Exchange 邮箱中查找会议请求并接受它们

PowerShell 脚本在 Exchange 邮箱中查找会议请求并接受它们

是否可以创建一个 PowerShell 脚本,该脚本将进入邮箱(特别是会议室),找到所有会议请求并接受它们?

我们在 Exchange 环境中实施了一种新机制,如果会议室可用,则会自动接受发送到会议室的请求,但有很多在此更改之前发送的旧请求(尤其是定期会议)被标记为暂定。这是一个问题,因为当针对标记为暂定的时间发送新请求时,它会接受该请求,从而导致一些冲突。

答案1

我来晚了;我想你现在可能已经解决了这个问题,但我今天才看到这个问题,觉得这会是一个有趣的练习,所以这里就是你的问题的答案。这段 Powershell 将使用 Outlook 客户端登录邮箱,浏览收件箱并自动接受任何会议邀请。你显然可以调整代码以更符合你的喜好(例如登录到不同的邮箱),但如果你仍然感兴趣的话,这绝对会让你入门:

[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()
    }
}

答案2

刚刚浏览了所有的交换命令,我可以说我没有看到任何与约会相关的内容。恐怕你必须从 .NET 代码中编写它,或者手动完成。

答案3

你运行的是哪个版本的 Exchange?Exchange 2007 有一个名为 Calendar Concierge 的工具

Ex2010 具有自动接受代理。

您的请求已包含在 Exchange 中

相关内容