сервер просмотра событий поиска 03 и 08 r2

Есть ли способ поиска в средстве просмотра событий в Windows Server 2003 и Windows Server 2008 r2 определенного имени принтера с помощью powershell или другой cmd или программы?

Время от времени мне приходится искать в средстве просмотра событий, чтобы увидеть, кто напечатал конкретное задание на печать, и мы обычно знаем, на какой принтер они печатали, но искать вручную очень утомительно.

Если кто-то может дать ответ, вам нужно будет дать весь код, так как я новичок в написании кода. Извините, но спасибо за вашу помощь.

Изменить: я знаю, что вы можете экспортировать список, но я ищу способ проанализировать описание событий.

Установка программы для завершения этого будет установлена ​​на отдельном компьютере, поскольку мы стараемся поддерживать наши серверы в чистоте, насколько это возможно. Если это не отдельный файл, который можно удалить сразу после запуска, весь код будет выполняться с удаленного компьютера.

Я знаю о Log Parser, но не знаю, как заставить его работать на другом компьютере, я уверен, что смотрю мимо того, как это сделать.

Я буду запускать все программы с 64-битного компьютера с Win 7 Pro.


person E.T.    schedule 22.12.2011    source источник


Ответы (1)


Вы можете использовать командлет Get-EventLog для получения записей журнала событий. В этом примере я подключаюсь к удаленному компьютеру с именем STUDIO, на котором запущен сервер 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"}
person Andy Arismendi    schedule 23.12.2011
comment
Извините, что так долго не могли вернуться. Имел большую часть этого времени. Кажется, это работает нормально, требует времени, но я не ожидал, что это будет быстро, но я не вижу, где он выводится. - person E.T.; 03.01.2012
comment
@ user1100566 Результат должен отображаться прямо в окне PowerShell. Можете ли вы показать команду, которую вы выполняете? - person Andy Arismendi; 03.01.2012
comment
GET-Eventlog -Computername имя_компьютера -LogName System -Source Print -UserName username\domain Копируется из ps. Я изменил имя компьютера, имя пользователя и доменное имя. Я хотел уточнить, но не слишком конкретно, пока не заставлю его работать последовательно. Он работает больше часа, а затем ничего не выводит. Должен ли я иметь \\ перед именем компьютера? - person E.T.; 03.01.2012
comment
@user1100566 user1100566 Поскольку он ничего не выводит, похоже, что соответствующих событий нет. Взгляните на средство просмотра событий на этом компьютере вручную и найдите любые события с исходной печатью и проверьте поле пользователя, чтобы увидеть, что это такое. Повторите команду локально, чтобы ускорить ее, заменив то, что вы ищете, пользователем, которого вы найдете в фактической записи журнала событий. - person Andy Arismendi; 03.01.2012
comment
Я заставил его работать, мне нужно было поменять местами имя пользователя и домен, чтобы это было домен\имя пользователя. Большое спасибо за Вашу помощь. - person E.T.; 04.01.2012
comment
@user1100566 Посетите этот блог Windows PowerShell запись. Применение такого фильтра может ускорить ваш запрос. - person Andy Arismendi; 04.01.2012