Вы испытывали трудности при создании отчета о системной информации на вашем компьютере? Сбор деталей системы может показаться сложным, но инструмент Microsoft System Information Tool (MSInfo32) быстро справляется с этой задачей, собирая всю необходимую информацию!
В этой статье вы научитесь генерировать и просматривать отчеты о системной информации в кратчайшие сроки. Читайте далее, чтобы узнать больше!
Предварительные требования
Для этого учебного пособия вы можете использовать любую сборку Windows 10. Для чтения системных отчетов из командной строки требуется PowerShell. В данном учебнике используются Windows 10 версии 21H1 сборка 19043 и PowerShell v7.1.
Просмотр отчета о системной информации
Первый шаг для получения подробной информации о вашей системе – открыть инструмент MSInfo32.
Чтобы найти инструмент, ищите MSInfo32 в меню “Пуск”, и обязательно выберите опцию Запуск от имени администратора.
Когда MSInfo32 не запускается с правами администратора, он не может правильно обновить свой внутренний кэш информации, и некоторые драйверы могут отображаться как остановленные, когда они на самом деле работают.
Как только инструмент откроется, он предоставит вам отчет, автоматически сгенерированный. Вы увидите краткое описание аппаратных средств вашего компьютера в представлении Общая информация о системе. Это представление содержит общий обзор конфигурации системы. Слева вы увидите категории, которые подробно разбивают каждый раздел.

Сохранение отчетов MSInfo32
Возможно, вы собираетесь внести изменения в аппаратное обеспечение вашей системы и хотели бы сохранить отчет о системной информации для последующего сравнения или отчетности. С помощью MSInfo32 у вас есть два варианта сохранения этой информации: сохранение и экспорт. Вы узнаете о них далее.
Вы можете нажать Файл → Сохранить, чтобы сохранить информацию в файле NFO, который известен как файл системной информации. Файл NFO является файлом на основе XML, который позже можно открыть с помощью инструмента MSInfo32 для просмотра в том же организованном формате.

Ниже вы можете увидеть пример файла XML NFO.
Вы также можете нажать Файл → Экспорт, что сохранит информацию в файле TXT в формате обычного текста, который может быть проще прочитать, но не может быть открыт позже с помощью инструмента системной информации.

И ниже вы увидите пример формата текстового файла, который экспортирует MSInfo32.
Скриптовый экспорт отчетов из MSInfo32
Теперь, когда вы знаете, как создать отчет о системной информации из MSInfo32, как вы бы пошли на создание либо NFO, либо TXT отчета из командной строки? Возможно, вы создаете сценарий, и вам нужен быстрый способ получить информацию об аппаратных средствах.
Ниже приведены два различных варианта использования командной строки для создания как NFO, так и TXT отчетов.
Вы можете найти множество устаревших статей о MSInfo32, где вы можете увидеть такие параметры, как
/categories
,/category
,/pch
и/showcategories
. Они доступны только в Windows XP и не поддерживаются в Windows 10.
Этот первый пример демонстрирует создание TXT-отчета в том же каталоге, откуда запускается команда, как вы можете видеть на следующем снимке экрана.
Даже при запуске из командной строки появляется окно, где вы можете видеть обновление информации о системе перед созданием отчета.

В этом втором примере демонстрируется создание отчета NFO, на этот раз с указанием каталога, где будет сохранен отчет. Обратите внимание, что каталог должен существовать до запуска команды. В противном случае она завершится без вывода сообщений об ошибке.
Хотя любое расширение файла будет работать, так как экспорт отчета об информации системы является файлом NFO, соглашение предполагает использование .nfo в качестве расширения отчета.
Чтение файлов NFO через PowerShell
На протяжении этого руководства вы узнали, как создавать и экспортировать отчеты MSInfo32. Но вы обратились к Адаму Автоматизатору по какой-то причине, так что вы научитесь автоматизировать процесс.
Сохраненные отчеты NFO могут быть открыты и просмотрены в MSInfo32 через меню Файл → Открыть. Проблема в том, что графический интерфейс не идеален для автоматизации извлечения информации. Поскольку файлы NFO сохраняются как файлы XML, PowerShell может разбирать файлы XML и извлекать из них информацию.
Для чтения файла отчета в формате XML откройте окно PowerShell и выполните команду Get-Content
, как показано на скриншоте ниже. [XML]
позволяет PowerShell читать XML-текст и преобразовывать его в объекты PowerShell. Наконец, сохраните результат в переменную $Report
. Результирующую команду можно увидеть ниже.

$Report
variable. Возможно, вам потребуется извлечь список служб, которые были запущены во время создания отчета. Поскольку отчеты MSInfo32 содержат эту информацию, вы можете извлечь список с помощью метода SelectNodes()
.
Метод
SelectNodes()
использует XPath. XPath – это язык запросов для XML. Создание сложных запросов XPath выходит за рамки данной статьи.
Запрос XPath '//Category[@name="Software Environment"]/Category[@name="Services"]/Data'
будет служить примером. Его части показаны ниже, чтобы вы могли понять и адаптировать его для различных сценариев.
//Category[@name="Software Environment"]
– Возвращает любой узел Category во всем документе, указанный двойным слэшем, с именем “Software Environment”./Category[@name="Services"]
– Возвращает узел Category под ранее возвращенным узлом “Software Environment” с именем “Services”./Данные
– Возвращает дочерний узел данных под ранее возвращенным узлом “Службы”.
Приведенная выше структура представляет собой автоматически сгенерированный системный отчет, который мы видим при запуске MSInfo32. Вы можете адаптировать его, строя раздел в соответствии с тем разделом, который вы видите в нем.
Передача XPath-запроса //Category[@name="Software Environment"]/Category[@name="Services"]/Data
методу SelectNodes()
объекта $Report
, показанному ниже, возвращает все службы Windows в виде XML-узлов. Поскольку XML-узлы не отображают ожидаемого вывода (служба Name
, DisplayName
и State
), приведенный ниже код создает PSCustomObject
и форматирует вывод для отображения на экране с использованием Format-Table
.

Приведен ниже дополнительный пример того, как использовать XPath-запрос и PowerShell для получения информации о категории “Отображение системного отчета”. Сам XPath-запрос очень похож на предыдущие, но на этот раз он ищет категории “Компоненты” и “Отображение”.

Заключение
В этой статье вы узнали, как MSInfo32 предлагает удобный способ создания полного системного отчета для локальной системы. С помощью функций сохранения и экспорта MSInfo32 вы узнали, как экспортировать статус системы для анализа в течение времени и использовать PowerShell для анализа доступной информации.
Как бы вы автоматизировали MSInfo32 на нескольких системах?