人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Powershell 查詢 Windows 日志的方法

發(fā)布日期:2022-01-26 00:36 | 文章來源:CSDN

論壇里面有人詢問如何使用powershell腳本查詢文件修改的審計日志,豆子服務(wù)器沒開這個功能,不過嘗試寫了個類似的腳本可以查詢?nèi)罩?,并輸出對?yīng)的xml內(nèi)容。

基本方法是get-winevent, 可以指定對應(yīng)的eventid,獲取列表。如果想獲取這個事件具體的內(nèi)容,需要根據(jù)不同事件的xml內(nèi)容進(jìn)行變化。

比如

$Events = Get-WinEvent -ComputerName syddc01 -FilterHashtable @{Logname='Security';Id=4771} -MaxEvents 1 
$eventXML = [xml]$Event.ToXml() 
$eventxml.event.event.data 

根據(jù)這個思路,我如果想獲取最新的20個4771的事件日志,并輸出結(jié)果

$Events = Get-WinEvent -ComputerName syddc01 -FilterHashtable @{Logname='Security';Id=4771} -MaxEvents 20  
 
# Parse out the event message data 
ForEach ($Event in $Events) { 
  # Convert the event to XML 
  $eventXML = [xml]$Event.ToXml() 
  # Iterate through each one of the XML message properties 
  For ($i=0; $i -lt $eventXML.Event.EventData.Data.Count; $i++) { 
 
 
 # Append these as object properties 
 Add-Member -InputObject $Event -MemberType NoteProperty -Force -Name $eventXML.Event.EventData.Data[$i].name -Value $eventXML.Event.EventData.Data[$i].'#text'
  } 
} 
  

$events | select Message, TargetUserName, ipaddress,timecreated | Out-GridView 

有的時候,事件的數(shù)目很多,我希望對這個時間進(jìn)行一個限制。千萬別用 where-object 的方式來過濾,不然等到地老天荒也未必出結(jié)果。
我們需要通過哈希表來過濾

$endtime=get-date
$starttime=$endtime.addminutes(-1) 
$eventcritea = @{logname='security';id=4740;starttime=$starttime;endtime=$endtime}

另外一種常見的方式是通過xmlfilter來過濾日志

首先,我們可以通過event viewer來自定義一個xpath

因為是不同的事件,他的eventdata結(jié)果是不一樣的,因此我做了些變動。

[xml]$xmlFilter = @" 
<QueryList> 
 <Query Id="0" Path="Application"> 
  <Select Path="Application">*[System[(EventID=1002) and TimeCreated[timediff(@SystemTime) &lt;= 604800000]]]</Select> 
 </Query> 
</QueryList> 
“@ 
#Get-WinEvent -ComputerName $DC.DC -LogName Security -FilterXPath "*[System[(EventID=529 or EventID=644 or EventID=675 or EventID=676 or EventID=681 or EventID=4625) and TimeCreated[timediff(@SystemTime) &lt;= 86400000]]]" #-MaxEvents 50 
$Events = Get-WinEvent -ComputerName syddc01 -FilterXML $xmlFilter 
ForEach ($Event in $Events) { 
  # Convert the event to XML 
  $eventXML = [xml]$Event.ToXml() 
  # Iterate through each one of the XML message properties 
  For ($i=0; $i -lt $eventXML.Event.EventData.Data.Count; $i++) { 
 
 
 # Append these as object properties 
 Add-Member -InputObject $Event -MemberType NoteProperty -Force -Name "App" -Value $eventXML.Event.EventData.Data[5]
  } 
}
$Events | select Message, App, providerName, timecreated | Out-GridView 

結(jié)果如下

最后再給一個例子,我希望獲取lockout用戶的信息以及他們是在哪里被鎖住的,這個日志我們查看4771或者4740。4771的日志過多,查詢太慢,所以這里我已4740為例。

eventcritea = @{logname='security';id=4740} 
$Events =get-winevent -ComputerName (Get-ADDomain).pdcemulator -FilterHashtable $eventcritea 
#$Events = Get-WinEvent -ComputerName syddc01 -Filterxml $xmlfilter  
 
# Parse out the event message data 
ForEach ($Event in $Events) {
 
  # Convert the event to XML 
  $eventXML = [xml]$Event.ToXml()

  # Iterate through each one of the XML message properties 
  For ($i=0; $i -lt $eventXML.Event.EventData.Data.Count; $i++) { 
 
 
 # Append these as object properties 
 Add-Member -InputObject $Event -MemberType NoteProperty -Force -Name $eventXML.Event.EventData.Data[$i].name -Value $eventXML.Event.EventData.Data[$i].'#text'
  } 
} 
  

$events | select TargetUserName,timecreated, targetdomainname | Out-GridView -Title LockOutStatus 
break; 
Search-ADAccount -LockedOut | ForEach-Object {Unlock-ADAccount -Identity $_.distinguishedname }

本文出自 “麻婆豆腐” 博客

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部