Fab*_*ian 6 powershell outlook
我使用以下代码提取今天的约会:
$olFolderCalendar = 9
$ol = New-Object -ComObject Outlook.Application
$ns = $ol.GetNamespace('MAPI')
$Start = (Get-Date).AddDays(-1).ToShortDateString() + " 00:00"
$End = (Get-Date).AddDays(+1).ToShortDateString() + " 00:00"
$Filter = "[MessageClass]='IPM.Appointment' AND [Start] > '$Start' AND [End] < '$End'"
$Appointments = $ns.GetDefaultFolder($olFolderCalendar).Items
$Appointments.Sort("[Start]")
$Appointments.IncludeRecurrences = $false
foreach ($Appointment in $Appointments.Restrict($Filter) ) {
...
}
Run Code Online (Sandbox Code Playgroud)
列出了今天的所有约会,但也列出了今天没有发生的许多重复约会(生日、每周约会……)。知道如何避免这种情况吗?
编辑:似乎所有这些不需要的约会最初都是从我的手机同步到 Outlook 的。我将在“干净”的电脑上尝试该脚本。
编辑:我在另一台没有同步元素的电脑上尝试了该脚本,结果是一样的:所有重复出现的元素都会显示,无论它们是否是今天。AND [IsRecurring] = '$False' 也没有帮助。
小智 2
尝试更改您的过滤器:
$Filter = "[MessageClass]='IPM.Appointment' AND [Start] > '$Start' AND [End] < '$End' AND [IsRecurring] = '$False'"
Run Code Online (Sandbox Code Playgroud)
在这里为我工作。
| 归档时间: |
|
| 查看次数: |
9071 次 |
| 最近记录: |