Jump to content

Инструментарий управления Windows

Инструментарий управления Windows
Оригинальный автор(ы) Майкрософт
Разработчик(и) Майкрософт
Операционная система Microsoft Windows
Платформа IA-32 , x86-64 и ARM (исторически Itanium , DEC Alpha , MIPS и PowerPC )
Тип Системное управление
Лицензия Собственный
Веб-сайт учиться .microsoft /en-нас /предыдущие-версии /окна /рабочий стол /wmi _v2 /windows-management-инфраструктура

Инструментарий управления Windows ( WMI ) состоит из набора расширений модели драйверов Windows , которые обеспечивают интерфейс операционной системы , через который инструментированные компоненты предоставляют информацию и уведомления. WMI — это Microsoft реализация стандартов веб-управления предприятием (WBEM) и общей информационной модели (CIM), разработанных Рабочей группой по распределенному управлению (DMTF).

WMI позволяет языкам сценариев (таким как VBScript или Windows PowerShell ) управлять Microsoft Windows персональными компьютерами и серверами как локально, так и удаленно. WMI предустановлен в Windows 2000 и в Windows 11 операционных системах . Он доступен для загрузки для Windows NT и [1] От Windows 95 до Windows 98 . [2]

Microsoft также предоставляет интерфейс командной строки для WMI, называемый командной строкой инструмента управления Windows ( WMIC ). [3] Однако WMIC устарел, начиная с Windows 10 версии 21H1 , Windows 11 и Windows Server 2022 . [4]

Целью WMI является определение собственного набора независимых от среды спецификаций, которые позволяют совместно использовать информацию управления между приложениями управления. WMI предписывает стандарты управления предприятием и связанные технологии для Windows, которые работают с существующими стандартами управления, такими как интерфейс управления рабочим столом (DMI) и SNMP . WMI дополняет эти другие стандарты, предоставляя единую модель. Эта модель представляет собой управляемую среду, через которую можно получить общий доступ к данным управления из любого источника.

Процесс разработки

[ редактировать ]

Поскольку WMI абстрагирует управляемые объекты с помощью CIM и набора поставщиков, разработка поставщика предполагает несколько этапов. Основные этапы можно резюмировать следующим образом:

  1. Создайте управляемую модель сущности
    1. Определить модель
    2. Реализуйте модель
  2. Создайте поставщика WMI
    1. Определите тип поставщика для реализации
    2. Определить модель хостинга провайдера
    3. Создайте шаблон поставщика с помощью ATL. мастера
    4. Реализуйте логику кода в провайдере
    5. Зарегистрируйте провайдера в WMI и системе.
  3. Проверьте провайдера
  4. Создайте образец потребительского кода.

Важность поставщиков WMI

[ редактировать ]

С момента выпуска первой реализации WMI в эпоху Windows NT 4.0 SP4 (в виде внеполосной загрузки) Microsoft постоянно добавляла поставщиков WMI в Windows:

Многие клиенты [ который? ] интерпретировали рост числа поставщиков как признак того, что WMI стал в Microsoft «повсеместным» уровнем управления Windows, даже если Microsoft никогда не заявляла об этом явно.

Из-за постоянного увеличения доступа к данным управления через WMI в Windows люди, работающие в ИТ- области управления системами , начали разрабатывать сценарии и процедуры автоматизации на основе WMI. [ нужна ссылка ] Помимо потребностей в написании сценариев, большинство ведущих пакетов программного обеспечения для управления, таких как MOM , SCCM , ADS, HP OpenView for Windows (HPOV), BMC Software и CA, Inc., поддерживают WMI и способны получать и предоставлять информацию WMI через различные пользовательские интерфейсы . Это позволяет администраторам и операторам, не умеющим писать сценарии или программировать поверх WMI, пользоваться преимуществами WMI, даже не изучая его. Однако, если они захотят, поскольку WMI поддерживает сценарии, это дает им возможность использовать информацию WMI из сценариев или из любого программного обеспечения для управления предприятием, поддерживающего WMI .

Для тех, кто хочет разработать одного или нескольких поставщиков WMI, WMI предлагает множество готовых функций. Вот наиболее важные преимущества:

  1. Интерфейсы автоматизации:
    Поскольку WMI поставляется с набором готовых к использованию интерфейсов автоматизации, все функции управления, поддерживаемые поставщиком WMI и его набором классов, получают бесплатную поддержку сценариев из коробки. Помимо проектирования классов WMI и разработки поставщиков, группам разработки и тестирования Microsoft не требуется создавать, проверять или тестировать модель сценариев, поскольку она уже доступна в WMI.
  2. .NET : Интерфейсы управления
    Потому что System.Management пространство имен [7] опирается на существующую систему COM / DCOM , созданный поставщик WMI и его набор классов WMI становятся автоматически доступными для всех приложений .NET независимо от используемого языка (например, C# , VB.NET ). Помимо проектирования классов WMI и разработки поставщиков, например, для сценариев, группам разработки и тестирования Microsoft не требуется создавать, проверять и тестировать новые сборки для поддержки нового пространства имен в .NET Framework, поскольку эта поддержка уже доступна в WMI для бесплатно.
  3. Программные интерфейсы C/C++ COM/DCOM:
    Как и большинство компонентов Windows, программисты COM / DCOM могут использовать возможности поставщика, который они разрабатывают, на уровне интерфейсов COM/DCOM. Как и в предыдущих средах (сценарии и .NET Framework ), потребителю COM/DCOM просто необходимо взаимодействовать со стандартным набором COM-интерфейсов WMI, чтобы использовать возможности поставщика WMI и его набор поддерживаемых классов WMI. Чтобы сделать всю информацию управления доступной из собственных API, разработчику поставщика WMI достаточно взаимодействовать с набором предопределенных COM-интерфейсов WMI. Это автоматически сделает информацию управления доступной на уровне COM WMI. Более того, объектная модель интерфейса COM сценариев очень похожа на объектную модель интерфейса COM/DCOM, что позволяет разработчикам легко ознакомиться с опытом создания сценариев.
  4. Возможности удаленного взаимодействия через DCOM и SOAP :
    WMI — это нечто большее, чем просто предложение локальных возможностей COM, поскольку управление заключается в удаленном взаимодействии . WMI предлагает транспорт DCOM. Кроме того, транспорт SOAP будет доступен в Windows Server 2003 R2 благодаря инициативе WS-Management, возглавляемой Microsoft , Intel , Sun Microsystems и Dell . Эта инициатива позволяет удаленно запускать любые сценарии или использовать данные WMI через определенный набор интерфейсов, обрабатывающих запросы/ответы SOAP. Преимущество разработчика поставщика WMI заключается в том, что, когда он предоставляет все свои функции через WMI, служба удаленного управления Windows /WS-Management, в свою очередь, также может использовать эту информацию (встроенные объекты в экземплярах WMI не поддерживаются в Windows Server 2003 R2). однако цель для Vista). Все уровни WS-Management и сопоставление модели данных CIM с SOAP предоставляются бесплатно из решения WMI/WS-Management. В случае необходимости использования DCOM реализация DCOM требует наличия прокси- библиотеки DLL, развернутой на каждом клиентском компьютере. Поскольку WMI доступен в операционной системе Windows начиная с Windows 2000, эти проблемы устранены.
  5. Поддержка запросов:
    WMI предлагает поддержку WQL [8] запросы из коробки. Это означает, что если поставщик не предназначен для поддержки запросов, WMI поддерживает это, используя технику перечисления вне поставщика.
  6. Возможности троеборья:
    WMI предлагает возможность уведомлять подписчика о любом интересующем его событии. WMI использует язык запросов WMI (WQL) для отправки запросов о событиях WQL и определяет тип возвращаемых событий. Механизм обработки событий со всеми связанными с ним обратными вызовами является частью интерфейсов COM/DCOM и автоматизации WMI. Любой, кто напишет поставщика WMI, может бесплатно воспользоваться преимуществами этой функциональности для своих клиентов. Потребитель должен будет решить, как он хочет использовать информацию управления, предоставляемую поставщиком WMI и связанным с ним набором классов WMI.
  7. Генератор шаблонов кода:
    Чтобы ускорить процесс написания поставщика WMI, включая все интерфейсы COM/DCOM и соответствующие определения, группа WMI разработала мастер WMI ATL для создания шаблона кода, реализующего поставщика. Сгенерированный код основан на модели классов WMI, изначально разработанной разработчиком. Разработчик поставщика WMI сможет связать предварительно определенные интерфейсы COM/DCOM для поставщика WMI с его набором собственных API-интерфейсов, получая информацию управления для предоставления. Упражнение заключается в заполнении «пробелов» в коде провайдера для создания нужной логики интерфейса.
  8. Предсказуемость:
    Предсказуемость является важной проблемой для ИТ-специалистов, поскольку она определяет способность человека, имеющего опыт работы с набором интерфейсов, управляющих компонентом Windows, сразу же, интуитивно, применить эти знания к любому другому управляемому компоненту Windows, не изучая все заново с нуля. Предсказуемость для клиента является реальным преимуществом, поскольку она увеличивает возврат инвестиций ( ROI ). Человек, оказавшийся в такой ситуации, просто ожидает, что все будет работать так же, исходя из своего предыдущего опыта. Постоянное увеличение количества интерфейсов программирования/скриптов COM оказывает огромное влияние на предсказуемость, поскольку это затрудняет для клиентов автоматизацию, управление Windows и использование существующих знаний. WMI с CIM решают эту проблему, всегда предоставляя одну и ту же объектную модель программирования (COM/DCOM, Automation, .NET), независимо от управляемого объекта.
  9. Защитите существующие инвестиции клиентов:
    Защита инвестиций клиентов и партнеров мотивирует клиентов инвестировать в технологии. Поскольку в последние годы Microsoft действительно много инвестировала в создание поставщиков WMI, клиенты и партнеры инвестировали в инструменты, использующие возможности Windows WMI. Поэтому они, естественно, продолжают использовать эти возможности вместо того, чтобы использовать новый набор конкретных интерфейсов для каждого управляемого компонента Windows. Конкретный набор интерфейсов означает наличие определенного набора агентов или программного обеспечения собственной разработки на основе новой модели или набора интерфейсов, специально предназначенных для компонента или технологии. Используя возможности WMI сегодня, клиенты и партнеры могут извлечь выгоду из инвестиций, сделанных в прошлом, одновременно минимизируя свои затраты на разработки, обучение и новые открытия. Это также окажет большое влияние на стабильность и надежность их инфраструктуры, поскольку они продолжат использовать существующую реализацию с улучшенной технологией.
  10. Предоставьте логичную и унифицированную модель администрирования:
    Как кратко описано ранее во введении, эта модель основана на отраслевом стандарте CIM, определенном DMTF ( https://www.dmtf.org/ ). Схема на основе классов CIM определяется консорциумом конструкторов и разработчиков программного обеспечения, отвечающим требованиям отрасли. Это означает, что не только Microsoft использует возможности WMI, но и любые другие сторонние конструкторы или разработчики пишут свой собственный код, соответствующий модели. Например, Intel делает это для некоторых своих сетевых драйверов и программного обеспечения. HP использует существующих поставщиков WMI и внедряет собственных поставщиков WMI в свое программное обеспечение HP Open View Enterprise Management . IBM использует WMI из пакета управления Tivoli , MOM и SMS также используют и предоставляют информацию WMI. Наконец, Windows XP SP2 использует WMI для получения информации о состоянии от антивирусного программного обеспечения и брандмауэров.

Инструменты WMI

[ редактировать ]

Некоторые инструменты WMI также могут быть полезны на этапах проектирования и разработки. Эти инструменты:

  • Компилятор MOF (MOFComp.exe). Компилятор формата управляемых объектов (MOF) анализирует файл, содержащий операторы формата управляемых объектов, и добавляет классы и экземпляры классов, определенные в файле, в репозиторий CIM. Формат MOF — это особый синтаксис, определяющий представление класса CIM в файле ASCII (например, MIB для SNMP — это то же самое, что файлы MOF для CIM). MOFComp.exe включен в каждую установку WMI. Каждое определение, существующее в репозитории CIM, изначально определяется в файле MOF. Файлы MOF расположены в %SystemRoot%\System32\WBEM. Во время установки WMI они загружаются в репозиторий CIM.
  • Инструменты администрирования WMI. Инструменты администрирования WMI состоят из четырех инструментов: WMI CIM Studio, обозреватель объектов WMI, регистрация событий WMI и средство просмотра событий WMI. Самым важным инструментом для разработчика поставщика WMI является WMI CIM Studio, поскольку он помогает при первоначальном создании классов WMI в репозитории CIM. Он использует веб-интерфейс для отображения информации и полагается на набор компонентов ActiveX , установленных в системе при первом запуске. WMI CIM Studio предоставляет возможность:
    • Подключитесь к выбранной системе и просмотрите репозиторий CIM в любом доступном пространстве имен.
    • Ищите классы по их имени, по их описаниям или по именам свойств.
    • Просмотрите свойства, методы и ассоциации, относящиеся к данному классу.
    • Посмотреть экземпляры, доступные для данного класса исследуемой системы.
    • Выполняйте запросы на языке WQL.
    • Создайте файл MOF на основе выбранных классов.
    • Скомпилируйте файл MOF, чтобы загрузить его в репозиторий CIM.
  • WinMgmt.exe: WinMgmt.exe не является инструментом; это исполняемый файл , реализующий службу WMI Core. В семействе операционных систем Windows NT WMI работает как служба. На компьютерах под управлением Windows 98, Windows 95 или Windows Me WMI работает как приложение. В семействе операционных систем Windows NT этот исполняемый файл также можно запускать как приложение, и в этом случае исполняемый файл запускается в контексте текущего пользователя. Для этого службу сначала необходимо остановить WMI. Исполняемый файл поддерживает некоторые параметры , которые могут быть полезны при запуске WMI как службы или приложения. Разработчикам поставщиков WMI, которые могут захотеть отладить своих поставщиков, по сути, необходимо запустить службу WMI как приложение. [9]
  • WBEMTest.exe: WBEMTest.exe — это инструмент тестирования WMI, поставляемый вместе с WMI. Этот инструмент позволяет администратору или разработчику выполнять большинство задач из графического интерфейса, который WMI предоставляет на уровне API . Хотя этот инструмент доступен во всех операционных системах на базе Windows NT, он официально не поддерживается Microsoft. WBEMTest предоставляет возможность:
    • Перечисляйте, открывайте, создавайте и удаляйте классы.
    • Перечисляйте, открывайте, создавайте и удаляйте экземпляры классов.
    • Выберите пространство имен .
    • Выполнение запросов к данным и событиям.
    • Выполнять методы, связанные с классами или экземплярами.
    • Выполняйте каждую операцию WMI асинхронно, синхронно или полуасинхронно.
wmic
Разработчик(и) Майкрософт
Операционная система Microsoft Windows
Тип Команда
Лицензия Собственное коммерческое программное обеспечение
Веб-сайт документы .microsoft /en-нас /Windows-сервер /администрация /Windows-команды /wmic
  • Инструмент командной строки WMI (WMIC): WMIC — это инструмент командной строки, предназначенный для упрощения поиска информации WMI о системе с помощью некоторых простых ключевых слов (псевдонимов). WMIC.exe доступен во всех версиях Windows, начиная с Windows XP. Ввод текста wmic /? в командной строке отображается полный список переключателей и ключевых слов. (В Windows 11 wmic /? отображается сообщение «WMIC устарел», за которым следует текст справки.)
    • Существует порт инструмента командной строки WMI для Linux, написанный на Python и основанный на Samba4, который называется wmi-client[10]
  • WBEMDump.exe: WBEMDump — это инструмент, поставляемый вместе с Platform SDK . Этот инструмент командной строки поставляется с собственным Visual C++ проектом . Инструмент может отображать классы репозитория CIM, экземпляры или и то, и другое. Можно получить ту же информацию, что и полученную с помощью WMIC. WBEMDump.exe требует более конкретных знаний о WMI, поскольку он не абстрагирует WMI как WMIC. Однако он работает под Windows NT 4.0 и Windows 2000. Также возможно выполнять методы, предоставляемые классами или экземплярами. Даже если это не стандартный инструмент WMI, поставляемый вместе с установкой системы, этот инструмент может быть весьма полезен для изучения репозитория CIM и функций WMI.
  • WMIDiag.vbs: Инструмент диагностики WMI — это VBScript, который можно загрузить с сайта Microsoft здесь . Это инструмент для тестирования и проверки WMI в Windows 2000 и более поздних версиях. Загрузка включает в себя довольно подробную документацию, и инструмент поддерживает множество переключателей. При запуске он создает до четырех текстовых файлов, в которых: перечисляются предпринятые шаги (файл LOG), обзор результатов (файл REPORT), файл статистики (в формате значений, разделенных запятыми) и, при необходимости, список файлов поставщики, зарегистрированные на машине (ПРОВАЙДЕРЫ, также в формате значений, разделенных запятыми). Создаваемый файл отчета включает список выявленных проблем и возможные способы их устранения.
  • WMI Explorer: Инструмент WMI Explorer — это бесплатная программа с открытым исходным кодом, которую можно загрузить здесь , и представляет собой инструмент для перечисления и запроса поставщиков WMI в графическом пользовательском интерфейсе .

Пример беспроводной сети

[ редактировать ]

В .NET Framework класс ManagementClass представляет класс управления общей информационной модели (CIM). Класс WMI может быть Win32_LogicalDisk в случае жесткого диска или Win32_Process, например, запущенная программа типа Notepad.exe.

Этот пример показывает, как MSNdis_80211_ServiceSetIdentifier Класс WMI используется для поиска SSID сети Wi-Fi , к которой в данный момент подключена система, на языке C#:

ManagementClass mc = new ManagementClass("root\\WMI", "MSNdis_80211_ServiceSetIdentifier", null);
ManagementObjectCollection moc = mc.GetInstances();

foreach (ManagementObject mo in moc)
{
    string wlanCard = (string)mo["InstanceName"];
    bool active;
    if (!bool.TryParse((string)mo["Active"], out active))
    {
       active = false;
    }
    byte[] ssid = (byte[])mo["Ndis80211SsId"];
}

The MSNdis_80211_ServiceSetIdentifier Класс WMI поддерживается только в Windows XP и Windows Server 2003.

Расширения драйвера WMI

[ редактировать ]

Расширения WMI для WDM уровня ядра, предоставляют инструменты такие как публикация информации, настройка параметров устройства, предоставление уведомлений о событиях из драйверов устройств и позволяют администраторам устанавливать безопасность данных через поставщика WMI, известного как поставщик WDM . Расширения являются частью архитектуры WDM; однако они имеют широкую полезность и могут использоваться и с другими типами драйверов (такими как SCSI и NDIS ).

Служба расширений драйверов WMI отслеживает все драйверы и поставщики трассировки событий, которые настроены на публикацию информации WMI или трассировки событий. Данные об оборудовании предоставляются посредством драйверов, предназначенных для расширений WMI для WDM. Расширения WMI для WDM предлагают набор интерфейсов драйверов устройств Windows для инструментирования данных в моделях драйверов, встроенных в Windows, поэтому OEM-производители и IHV могут легко расширить набор инструментальных данных и повысить ценность аппаратного/программного решения. Однако расширения драйверов WMI не поддерживаются Windows Vista и более поздними операционными системами. [11]

См. также

[ редактировать ]
  1. ^ «Распространяемый пакет WMI для Windows NT» . microsoft.com . Архивировано из оригинала 24 февраля 2010 года . Проверено 4 мая 2018 г.
  2. ^ «Распространяемый пакет WMI для Windows 95 и Windows 98» . microsoft.com . Архивировано из оригинала 23 апреля 2007 года . Проверено 4 мая 2018 г.
  3. ^ «Описание утилиты командной строки инструментария управления Windows (WMI) (Wmic.exe)» . Архивировано из оригинала 2 мая 2007 г.
  4. ^ «WMIC: утилита командной строки WMI» . Майкрософт. 8 марта 2023 г. Архивировано из оригинала 14 октября 2023 г.
  5. ^ «Управление клиентом Windows Vista» . microsoft.com . Архивировано из оригинала 3 марта 2016 года . Проверено 4 мая 2018 г.
  6. ^ «Поставщики WMI, поддерживаемые в Windows 10» . Майкрософт . 25 июня 2017 года. Архивировано из оригинала 30 сентября 2018 года . Проверено 30 сентября 2018 г.
  7. ^ «Пространство имен System.Management» . msdn2.microsoft.com . Архивировано из оригинала 16 апреля 2008 года . Проверено 4 мая 2018 г.
  8. ^ «Язык запросов WMI (WQL) через PowerShell» . ravichaganti.com . 1 мая 2011 г. Архивировано из оригинала 12 октября 2017 г. Проверено 4 мая 2018 г.
  9. ^ «Задачи WMI: компьютерное программное обеспечение (Windows)» . msdn2.microsoft.com . Архивировано из оригинала 6 апреля 2008 года . Проверено 4 мая 2018 г.
  10. ^ Д'Вайн, Ронда. «Убунту — Ошибка» . packages.ubuntu.com . Архивировано из оригинала 2 мая 2017 года . Проверено 4 мая 2018 г.
  11. ^ «История разработчиков серверов Windows Vista и Windows Longhorn: кулинарная книга по совместимости приложений» . msdn2.microsoft.com . Архивировано из оригинала 21 апреля 2008 года . Проверено 4 мая 2018 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 38a524c112aa657a341e4aaf0e95b2f9__1722586500
URL1:https://arc.ask3.ru/arc/aa/38/f9/38a524c112aa657a341e4aaf0e95b2f9.html
Заголовок, (Title) документа по адресу, URL1:
Windows Management Instrumentation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)