2011-12-22 62 views
3

有沒有辦法在Windows Server 2003和Windows Server 2008 R2中使用powershell或其他cmd或程序在特定打印機名稱中搜索事件查看器?搜索事件查看器服務器03和08 r2

有時我必須搜索事件查看器來查看誰打印了特定的打印作業,我們通常知道他們打印的打印機是什麼,但手動搜索非常繁瑣。

如果任何人都能夠給出答案,您將需要提供整個代碼,因爲我是新手編寫代碼。對不起,但感謝你的幫助。

編輯: 我知道你可以導出列表,但我正在尋找的是一種解析事件描述的方法。

程序安裝完成後將安裝在單獨的計算機上,因爲我們試圖儘可能保持服務器的清潔。除非它是一個獨立的文件,只要它運行就可以被刪除,所有代碼將從遠程計算機運行。

我對Log Parser很感興趣,但我不確定如何讓它在另一臺計算機上運行,​​我確信我正在尋找過去如何去做。

我將運行Win 7 Pro 64位電腦上的所有程序。

回答

3

您可以使用Get-EventLog cmdlet來獲取事件日誌條目。在本例中,我連接到名爲STUDIO的遠程計算機,該計算機運行Server 2003並搜索由STUDIO \ Administrator啓動的打印事件。

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

打印機名稱包含在消息屬性中,因此您可以執行正則表達式匹配。

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

對不起,花了這麼長的時間纔回來。這次大部分時間都關閉了。這似乎運行良好,需要一段時間,但我沒有想到它會很快,但我看不到它輸出的位置 – 2012-01-03 14:49:03

+0

@ user1100566結果應顯示在PowerShell窗口中。你能顯示你正在運行的命令嗎? – 2012-01-03 16:11:54

+0

GET-Eventlog -Computername computername -LogName系統 - 源打印 - 用戶名「用戶名\域」 從ps複製。我確實改變了計算機名稱,用戶名和域名。我想得到具體的,但不是太具體,但直到我得到它的工作consitently。 它運行了一個多小時,然後輸出什麼。 我應該在計算機前面有\\? – 2012-01-03 18:25:20