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이 포함 된 보안 로그의 이벤트 로그를 가져옵니다.
- 위의 패턴 (장치)에 대한 메시지 섹션을 확인하십시오.
- 1.
문제점 3 단계 및 4 단계 사이에서 날짜를 HTML 파일로 변환하여 출력으로; 메시지 필드를 가져 와서 특정 구문 (예 : LTC) 만보고 HTML 파일에서 찾은 경우 해당 데이터를 출력하는 3 단계 후에 메시지를 다시 필터링해야합니다.
나는 단지 그 또 다른 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>
고려되도록 변경
전술. 메시지에서 문자열을 추출하기위한 기록 및 Select-String
를 필터링
흠. 그건 제대로 작동하지 않는 것 같아요 (데이터 출력을 얻는 것). 나는 그것이 틀렸다고 설명했을지도 모른다라고 생각한다, 또는, 나는 무엇인가 놓치고있다. EventGrab의 $ _. Message 데이터에서 Message 필드에 많은 정보를 표시 할 수 있습니다. 위에서 본 10.1.2.13 또는 LTC 데이터 중 엄청난 양의 데이터를 찾으려하지만 '10 .1.2.13 '및/또는'LTC '가 방금 거대한 메시지 내의 문자열의 일부가 아닌 문자열 인 지 궁금합니다. – elderusr07
질문을 편집하고 샘플 입력과 출력을 제공하십시오. –
일부 입출력이 추가되었습니다. – elderusr07