我正在尝试转换以下正在工作的powershell OOM items.restrict:
$colMail = $olFolder.Items.Restrict("[Start] > '18/03/2022'")
$colMail = $olFolder.Items.Restrict("[Subject] = 'Test'")RDO items.restrict
$SQL = "Subject = 'Test'" # or "where Subject = 'Test'"
$colMail = $olFolder.Items.Restrict($SQL)
$colMail = $olFolder.Items.Restrict("Subject = 'Test'")
$colMail = $olFolder.Items.Restrict("where Subject = 'Test'")
$colMail = $olFolder.Items.Restrict("Start > '2022-03-18'")两个RDO示例都不返回任何项。而且,items.find没有使用RDO。
在Powershell中,正确的SQL语句是什么?
谢谢
发布于 2022-03-22 20:43:40
以下是文档所说的话:
指定条件的SQL样式查询。只能是其中的一部分(例如:"LastName = 'Streblechenko‘")或一个带有SELECT、WHERE和ORDER子句的完整SQL表达式(参见示例)。SQL查询中指定的属性必须使用Outlook (或RDO)属性名(例如Subject、Email1Address)或DASL样式的属性名(例如"http://schemas.microsoft.com/mapi/proptag/0x0037001E"“,http://schemas.microsoft.com/mapi/id/{00062004-0000-0000-C000-000000000046}/8083001E"),当使用DASL属性名称时,必须将其括在双引号中。包括SELECT子句允许Redemption在不打开项的情况下从文件夹内容表中预取属性,从而显著提高性能(参见示例)。如果稍后访问SELECT子句中未指定的属性,Redemption将打开该项。包括order子句,按指定的顺序对集合进行排序。
例如:
set Contact = Items.Restrict("SELECT Email1Address, FileAs from Folder WHERE LastName = 'PersonLastName' ORDER BY FirstName desc")https://stackoverflow.com/questions/71570439
复制相似问题