1

https://serverfault.com/questions/743515/my-event-log-has-corrupted-dacl-write-attributes-in-4656-file-audit-events/852636#で述べたのと同じ問題が発生してい ます。 852636イベント ログに無効な文字が含まれているため、.ToXML() を使用すると次の例外で失敗します。

System.Management.Automation.RuntimeException 値を変換できません "http://schemas.microsoft.com/win/2004/08/events/event'>

無関係なデータを省略

<Data Name='AccessReason'>%%1538:   %%1804
    %%1541: %%1801  D:(A;ID;FA;;;S-1-5-21-4261485934-2742084322-1513010315-1120)
    %%4416: %%1801  D:(A;ID;FA;;;S-1-5-21-4261485934-2742084322-1513010315-1120)
    %%4417: %%1801  D:(A;ID;FA;;;S-1-5-21-4261485934-2742084322-1513010315-1120)
    %%4418: %%1801  D:(A;ID;FA;;;S-1-5-21-4261485934-2742084322-1513010315-1120)
    %%4419: %%1801  D:(A;ID;FA;;;S-1-5-21-4261485934-2742084322-1513010315-1120)
    %%4420: %%1801  D:(A;ID;FA;;;S-1-5-21-4261485934-2742084322-1513010315-1120)
    %%4423: %%1801  D:(A;ID;FA;;;S-1-5-21-4261485934-2742084322-1513010315-1120)
    %%4424: %%1801  D:(A;ID;FA;;;S-1-5-21-4261485934-2742084322-151301031亖퍲翾&lt;/Data>

「System.Xml.XmlDocument」と入力します。エラー: 「''、16 進値 0x04 は無効な文字です。19 行目、117 番目の位置。」

無効な文字を削除するにはどうすればよいですか? 以下のようなプロセスが考えられます。

  1. 文字列への変換 (ToString() は機能していないようです。Write-Host を介して出力すると、オブジェクト タイプの名前が出力されるだけです)
  2. .replace と regex を使用して無効な XML 文字を削除する
  3. System.Diagnostics.Eventing.Reader.EventLogRecord オブジェクトに戻す/シリアル化する (どういうわけか?)
  4. XML に変換 (.ToXML() を使用)

このプロセスのステップ 1 と 3 を達成するにはどうすればよいですか?

4

0 に答える 0