Консольная утилита и служба Windows, отслеживающая ключевые события Microsoft Configuration Manager (SCCM) через WMI и записывающая подробные диагностические данные для администраторов.
- Обзор
- Возможности
- Структура репозитория
- Предварительные требования
- Сборка
- Использование
- Журналирование
- Устранение неполадок
- Лицензия
SCCMInfo подключается к пространству имен ROOT\\SMS текущего сайта SCCM,
подписывается на создание ключевых объектов (например, SMS_DeploymentInfo и
SMS_CombinedDeviceResources), обогащает полученные данные и записывает их в
структурированную консольную таблицу и постоянные журналы. Инструмент может
работать интерактивно для диагностики либо устанавливаться как служба Windows для
непрерывного мониторинга.
- Автоматическое определение локального управляющего пункта и кода сайта SCCM.
- Подписка на события SCCM WMI с подключаемыми обогатителями, добавляющими контекст перед записью в журналы.
- Консольный вывод с таблицами Spectre.Console для быстрого анализа в интерактивном режиме.
- Постоянное журналирование в
ProcessInfoLog.txtрядом с исполняемым файлом и, при наличии прав, в журнал приложений Windows. - Возможность установки как службы Windows для автономного мониторинга.
| Путь | Описание |
|---|---|
SCCMInfo/ |
Исходный код консольного приложения и службы Windows. |
SCCMInfo.sln |
Файл решения Visual Studio под .NET Framework 4.8. |
LICENSE.txt |
Лицензия проекта. |
- Windows 10/11 или Windows Server с доступом к инфраструктуре Configuration Manager.
- .NET Framework 4.8 с Visual Studio 2019+ либо соответствующими Build Tools.
- Права локального администратора и разрешения на доступ к пространствам WMI
ROOT\\SMSиROOT\\ccm. - Доступ к SMS Provider (локально или по сети) и права на запись в журнал приложений Windows.
Перед сборкой восстановите пакеты NuGet (например, nuget restore SCCMInfo.sln).
- Откройте
SCCMInfo.slnв Visual Studio 2019 или новее. - Выберите нужную конфигурацию (
DebugилиRelease). - Соберите решение через Build → Build Solution.
Используйте Developer Command Prompt for VS или среду с установленным MSBuild:
nuget restore SCCMInfo.sln
msbuild SCCMInfo.sln /t:Build /p:Configuration=ReleaseСобранные бинарные файлы появятся в SCCMInfo/bin/<Configuration>.
- Убедитесь, что на устройстве установлен клиент SCCM и доступны пространства
ROOT\\ccmиROOT\\SMS. - Запустите
SCCMInfo.exeбез параметров для начала интерактивного мониторинга. События WMI будут выводиться в консоль и записываться вProcessInfoLog.txtрядом с исполняемым файлом. - Проверьте консольный вывод, чтобы убедиться, что обогатители добавляют ожидаемый контекст к полученным экземплярам.
- Откройте PowerShell или командную строку от имени администратора.
- Установите службу:
После установки создается служба
SCCMInfo.exe --install
SCCMInfo, которая запускается автоматически. - Управляйте службой по необходимости:
- Запуск:
sc start SCCMInfo - Остановка:
sc stop SCCMInfo - Удаление после остановки:
sc delete SCCMInfo
- Запуск:
- Для проверки работы без установки службы выполните:
Команда запускает обработчики службы в текущем процессе для целей отладки.
SCCMInfo.exe --service
SCCMInfo записывает данные в несколько источников:
ProcessInfoLog.txt— располагается рядом сSCCMInfo.exeи содержит подробные сведения о событиях и ошибках.- Журнал приложений Windows — дублирует ключевые сообщения с идентификаторами
2001 и 2002 под именем источника
SCCMInfo(создается автоматически при отсутствии). - Консольный вывод — отображает таблицы Spectre.Console и подробные статусы в интерактивном режиме.
- Проверьте, что выполняющая учетная запись имеет права на опрос пространств WMI SCCM и на создание источников журналов событий.
- Если подключение к удаленному SMS Provider не удается, запустите SCCMInfo от доменной учетной записи с необходимыми правами или настройте доверенное соединение.
- Просмотрите
ProcessInfoLog.txt, чтобы найти необработанные исключения или обогатители, не добавившие дополнительный контекст. - При запуске как служба убедитесь, что папка журнала доступна для записи учетной записи службы (по умолчанию Local System).
Проект распространяется на условиях файла LICENSE.txt.