搜索事件查看器服务器03和08 r2

时间:2011-12-22 19:10:38

标签: powershell vbscript batch-file event-log

有没有办法使用PowerShell或其他cmd或程序在Windows Server 2003和Windows Server 2008 r2中搜索特定打印机名称的事件查看器?

有时我必须搜索事件查看器以查看谁打印了特定的打印作业,我们通常知道他们打印的打印机,但手动搜索非常繁琐。

如果有人能够给出答案,则需要提供完整的代码,因为我不熟悉编写代码。对不起,谢谢你的帮助。

编辑: 我知道你可以导出列表,但我正在寻找的是一种解析事件描述的方法。

程序安装完成此操作将安装在单独的计算机上,因为我们会尽量保持服务器的清洁。除非它是一个可以在运行后立即删除的独立文件,否则所有代码都将从远程计算机运行。

我对Log Parser感到惊讶,但我不确定如何让它在另一台计算机上运行,​​我确信我正在查看如何做到这一点。

我将从Win 7 Pro 64位PC运行所有程序。

1 个答案:

答案 0 :(得分:3)

您可以使用Get-EventLog cmdlet获取事件日志条目。在此示例中,我连接到运行Server 2003的名为STUDIO的远程计算机,并搜索由STUDIO \ Administrator启动的打印事件。

Get-EventLog -ComputerName studio -LogName System -Source Print -UserName "STUDIO\Administrator"

打印机名称包含在message属性中,因此您可以进行正则表达式匹配。

Get-EventLog -ComputerName studio -LogName System -Source Print -UserName "STUDIO\Administrator" | where-object {$_.Message -match "PrinterName"}