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

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

Инструментарий управления Windows (WMI ) состоит из набора расширений для Модель драйвера Windows, которая предоставляет интерфейс операционной системы, через который оснащенные компоненты предоставляют информацию и уведомления. WMI - это реализация Microsoft стандартов Web-ориентированного управления предприятием (WBEM) и Common Information Model (CIM) из задачи Distributed Management Task. Принудительно (DMTF).

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

Microsoft также предоставляет интерфейс командной строки для WMI, называемый Командная строка инструментария управления Windows (WMIC ).

Содержание
  • 1 Назначение WMI
  • 2 Процесс разработки
  • 3 Важность поставщиков WMI
  • 4 Функции
  • 5 Инструменты WMI
  • 6 Пример беспроводной сети
  • 7 Расширения драйвера WMI
  • 8 Ссылки
  • 9 Внешние ссылки
Назначение WMI

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

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

Поскольку 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:

  • В Windows NT 4.0 у Microsoft было примерно 15 поставщиков WMI, доступных после установки WMI
  • Когда была выпущена Windows 2000, было 29 поставщиков WMI как часть установки операционной системы
  • С выпуском Windows Server 2003 Microsoft включала в платформа более 80 поставщиков WMI
  • Windows Vista включает 13 новых поставщиков WMI, в то время как их число приближается к 100 во всех
  • Windows Server 2008 включает больше поставщиков, включая поставщиков для IIS 7, PowerShell и виртуализация
  • Windows 10 включает 47 поставщиков для службы Mobile Device Management (MDM).

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

Из-за постоянного увеличения доступа к управляющим данным через WMI в Windows люди, работающие в области IT управления системами, начали разрабатывать сценарии и процедуры автоматизации на основе WMI. Помимо потребностей в написании сценариев, большинство ведущих пакетов программного обеспечения для управления, таких как MOM, SCCM, ADS, HP OpenView для 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 опирается на существующую сеть 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. Это автоматически сделает управляющую информацию доступной на уровне WMI COM. Более того, объектная модель интерфейса COM для создания сценариев очень похожа на объектную модель интерфейса COM / DCOM, что упрощает для разработчиков знакомство с опытом создания сценариев.
  4. Возможности удаленного взаимодействия через DCOM и SOAP :. Больше, чем просто предложение локальных возможностей COM, поскольку управление - это удаленное взаимодействие, WMI предлагает транспорт DCOM. Кроме того, транспорт SOAP будет доступен в Windows Server 2003 R2в рамках инициативы WS-Management, возглавляемой Microsoft, Intel, Sun Microsystems и Dell. Эта инициатива позволяет запускать любые сценарии удаленно или использовать данные WMI через определенный набор интерфейсов, обрабатывающих запросы / ответы SOAP. Преимущество разработчика WMI-провайдера заключается в том, что когда он предоставляет все свои функции через WMI, Windows Remote Management / 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 из коробки. Это означает, что, если поставщик не предназначен для поддержки запросов, WMI поддерживает его, используя метод перечисления вне поставщика.
  6. Возможности обработки событий:. WMI предлагает возможность уведомить подписчика о любом событии, которое он WMI использует язык запросов WMI (WQL) для отправки запросов событий WQL и определяет тип возвращаемых событий. Механизм событий со всеми связанными обратными вызовами является частью WMI COM / DCOM и интерфейсов автоматизации. Любой, кто пишет поставщика 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, поставщики, клиенты и партнеры вложили средства в инструменты, использующие возможности WMI Windows. Поэтому они, естественно, продолжают использовать эти возможности вместо того, чтобы использовать новый набор конкретных интерфейсов для каждого управляемого компонента Windows. Конкретный набор интерфейсов означает наличие определенного набора агентов или программного обеспечения собственной разработки, основанного на новой модели или наборе интерфейсов, специально предназначенных для компонента или технологии. Используя возможности WMI сегодня, заказчики и партнеры могут повысить эффективность вложений в работу, сделанных в прошлом, при минимизации затрат на разработки, обучение и новые открытия. Это также окажет большое влияние на стабильность и надежность их инфраструктуры, поскольку они будут продолжать использовать существующую реализацию с улучшенной технологией.
  10. Обеспечить логическую и унифицированную модель администрирования:. Как кратко описано ранее в Во введении эта модель основана на отраслевом стандарте CIM, определенном DMTF (http://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 как приложение.
  • WBEMTest.exe: WBEMTest.exe - это средство тестирования WMI, которое поставляется с WMI. Этот инструмент позволяет администратору или разработчику выполнять большинство задач с помощью графического интерфейса, который WMI предоставляет на уровне API. Хотя этот инструмент доступен во всех операционных системах на базе Windows NT, он официально не поддерживается Microsoft. WBEMTest предоставляет возможность:
    • Перечислять, открывать, создавать и удалять классы.
    • Перечислять, открывать, создавать и удалять экземпляры классов.
    • Выбирать пространство имен.
    • Выполнять запросы данных и событий.
    • Выполнять методы, связанные с классами или экземплярами.
    • Выполнять каждую операцию WMI асинхронно, синхронно или полуасинхронно.
wmic
Разработчик (s) Microsoft
Операционная система Microsoft Windows
Тип Команда
Лицензия Собственное коммерческое программное обеспечение
Веб-сайтdocs.microsoft.com / en-us / windows-server / Administration / windows-commands / wmic
  • Инструмент командной строки WMI (WMIC): WMIC - это инструмент командной строки, предназначенный для облегчения поиска информации WMI о системе с помощью некоторых простых ключевых слов (псевдонимов). WMIC.exe доступен только в Windows XP Professional, Windows Server 2003, Windows Vista, Windows 7 и Windows Server 2008. Набрав «WMIC /?» из командной строки доступен полный список переключателей и зарезервированных ключевых слов.
    • Существует порт Linux для инструмента командной строки WMI, написанный на Python, на основе Samba4 под названием 'wmi-client'
  • WBEMDump.exe: WBEMDump - это инструмент, поставляемый с Платформа 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), файл статистики (в формате значений, разделенных запятыми) и, возможно, список файлов провайдеры, зарегистрированные на машине (PROVIDERS, также в формате значений, разделенных запятыми). Созданный файл отчета включает список выявленных проблем и возможных способов их устранения.
  • WMI Explorer: WMI Explorer Tool - это свободно доступная программа с открытым исходным кодом, которую можно загрузить здесь и инструмент для перечисления и запроса поставщиков WMI в графическом пользовательском интерфейсе.
Пример беспроводной сети

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

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

ManagementClass mc = новый ManagementClass ("root \\ WMI", "MSNdis_80211_ServiceSetIdentifier", null); ManagementObjectCollection moc = mc.GetInstances (); foreach (ManagementObject mo в moc) {строка wlanCard = (строка) mo ["InstanceName"]; bool active; if (! bool.TryParse ((строка) mo ["Активный"], вне активного)) {active = false; } byte ssid = (byte) mo ["Ndis80211SsId"]; }

Класс WMI «MSNdis_80211_ServiceSetIdentifier» поддерживается только в 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 и более поздними операционными системами.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-21 10:45:47
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте