我已經使用PowerShell從EventLog中導出數據,並創建了一個示例模式以將數據導入SQL,但是存在使用ConvertToXML從PowerShell導出數據的方式問題。在PowerShell中更改XML標籤並保留內容。
XML的導出如下所示;
<Property Name="Version">0</Property>
<Property Name="Qualifiers" />
<Property Name="Level">0</Property>
<Property Name="Task">14339</Property>
<Property Name="Opcode">0</Property>
<Property Name="Keywords">-9218868437227405312</Property>
<Property Name="RecordId">57963203</Property>
<Property Name="ProviderName">Microsoft-Windows-Security-Auditing</Property>
但它應該是這個樣子;
<Version>0</Version>
<Qualifiers> />
<Level>0</Level>
<Task>14339</Task>
下面的代碼標識屬性名稱和版本屬性標記 的起點和終點,並試圖將其改爲但不幸的是它改變了它不保持標籤中的內容。我似乎無法保持價值。
$EventLog = (Get-WinEvent -ComputerName xxxxxxx-FilterXML $Query) | ConvertTo-Xml -NoTypeInformation
$EventLogModify = (Get-Content P:\EventTracking\Events.xml) | foreach{$_ -replace '(<Property Name=""Version"">(.*?)</Property>)', "<Version></Version>" };Set-Content P:\EventTracking\Events.xml $EventLogModify;
哇。這絕對是美麗的。這是我現在的代碼; $ EventLogModify =(Get-Content P:\ EventTracking \ Events.xml)| foreach {$ _ -replace'([^ <] +) ','<$1> $ 2$1>'-replace' ','<$1/>'}; Set-Content P:\ EventTracking \ Events.xml $ EventLogModify; 非常感謝。 –
2011-12-15 10:11:47