使用PowerShell获取outlook的最新约会

时间:2011-07-20 14:31:53

标签: powershell outlook

我希望今天和明天可以预约我的地址簿上的3个不同的人。这些人在outlook上分享了日历。

如何通过PowerShell获取此信息?我不介意从本地Outlook实例获取数据,但更喜欢直接连接到服务器的东西。

3 个答案:

答案 0 :(得分:3)

您可以从此开始(本地Outlook实例),您可能需要根据某些属性进一步过滤结果以查找您的朋友信息:

$olFolderCalendar = 9
$ol = New-Object -ComObject Outlook.Application
$ns = $ol.GetNamespace('MAPI')
$Start = (Get-Date).AddDays(-1).ToShortDateString()
$End = (Get-Date).ToShortDateString()

$Filter = "[MessageClass]='IPM.Appointment' AND [Start] > '$Start' AND [End] < '$End'"
$ns.GetDefaultFolder($olFolderCalendar).Items.Restrict($Filter) 

答案 1 :(得分:1)

如果是Exchange 2007或更高版本,则必须选择将Exchange Web服务托管API与Powershell一起使用。 API在这里:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13480

Glen Scales在他的博客上有一些与Powershell一起使用的优秀例子:

http://gsexdev.blogspot.com/2009/11/basic-powershell-script-to-show.html

答案 2 :(得分:-1)

Scripting Guy看函数,这似乎是一个有用的功能。 这是一个示例输出:

Subject  Start                                   Duration Location
-------   -----                                  -------- --------
Emea IT support team x64 b... 16-9-2016 14:30:00 - 30 -
Citrix receiver in the NL ... 13-9-2016 12:30:00 - 30 - Webex
TMF Workstations OS Patching  12-9-2016 12:30:00 - 30 - INPNQ-Conference Room
Remedy Demo & Training Ses... 13-9-2016 09:30:00 - 120 - webex

确实需要运行Outlook。