Невозможно прочитать / импортировать файл журнала Windows XML с помощью Import-Clixml или Get-Content - PullRequest
0 голосов
/ 21 февраля 2019

Windows создает красивый файл журнала XML в $ENV:windir\System32\WDI\LogFiles\StartupInfo\, который сообщает вам о запуске приложений / процессов, их использовании процессора, использовании диска и времени загрузки.

Я потратил некоторое время, пытаясь загрузить и прочитать этот файл в PowerShell с целью манипулирования данными как PSObject или Hashtable.

Когда я использую Import-clixml, я получаю следующую ошибку:

PS C:\Users> $data = Import-Clixml -Path "C:\Windows\System32\WDI\LogFiles\StartupInfo\StartupInfo1.xml"
Import-Clixml : Element 'Objs' with namespace name 'http://schemas.microsoft.com/powershell/2004/04' was not found. Line 2, position 2.
At line:1 char:9
+ $data = Import-Clixml -Path "C:\Windows\System32\WDI\LogFiles\Startup ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Import-Clixml], XmlException
    + FullyQualifiedErrorId : System.Xml.XmlException,Microsoft.PowerShell.Commands.ImportClixmlCommand

, и когда я пытаюсь собрать коллекцию, используя [xml]$Data = Get-Content..., она работает, но не предоставляет структуру, которую яожидайте:

    PS C:\Users> [xml]$data = Get-Content -Path "C:\Windows\System32\WDI\LogFiles\StartupInfo\StartupInfo1.xml"

    PS C:\Users> $data

    xml                             StartupData
    ---                             -----------
    version="1.0" encoding="UTF-16" StartupData



    PS C:\Users\alt63> $data.StartupData

    IntervalStartMs IntervalEndMs ReadAheadAnalysisTime RurLegacyResourceAttribution
    --------------- ------------- --------------------- ----------------------------
    138080          228080        0                     0                           

Содержимое XML:

<?xml version="1.0" encoding="UTF-16"?>
<StartupData IntervalStartMs="15383" IntervalEndMs="105383">
    <Process Name="C:\Devi" PID="8928" StartedInTraceSec="33.422">
        <StartTime>2019/02/19:00:01:48.6792251</StartTime>
        <CommandLine><![CDATA["C:\Users\user_a\AppData\Local\slack\Update.exe" --processStart "slack.exe" --process-start-args "--startup"]]></CommandLine>
        <DiskUsage Units="bytes">9797632</DiskUsage>
        <CpuUsage Units="us">520359</CpuUsage>
        <ParentPID>5132</ParentPID>
        <ParentStartTime>2019/02/19:00:01:31.1627452</ParentStartTime>
        <ParentName>explorer.exe</ParentName>
    </Process>
    <Process Name="C:\Devic" PID="9064" StartedInTraceSec="34.440">
        <StartTime>2019/02/19:00:01:49.6967953</StartTime>
        <CommandLine>"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"</CommandLine>
        <DiskUsage Units="bytes">11264</DiskUsage>
        <CpuUsage Units="us">40602</CpuUsage>
        <ParentPID>9012</ParentPID>
        <ParentStartTime>2019/02/19:00:01:49.4645583</ParentStartTime>
        <ParentName>chrome.exe</ParentName>
    </Process>
    <ReadAheadAnalysisTime>0</ReadAheadAnalysisTime>
    <RurLegacyResourceAttribution>31</RurLegacyResourceAttribution>
</StartupData>

(журнал намного длиннее, данные для краткости опущены)

Два запроса:

  1. Чем этот XML отличается от любого другого XML-файла, который я успешно использую.
  2. Есть мысли о том, как лучше всего заняться этим файлом?

Спасибо!

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