0
目標:創建一個腳本,該腳本從特定計算機獲取最後一天的事件日誌,然後查看消息部分以根據特定IP篩選數據(首先),然後僅對啓動項與特定的關鍵字,然後輸出到HTML。過濾/匹配事件日誌記錄
代碼:
$fileDate = (Get-Date -Format ddMMyyyy) + ".html"
$EventGrab = Invoke-Command {
Get-EventLog -LogName Security -After (Get-Date).AddDays(-1) -EntryType FailureAudit
} -ComputerName whatever
$EventGrab |
Sort-Object -Property TimeWritten -Descending |
Select-String -InputObject {$_.TimeWritten,$_.message} -Pattern "10.1.2.13" |
ConvertTo-Html |
Out-File C:\$fileDate
粗步:
- 創建文件與日期。
- 過去24小時內從安全日誌中使用FailureAudit獲取事件日誌。
- 檢查上述模式(設備)的消息部分。
- 轉換爲HTML和輸出從第1步
問題是步驟3和4之間的日期到文件;我需要在第3步之後再次過濾消息,以便消息字段只查找特定語法(例如LTC),然後在數據發現到HTML文件時輸出該數據。
我在想它只是另一個Select-String
,或其他東西,但無法弄清楚。
實施例輸入(@Select-String
部分):
02/08/2017 15:51:57 Network Policy Server denied access to a user.
Contact the Network Policy Server administrator for more information.
User:
Security ID: S-1-0-0
Account Name: <scrubbed>
Account Domain: <scrubbed>
Fully Qualified Account Name: <scrubbed>
Client Machine:
Security ID: S-1-0-0
Account Name: -
Fully Qualified Account Name: -
OS-Version: -
Called Station Identifier: 00-1B-53-41-5A-57
Calling Station Identifier: F8-CA-B8-57-1A-9B
NAS:
NAS IPv4 Address: 10.1.2.13
NAS IPv6 Address: -
NAS Identifier: -
NAS Port-Type: Ethernet
NAS Port: 50324
RADIUS Client:
Client Friendly Name: <scrubbed>
Client IP Address: 10.1.2.13
Authentication Details:
Connection Request Policy Name: <scrubbed>
Network Policy Name: -
Authentication Provider: Windows
Authentication Server: <scrubbed>
Authentication Type: PEAP
EAP Type: Microsoft: Secured password (EAP-MSCHAP v2)
Account Session Identifier: -
Logging Results: Accounting information was written to the local log file.
Reason Code: 8
Reason: The specified user account does not exist.
預期輸出:
上述改變,使得只有帳戶名是host/LTC<whatever>
。
嗯。這似乎沒有正常工作(沒有數據輸出)。我想我可能解釋錯了,或者我錯過了一些東西。在$ _中。來自EventGrab的消息數據將在該消息字段中回傳大量信息,我期望在10.1.2.13或LTC(這看起來正好在上面)的大量數據中匹配,但是我想知道它是否只是'10.1.13'和/或'LTC'作爲字符串,而不僅僅是巨大消息中字符串的一部分。 – elderusr07
請編輯您的問題並提供樣本輸入和輸出。 –
增加了一些預期的輸入/輸出。 – elderusr07