Sử dụng PowerShell để tạo EventLog

Quản Trị Mạng - Trong bài viết dưới đây, chúng tôi sẽ giới thiệu và hướng dẫn các bạn cách sử dụng PowerShell để tạo các bản ghi log trên hệ thống, cụ thể ở đây là lệnh cmdlet Write-EventLog. Cú pháp cơ bản của lệnh này có dạng:

PS C:\> help Write-EventLog

Lưu ý rằng khi sử dụng cmdlet này, các bạn phải khai báo tên file log, source, event id và message tương ứng. Rất giống với công cụ command EVENTCREATE.EXE, nhưng người dùng lại không thể sử dụng các nguồn không theo chuẩn hoặc tương tự như vậy. Mà thay vào đó họ phải khởi tạo những thông số kỹ thuật hoặc nguồn dữ liệu trước tiên. Và 1 trong những cách đơn giản nhất để tìm nguồn dữ liệu là dùng Windows Management Instrumentation (WMI).

PS C:\> $log=Get-WmiObject win32_nteventlogfile -filter "filename='system'"
PS C:\> $log.Sources
System
ACPI
adp94xx
adpahci
adpu320
...

Nếu 1 trong những nguồn trên có vẻ phù hợp thì các bạn hãy ghi lại thành bản ghi như sau:

PS C:\> write-eventlog System -source Server -eventid 12345 -message "I am a custom event log message"

Dạng entry mặc định là Information, người dùng có thể tạo riêng eventID và thay đổi, chỉnh sửa bất kỳ lúc nào:

PS C:\> get-eventlog system -newest 1 | format-list EventID,EntryType,Source,Message
EventID : 12345
EntryType : Information
Source : Server
Message : The description for Event ID '12345' in Source 'Server' cannot be
found. The local computer may not have the necessary registry
information or message DLL files to display the message, or you
may not have permission to access them. The following inform
ation is part of the event:'I am a custom event log message'

Giả sử rằng nếu muốn tìm kiếm event ID hoặc message bất kỳ nào đó, chắc hẳn sẽ nhận được lỗi nho nhỏ như dưới đây:

PS C:\> get-eventlog system -newest 1 -message "*custom event*"
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
1512222 Jan 25 10:05 Information Server 12345 The des...

Không thực sự hoàn hảo, nhưng vẫn hoạt động đúng chức năng. Trong khi nếu xét về mặt lý thuyết thì chúng ta có thể đăng ký bằng các nguồn dữ liệu mới, và cũng có thể tạo được bản ghi mới bằng cách dùng cmdlet lệnh New-Eventlog. Thông thường thì lệnh cmdlet này được áp dụng để những nhà phát triển, lập trình xây dựng 1 mô hình event log cố định. Ví dụ dưới đây, chúng ta sẽ tạo 1 bản ghi log theo dạng custom, đồng thời khởi tạo 1 số nguồn dữ liệu khác nhau.

PS C:\> new-eventlog -LogName PSLogging -Source ADSI,WMI,Test,Other

Kiểm tra lại những gì đã được tạo:

PS C:\> $log=Get-WmiObject win32_NTEventlogfile -filter "filename='PSLogging'"
PS C:\> $log | fl
FileSize : 69632
LogfileName : PSLogging
Name : C:\Windows\System32\Winevt\Logs\PSLogging.evtx
NumberOfRecords : 0

Đó là 1 file log hoàn toàn mới, tiếp theo là việc kiểm tra nguồn dữ liệu – source:

PS C:\> $log.sources
PSLogging
ADSI
Other
Test
WMI

Và cuối cùng, nhập ít dữ liệu bất kỳ vào đây:

PS C:\> Write-EventLog PSLogging -Source Test -eventID 1000 -Message "I am the first entry"

Bên cạnh đó, chúng ta có thể sử dụng bất kỳ event ID nào, hoặc tự khởi tạo chúng theo ý muốn:

PS C:\> get-eventlog PSLogging | format-list
Index : 14
EntryType : Information
InstanceId : 1000
Message : I am the first entry
Category : (1)
CategoryNumber : 1
ReplacementStrings : {I am the first entry}
Source : Test
TimeGenerated : 1/25/2012 10:45:47 AM
TimeWritten : 1/25/2012 10:45:47 AM
UserName :

Tại bước này, Windows sẽ không “quan tâm” tới event ID nữa. Nếu muốn gán thêm bất kỳ nguồn dữ liệu nào khác, các bạn chỉ cần sử dụng lại lệnh cmdlet New-Eventlog:

PS C:\> New-EventLog PSLogging -source Scripting

Và nguồn mới của chúng ta tại đây:

PS C:\> Get-WmiObject win32_NTEventlogfile -filter "filename='PSLogging'" | Select -expand Sources
PSLogging
ADSI
Other
Scripting
Test
WMI

Lệnh cmdlet New-Eventlog có tham số –computername đi kèm, do vậy sẽ dễ dàng hơn rất nhiều để khởi tạo 1 eventlog mới bất kỳ trên toàn bộ Desktop hoặc server – nơi chúng ta muốn giám sát, quản lý log. Chúc các bạn thành công!

Thứ Sáu, 17/02/2012 14:39
31 👨 2.470
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp