2016-05-25 9 views
0

は、入力XMLのインポートとXML&データでGT&LT記号 - ここでのPowerShell

<log> 
<entry> 
    <log_time>20160525-00:00:03</log_time> 
    <description><![CDATA[Completed password Authentication. User logged in]]></description> 
    <service>SSH</service> 
    <sessionid>32321231</sessionid> 
    <type>1</type> 
    <severity>1</severity> 
    <user>theuser</user> 
    <host>mybox.domain.local</host> 
    <lstnconnaddr>172.16.1.10:22</lstnconnaddr> 
    <cliconnaddr>111.11.111.111:59999</cliconnaddr> 
    <sguid>6EC9F549-AFDF-4444-2222-1CB9A65A9A8F</sguid> 
    </entry> 
</log> 

の一例ですので、私は現時点では、重大度0でない事柄について知りたい:

[xml]$XmlDocument = Get-Content -Path Log.xml 
$XmlDocument.log.entry | where-object severity -ne '0' 
これが原因で、データがIでフォーマットされている方法である

description : description 

説明フィールドは、として戻ってきますnput xml - これはIPSwitchから来るので、私はそれについて何もできません。

答えて

0

値はCDATAセクションですからです。プロパティにアクセスする必要があります。

$xmldocument = [xml]@" 
<log> 
<entry> 
    <log_time>20160525-00:00:03</log_time> 
    <description><![CDATA[Completed password Authentication. User logged in]]></description> 
    <service>SSH</service> 
    <sessionid>32321231</sessionid> 
    <type>1</type> 
    <severity>1</severity> 
    <user>theuser</user> 
    <host>mybox.domain.local</host> 
    <lstnconnaddr>172.16.1.10:22</lstnconnaddr> 
    <cliconnaddr>111.11.111.111:59999</cliconnaddr> 
    <sguid>6EC9F549-AFDF-4444-2222-1CB9A65A9A8F</sguid> 
    </entry> 
</log> 
"@ 

$XmlDocument.log.entry | where-object severity -ne '0' | ForEach-Object { $_.description.'#cdata-section' } 

Completed password Authentication. User logged in 

また..「抽出」CDATA値で、元の記述値を置き換えるために計算プロパティを使用することができます

$XmlDocument.log.entry | where-object severity -ne '0' | Select-Object log_time, service, sessionid, type, severity, user, host, lstnconnaddr, cliconnaddr, sguid, @{n="Description";e={$_.description.'#cdata-section'}} 

log_time  : 20160525-00:00:03 
service  : SSH 
sessionid : 32321231 
type   : 1 
severity  : 1 
user   : theuser 
host   : mybox.domain.local 
lstnconnaddr : 172.16.1.10:22 
cliconnaddr : 111.11.111.111:59999 
sguid  : 6EC9F549-AFDF-4444-2222-1CB9A65A9A8F 
Description : Completed password Authentication. User logged in 
関連する問題