Exchange server LogParser:如何查询多个(非活动)地址的Exchange跟踪日志?

Exchange server LogParser:如何查询多个(非活动)地址的Exchange跟踪日志?,exchange-server,logparser,Exchange Server,Logparser,我的任务是在Exchange服务器中查找废弃的邮箱,即在过去90天内没有任何活动的邮箱。 为此,我在LogParser中进行了一个查询: SELECT TO_TIMESTAMP(EXTRACT_PREFIX(TO_STRING([#Fields: date-time]),0,'.'),'yyyy-MM-ddThh:mm:ss') AS DATE, recipient-address as Receiver, sender-address as Sender FROM '[LOGFILEPATH

我的任务是在Exchange服务器中查找废弃的邮箱,即在过去90天内没有任何活动的邮箱。 为此,我在LogParser中进行了一个查询:

SELECT 
TO_TIMESTAMP(EXTRACT_PREFIX(TO_STRING([#Fields: date-time]),0,'.'),'yyyy-MM-ddThh:mm:ss') AS DATE,
recipient-address as Receiver,
sender-address as Sender
FROM '[LOGFILEPATH]'
WHERE (sender-address='mrsmith@conoso.com' OR recipient-address='mrsmith@conoso.com') AND Date > TO_TIMESTAMP('2017-01-22 22:18:00', 'yyyy-MM-dd hh:mm:ss')
GROUP BY Receiver, Date, Sender
但是如何在那里传递多个地址呢?我的意思是,如果我需要检查,即50个地址,我应该如何将电子邮件地址传递给日志解析器查询


谢谢大家!

不幸的是,LogParser的查询参数必须通过命令行指定,这对于具有多个值的多值参数来说并不方便

您可以使用两步方法:首先生成.sql文件,用逗号分隔的地址列表填充IN子句,然后运行.sql文件

你的例子会变成这样:

... WHERE sender-address IN ('mrsmith@contoso.com', 'mrbrown@contoso.com', ...) OR recipient-address IN ('mrsmith@contoso.com', 'mrbrown@contoso.com', ...) ...

LogParser是否可以在单个查询中计算大约50多个地址?我认为in运算符右侧的元素数量没有任何限制。不过,请务必阅读文档,我相信您必须使用分号而不是逗号来分隔元素。谢谢,我会检查的!