2017-07-11 19 views
0

私はPowerShellの方が新しく、SQLをはるかに慣れています。XMLにGetEventを渡して、値を取得する方法

イベントログからデータを取得する必要があります。私はこれまで、Get-WinEventを使用してxml要素を使用して必要な実際の情報を取得する必要があることを確認しました。

は、これまでのところ私が持っている:

$filterxml = " 


      *[System[(EventID='4624')]] 
      and 
      (
      *[EventData[Data[@Name='LogonType'] and (Data='10')]] 
      or 
      *[EventData[Data[@Name='LogonType'] and (Data='2')]] 
      ) 


" 
$Events = Get-WinEvent -maxEvents 1 -Filterxml $filterXml 
# Get out the event message data    
ForEach ($Event in $Events) {    
    # Convert the event to XML    
    $eventXML = [xml]$Event.ToXml() 

#Now what?? I need to find out how to return the actual data in a form I 
#can put into a datatable. 

} 

私がしてきた変数にまたはストレートのDataTableなどへのいずれかに

値をチャックするのは簡単なはずのように思え運がないまましばらく解決策を探しています。

+1

関連のある有益な投稿が見つかりました: https://serverfault.com/questions/303967/working-with-event-logs-in-powershell – Matthew230

+1

"... xml要素を使用して私が欲しい情報- なんでしょう? –

+0

まず、オブジェクトをXMLに変換したいと思っています... – BenH

答えて

0

あなたはGet-EventLogを使用することができます。

$eventsIncludingTheId = Get-EventLog -LogName Application | ? { $_.EventID -eq 4624} 
# Export data as XML 
$eventsIncludingTheId | Export-Clixml C:\temp\export.xml 
# Reimport data from XML 
$events = Import-Clixml C:\temp\export.xml 

Get-EventLog-LogNameを経由して(アプリケーション、システム、...)あなたに別のイベントログのセクションを提供しています。

あなたはGet-Eventlogは、あなたが行うことができます提供するものの性質を知りたい場合は:あなたは

を助け Where-Object句( ? { $_.EventID -eq 1234

・ホープで使用できるすべてのプロパティが表示されます

Get-EventLog -LogName Application | select -first 1 | gm 

関連する問題