Преобразование XML в CSV (файл журнала StartupInfo XML) - PullRequest
0 голосов
/ 21 декабря 2018

Я хотел бы преобразовать файл журнала StartupInfo XML (Windows 10) в CSV.

C:\Windows\System32\WDI\LogFiles\StartupInfo\<SID>_StartupInfo<NUMBER>.xml

Я пытался:

[xml]$StartupInfo = Get-Content "C:\Windows\System32\WDI\LogFiles\<SID>_StartupInfo<NUMBER>.xml"
$StartupInfo.StartupData.Process | Export-Csv -Path C:\Users\<USER>\Desktop\StartupInfo.csv -NoTypeInformation

Но у меня все еще есть проблемы со столбцами "CommandLine "," DiskUsage "и" CpuUsage ".

Спасибо за помощь.

1 Ответ

0 голосов
/ 21 декабря 2018

Я уверен, что есть более выдающиеся методы, такие как XSLT-преобразования.Но для этого конкретного типа XML-файла, я думаю, этот метод работает:

$StartupInfo.StartupData.Process | Select-Object Name,PID,StartedInTraceSec,
    @{name='CommandLine';Expression={$PSitem.CommandLine.'#cdata-section'}},
    @{name='DiskUsage';Expression={$PSItem.DiskUsage.'#text'}},
    @{name='CPUUsage';Expression={$PSItem.CPUUsage.'#text'}} | 
        Export-Csv -Path C:\Users\<USER>\Desktop\StartupInfo.csv -NoTypeInformation

Проблема в том, что XML-файлы не плоские, как CSV-файлы.Если вы хотите объяснить методику, которую я использовал, посмотрите здесь: https://mcpmag.com/articles/2017/01/19/using-powershell-calculated-properties.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...