我知道有一个WMI数据读取器任务,但我不想要所有的错误日志结果,只是一个计数。你也似乎无法在WMI查询中执行COUNT(*),你必须在之后计算你的结果吗?那么,计算这些结果的好方法是什么。我不想把它们放在桌子上。我只想在过去24小时内从Windows事件日志中计算错误。
我正在使用的查询是这样的
“SELECT * FROM Win32_NtLogEvent WHERE Logfile ='Application'和Type ='error'和TimeWritten> '03 / 10/2015'”
但是,我只需要获得这些结果的数量。我认为使用脚本任务可能会更好吗?
[更新]
除了Kyle在下面的回复,我发现了这一点
http://nirav.extreme-advice.com/2013/02/22/ssis-package-to-get-disk-space-info-with-wmi-and-script-task/
以上,基本上改变了我接近事物的方式。我没有尝试将结果保存到单个值变量,而是将其更改为对象类型和数据表。然后添加了一个脚本任务来简单地获取数据表的计数,然后将其保存到我的变量中以进行计数。
答案 0 :(得分:1)
是的,有两种*方法可以实现这一点:脚本任务(更直接,但需要编写脚本)或使用行计数转换(仅使用开箱即用的SSIS。)
" no-code"方法:
如果您确实选择使用脚本,我的建议是绕过WMI数据读取器任务的开销,并在脚本任务中执行整个操作。
根据项目的范围,您可能最好编写PowerShell脚本来获取值,只需使用Execute Process任务来运行脚本,并通过stdout将值推送到SSIS或直接进行日志记录PowerShell脚本。