Использование wmi

Предоставление данных WMI

В следующей процедуре описывается, как предоставить данные WMI путем записи поставщика.

Передача данных в WMI путем записи поставщика

  • Определите тип поставщика для записи.

    Вы не можете написать поставщик WMI в VBScript. Однако вы можете использовать несколько других подходов к написанию поставщика WMI COM:

    • Использование мастера WMI ATL в Visual Studio.

      Этот подход создает неуправляемый поставщик COM. Дополнительные сведения см. в разделе «Добавление поставщика экземпляра WMI » и добавление поставщика событий WMI.

    • Использование COM непосредственно в любой интегрированной среде разработки.

      Этот подход создает неуправляемый поставщик COM.

    • Использование WMI в платформа .NET Framework для создания поставщика управляемого кода.

      Этот подход создает поставщик управляемого кода. Поставщики управляемого кода могут быть написаны на любом языке платформа .NET Framework, проще писать, чем поставщики COM WMI, и могут получать данные из классов на основе CIM WMI, таких как классы Win32. Однако поставщик WMI платформа .NET Framework имеет некоторые ограничения. Дополнительные сведения см. в разделе «Управление приложениями с помощью инструментария WMI».

    • Использование классов платформы поставщика не рекомендуется.

      Платформа поставщика заменена мастерами WMI ATL, напрямую с помощью COM или поставщиков платформа .NET Framework. Создание com-поставщика WMI с помощью классов платформы поставщика больше не рекомендуется. В следующей таблице перечислены разделы, описывающие использование поставщиков COM или платформа .NET Framework.

    Поставщик Раздел
    Поставщик COM в том же процессе, что и WMI Предоставление данных WMI
    Поставщик, отделяемый от COM Включение поставщика в приложение
    поставщик платформа .NET Framework в C# или Visual Basic.NET Управление приложениями с помощью WMI

Создание пространства имен SNMP

Пространство имен SNMP определяет представление сетевого устройства.

Примечание

Дополнительные сведения о поддержке и установке этого компонента в определенной операционной системе см. в разделе «Доступность компонентов WMI операционной системы».

В следующей процедуре описывается создание пространства имен SNMP WMI.

Создание пространства имен SNMP

  1. Создайте экземпляр системного класса __Namespace путем компиляции MOF-файла в формате управляемого объекта или с помощью COM API для WMI.

    Дополнительные сведения см. в разделе «Создание иерархий в WMI».

  2. Свяжите квалификаторы поставщика SNMP с определением пространства имен.

    Квалификаторы поставщика SNMP содержат сведения о контексте реализации и свойства транспорта, определяющие, как поставщик SNMP обращается к устройству SNMP. Дополнительные сведения см. в разделе «Квалификаторы», относящиеся к поставщику SNMP.

  3. Используйте программу командной строки mofcomp для загрузки кода MOF в репозиторий WMI.

    Дополнительные сведения см. в разделе компиляции MOF-файлов.

В следующем примере кода MOF определяется пространство имен \snmp с подмножеством квалификаторов, которые могут быть связаны с пространством имен SNMP.

Атрибуты сопоставления

Поставщик служб каталогов сопоставляет каждый атрибут класса Active Directory с одним свойством соответствующего класса WMI в соответствии с правилами в этом разделе. Как правило, поставщик служб каталогов присваивает свойству WMI имя управляемой версии значения LDAP-Display-Name атрибута Active Directory.

Если свойство Active Directory Is-Single-Valued имеет значение FALSE, это свойство WMI объединяется с оператором OR с CIM_FLAG_ARRAY

Обратите внимание, что каждое свойство помечается с помощью квалификатора VT_BSTRADSyntax. Он представляет базовый синтаксис Active Directory

В следующей таблице перечислены сопоставления синтаксиса Active Directory с типом данных свойства WMI.

Элемент Active Directory Тип данных WMI
Точка доступа CIM_STRING
Логическое CIM_BOOLEAN
Строка без учета регистра CIM_STRING
Строка с учетом регистра CIM_STRING
Различающееся имя CIM_STRING
DN-Binary Внедренный объект класса DN_With_Binary определен ниже.
DN-String Внедренный объект класса DN_With_String определен ниже.
Перечисления CIM_SINT32
Перечисления CIM_STRING
Целое число CIM_SINT32
LargeInteger CIM_STRING
Дескриптор безопасности Внедренный объект класса Uint8Array , определенный ниже.
Числовая строка CIM_STRING
Идентификатор объекта. CIM_STRING
Строка октета Внедренный объект класса Uint8Array , определенный ниже.
ИЛИ имя CIM_STRING
Presentation-Address Внедренный объект класса Uint8Array , определенный ниже.
Строка регистра печати CIM_STRING
Ссылка на реплику Внедренный объект класса Uint8Array , определенный ниже.
String(Sid) Внедренный объект класса Uint8Array , определенный ниже.
Time CIM_DATETIME
Время, закодированное в формате UTC CIM_DATETIME
Строка Юникода CIM_STRING

Синтаксис octet String, который ссылается на массив значений uint8 , представляет проблему при сопоставлении с WMI, так как WMI разрешает свойства типов uint8 и массивов uint8, тогда как Active Directory разрешает свойства типа Octet String, а также массивы Octet String.

В следующем примере показан класс поставщика служб каталогов, используемый для сопоставления массива свойств типа String Octet.

WMI сопоставляет все значения свойств Octet String Active Directory со встроенными экземплярами Uint8Array. Аналогичным образом WMI сопоставляет массивы octet String с массивами внедренных объектов Uint8Array .

В следующем примере показаны классы, сопоставленные WMI с значениями свойств DN-Binary и DN-String DS.

В следующей таблице показано, как WMI сопоставляет остальные свойства интерфейса атрибута Active Directory с квалификаторами свойств WMI.

Имя свойства атрибута Active Directory Квалификатор WMI Тип данных Сведения о сопоставлении
Синтаксис атрибутов AttributeSyntax VT_BSTR Сопоставлено со строковым представлением OID.
Общее имя CN VT_BSTR Сопоставлено со строковым значением.
Только система Система VT_BOOL Сопоставлено с логическим значением.

Примечание

WMI сопоставляет все квалификаторы Active Directory с использованием вкусов квалификатора.

Параметры контроля учетных записей

Фильтрация маркеров доступа контроля учетных записей (UAC) может повлиять на то, какие операции разрешены в пространствах имен WMI или какие данные возвращаются. В UAC все учетные записи в локальной группе администраторов выполняются с помощью стандартного маркера доступа пользователя, также известного как фильтрация маркеров доступа UAC. Учетная запись администратора может запускать скрипт с повышенными привилегиями — «Запуск от имени администратора».

Если вы не подключаетесь к встроенной учетной записи администратора, UAC влияет на подключения к удаленному компьютеру по-разному в зависимости от того, находятся ли два компьютера в домене или рабочей группе. Дополнительные сведения об UAC и удаленных подключениях см. в разделе «Контроль учетных записей пользователей» и WMI.

Классы производительности WMI

Например, объект NetworkInterface в Системном мониторе представлен в WMI классом Win32_PerfRawData_Tcpip_NetworkInterface для необработанных данных и классом Win32_PerfFormattedData_Tcpip_NetworkInterface для предварительно вычисляемых или отформатированных данных. Классы, производные от Win32_PerfRawData и из Win32_PerfFormattedData , должны использоваться с объектом обновления . В классах необработанных данных приложение или скрипт C++ должны выполнять вычисления, чтобы получить те же выходные данные, что и Perfmon.exe. Форматированные классы данных предоставляют предварительно вычисляемые данные. Дополнительные сведения о получении данных в приложениях C++ см. в разделе «Доступ к данным о производительности» в C++. Сведения о скриптах см. в разделе «Доступ к данным о производительности» в скрипте и обновлении данных WMI в скриптах.

В следующем примере кода VBScript используется Win32_PerfFormattedData_PerfProc_Process для получения данных о производительности для процесса простоя. Скрипт отображает те же данные, которые отображаются в Perfmon для счетчика времени процессора объекта Process. Вызов SWbemObjectEx.Refresh_ выполняет операцию обновления. Имейте в виду, что для получения базовых показателей данные должны обновляться сразу после аренды.

Классы счетчиков производительности также могут предоставлять статистические данные. Дополнительные сведения см. в разделе «Получение статистических данных о производительности».

Использование трассировки WMI на основе WPP

В Windows операционных системах, начиная с Windows Vista, WMI создает активный канал трассировки во время процесса загрузки. Имя канала — WMI_Trace_Session. В канал регистрируются только ошибки.

Windows препроцессор трассировки программного обеспечения (WPP) записывает сведения в двоичный файл. Чтобы прочитать файл, необходимо сначала преобразовать его в доступный для чтения текстовый формат. Для перевода используется средство с именем tracefmt.exe из пакета драйверов Windows (WDK). Для этого средства требуются сведения, хранящиеся в некоторых связанных файлах. Файлы находятся в каталоге %SystemRoot%\System32\wbem\tmf и имеют расширение TMF-файла. Для этого средства требуется один TMF-файл. Вы делаете этот файл одним, объединяя все TMF-файлы в другой TMF-файл. Дополнительные сведения о TMF-файлах см. в разделе «Файл форматирования сообщений трассировки».

После установки пакета драйверов Windows (WDK) для получения tracelog.exe и tracefmt.exe средств командной строки выполните следующие действия, чтобы собрать трассировку WMI на основе WPP.

Просмотр трассировки WMI на основе WPP

  1. Чтобы создать один TMF-файл, откройте окно командной строки с повышенными привилегиями и перейдите в каталог %SystemRoot%\System32\wbem\tmf.

  2. Введите copy /y %SystemRoot%\System32\wbem\tmf\*.tmf %SystemRoot%\System32\wbem\tmf\wmi.tmf. Будет создан файл с именем wmi.tmf, содержащий содержимое всех других файлов TMF.

  3. WMI_Trace_Session трассировки типа — очистка. Это приведет к очистке буферов WPP на диске.

  4. Набор типов TRACE_FORMAT_PREFIX = %8!04X!. %3!04X!. %3!04X!::%4!s! (%! COMPNAME!:%! FUNC !:%2!s!). Средство tracefmt добавляет некоторые сведения по умолчанию в каждое сообщение трассировки. Вы можете настроить сведения, включенные, задав переменную среды TRACE_FORMAT_PREFIX. Сведения об используемом синтаксисе см. в разделе «Префикс сообщения трассировки».

  5. Введите tracefmt -tmf %systemroot%\system32\wbem\tmf\wmi.tmf -o OUTPUT.TXT %systemroot%\system32\wbem\logs\WMITracing.log. При этом выполняется перевод из двоичного формата в доступный для чтения текстовый формат.

  6. Введите блокнот %systemroot%\system32\wbem\tmf\OUTPUT.TXT. Откроется файл трассировки в Блокнот.

Ниже приведены некоторые другие задачи, связанные с WPP, которые могут потребоваться выполнить.

Остановка трассировки WMI на основе WPP

Тип tracelog -stop WMI_Trace_Session.

Запуск трассировки WMI на основе WPP

Тип tracelog -start WMI_Trace_Session -guid #1FF6B227-2CA7-40f9-9A66-980EADAA602E -rt -level 5 -flag 0x7 -f MYTRACE. БЕН

Windows Vista. По умолчанию трассировка WMI на основе WPP имеет уровень 2, который включает только сообщения об ошибках. Чтобы включить информационные сообщения, задайте уровень 4. Все области WMI трассируются по умолчанию. Существует три отдельные области, которые можно отследить: Core (flag=0x1), ESS (flag=0x2) и Prov (flag=0x4). В приведенной выше команде запуска пометка 0x7 приводит к трассировке всех трех областей.

Windows 7. По умолчанию трассировка WMI на основе WPP отключена и установлена на уровне 0. Чтобы использовать трассировку WMI на основе WPP, эту функцию необходимо включить и установить в качестве уровня 2 для сообщений об ошибках или уровня 4 для сообщений об ошибках и информационных сообщениях.

Перечисление всех сеансов трассировки WPP

Тип tracelog -l.

Получение сведений о сеансе трассировки WMI WPP

Введите tracelog -l | findstr /i «wmi_trace».

Просмотр параметров сеанса трассировки WPP WMI

Тип tracelog -q WMI_Trace_Session.

CIMOM Параметры

Параметры CIMOM необходимо обновить, если удаленное подключение находится между компьютерами, у которых нет отношения доверия; в противном случае асинхронное подключение завершится ошибкой. Этот параметр не следует изменять для компьютеров в одном домене или в доверенных доменах.

Чтобы разрешить анонимные обратные вызовы, необходимо изменить следующую запись реестра:

HKEY_LOCAL_MACHINE\ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ\Microsoft\WBEM\CIMOM\AllowAnonymousCallback

               Тип данных

               REG\_DWORD

Если для значения AllowAnonymousCallback задано значение 0, служба WMI предотвращает анонимные обратные вызовы клиенту. Если значение равно 1, служба WMI разрешает анонимные обратные вызовы клиенту.

Фильтрация WMI для оборудования

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

  • Имен устройства- применимо если у вас есть стандарт именования устройств
  • Форм фактор оперативной памяти
  • Наличие батареи на устройстве

Меня привлекают два последних критерия, так как DNS-имя компьютера могут задать и неправильно, нельзя исключать человеческий фактор, а вот критерии оборудования уже сложно обмануть. Давайте создадим наш с вами WMI фильтр. Для этого откройте оснастку gpmc.msc (Управление групповой политикой). Перейдите в раздел «Фильтры WMI», щелкните по нему правым кликом и выберите пункт «Создать».

У вас откроется окно «Новый фильтр WMI», задаем ему имя и описание. После чего нам нужно добавить условия запроса.

Первым запросом мы будем искать все устройства на которых ФормФактор памяти равен 12.

Select * from Win32_PhysicalMemory WHERE (FormFactor = 12)

wmic memorychip get FormFactor

А вот запрос для выборки, только по ноутбукам:

Select * from Win32_PhysicalMemory WHERE (FormFactor != 12)

Цифра 12 будет означать, что перед вами тип памяти SODIM, если 8, то обычная DIMM на обычном стационарном компьютере.

Сохраняем наш запрос. Нажимаем еще раз кнопку «Добавить» и добавляем еще вот такой запрос, который будет проверять наличие на устройстве батареи:

Select * from Win32_Battery WHERE (BatteryStatus <> 0)

В приведенном выше запросе мы выбираем BatteryStatus из Win32_Battery. Если BatteryStatus не равен (<>) 0, запрос вернет значение TRUE. В итоге у меня два запроса WMI идут в фильтре, друг за другом.

Выберите объект групповой политики, для которого предназначен этот фильтр WMI.

Для этого в самом низу в пункте «Объект GPO связан со следующим фильтром WMI» и из всплывающего списка выберите созданный ранее фильтр.

На вопрос про изменение фильтра WMI нажмите «Да».

В итоге мы применили к групповой политике наш фильтр с определенными параметрами. Осталось его протестировать, как проверять применение WMI фильтра я рассказывал, советую ознакомиться, там было несколько методов.

Но бегло можно на ноутбуке запустить утилиту Gpresult /SCOPE COMPUTER /Z, и вы увидите, что либо был отказ применения политики из-за WMI фильтра или нет.

Хочу отметить, что возможности запросов с помощью которых вы можете проводить фильтрацию устройств, очень разнообразен и богат, и благодаря им вы решите много задач. На этом у меня все, с вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org.

Утилита WMI Filter Validation Utility

WMI Filter Validation Utility — Эта утилита была создана, чтобы помочь проверить, применяется ли определенный фильтр WMI к определенному компьютеру (или пользователю, вошедшему в систему на этом компьютере). Инструмент возвращает список фильтров WMI, определенных для данного домена, GPO, с которой они связаны, и запрос WMI, содержащийся в них. Если вы щелкнете правой кнопкой мыши по определенному фильтру, вы можете запустить мастер, который позволит вам подключиться к целевому компьютеру и выполнить запрос к компьютеру, чтобы определить, будет ли фильтр иметь значение true или false на этом конкретном компьютере (или пользователя вошедшего в систему). Если значение фильтра равно true, это означает, что объект групповой политики, связанный с этим фильтром, будет применен. Если фильтр оценивается как ложный, объект групповой политики не будет применяться. Это быстрый и простой способ, без необходимости запуска модели RSOP, определить применяется ли фильтр или нет. Инструмент также позволяет распечатывать список фильтров WMI, определенных в домене.

Скачать WMI Filter Validation Utility 1.1 можно на официальном сайте https://sdmsoftware.com/gpoguy/free-tools/library/wmi-filter-validation-utility/, но там от вас потребуется регистрация. Если не хотите, это делать, то можете загрузить WMI Filter Validation Utility у меня с сайта

Запускаете утилиту, обязательно от имени учетной записи. у которой есть права на доступ к нужному вам компьютеру. Напоминаю делается, это с зажатой клавишей Shift и правым кликом по исполняемому файлу, выбрав из контекстного меню пункт «Запуск от имени другого пользователя»

У вас откроется интерфейс WMI Filter Validation Utility. Чтобы получить все текущие фильтры WMI, вам необходимо нажать кнопку «Retrieve». В моем примете в списке появилась одна записи. Вы увидите имя фильтра, его описание, сам WQL запрос и применен ли он к политике, в моем случае да, под названием «WIFI профиль Pyatilistnik.Work».

Щелкаем по нужному фильтру Microsoft Windows WMI и нажимаем «Validate».

У вас откроется окно «Validate Wizard». От вас потребуется ввести DNS-имя или IP-адрес устройства. Так же хочу отметить оно должно у вас отвечать на PING пакеты иначе WMI Filter Validator не сможет отработать.

Если компьютер не будет доступен, то вы получите сообщение «Ping Failed: Make sure Host is running and avaliable».

Если все хорошо, то нажимаем «Validate Now».

И так, если данный WMI фильтр применим к вашему подопытному, и он соответствует всем его критериям, то вы увидите статус TRUE, если нет, то будет FALSE. TRUE показывает, что ваша выборка по критериям подходит для данного компьютера и к нему может быть применена групповая политика из фильтруемого GPO.

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

gpupdate /force gpresult /SCOPE COMPUTER /Z

После вывода команды, найдите раздел «Следующие политики GPO не были применены, так как они отфильтрованы» и видно, что в скобках есть (фильтр WMI).

На этом у меня все, в статье мы разобрали и научились проверять применение фильтров WMI к нужным компьютерам и серверам. С вами был Иван Семин. автор и создатель IT блога Pyatilistnik.org.

Настройка компьютера для удаленного подключения

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

  • Windows содержит ряд функций безопасности, которые могут блокировать доступ к скриптам в удаленных системах. Таким образом, перед вызовом WMI может потребоваться изменить active Directory системы и Windows параметры брандмауэра. Дополнительные сведения см. в разделе «Настройка удаленного подключения WMI » и устранение неполадок с удаленным WMI-подключением.

  • Для работы удаленного подключения необходимо включить правильные параметры DCOM. Изменение параметров DCOM может разрешить пользователям с низкими правами доступ к компьютеру для удаленного подключения. Дополнительные сведения см. в разделе «Защита удаленного WMI-подключения».

Кроме того, могут возникнуть некоторые обстоятельства, в которых может потребоваться запустить WMI, хотя фиксированный порт. Для этого вам также потребуется изменить параметры. Дополнительные сведения см. в разделе «Настройка фиксированного порта для WMI».

Переключатели

backupfilename<>

Позволяет WMI создать резервную копию репозитория в указанном имени файла. Аргумент имени файла должен содержать полный путь к расположению файла. Для этого процесса требуется блокировка записи в репозитории, чтобы операции записи в репозиторий приостанавливались до завершения процесса резервного копирования.

Если путь к файлу не указан, он помещается в каталог %Windir%\System32.

restorefilenameflag<><>

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

Аргумент флага должен иметь значение 1 (принудительное отключение пользователей и восстановление) или 0 (восстановление по умолчанию, если пользователи не подключены) и указывает режим восстановления.

/resyncperfwinmgmt-service-process-id<>

Регистрирует библиотеки производительности компьютера в WMI. Идентификатор WMI — это идентификатор процесса для службы WMI.

Требуется только в том случае, если классы монитора производительности не возвращают надежные результаты.

/standalonehost

Перемещает службу Winmgmt в автономный процесс Svchost с фиксированной конечной точкой DCOM. Конечная точка по умолчанию — «ncacn_ip_tcp.0.24158». Однако конечную точку можно изменить, запустив Dcomcnfg.exe. Дополнительные сведения о настройке фиксированного порта для WMI см. в разделе «Настройка фиксированного порта для WMI».

Аргумент уровня — это уровень проверки подлинности для процесса Svchost. WMI обычно выполняется как часть узла общей службы, и вы не можете увеличить уровень проверки подлинности только для WMI. Если уровень не указан, значение по умолчанию равно 4 (RPC_C_AUTHN_LEVEL_PKT или WbemAuthenticationLevelPkt).

WMI можно запускать более безопасно, увеличив уровень проверки подлинности до конфиденциальности пакетов (RPC_C_AUTHN_LEVEL_PKT_PRIVACY или WbemAuthenticationLevelPktPrivacy). Уровни проверки подлинности для Visual Basic и сценариев описаны в WbemAuthenticationLevelEnum. Сведения о C++см. в разделе «Настройка уровня безопасности процесса по умолчанию с помощью C++». Дополнительные сведения см. в разделе «Обслуживание безопасности WMI».

/sharedhost

Перемещает службу Winmgmt в общий процесс Svchost.

/verifyrepositorypath<>

Выполняет проверку согласованности в репозитории WMI. При добавлении параметра /verifyrepository без аргумента пути> выполняется проверка динамического< репозитория, используемого WMI. При указании аргумента пути можно проверить любую сохраненную копию репозитория. В этом случае аргумент пути должен содержать полный путь к сохраненной копии репозитория. Сохраненный репозиторий должен быть копией всей папки репозитория. Дополнительные сведения об ошибках, возвращаемых этой командой, см. в разделе «Примечания».

/salvagerepository

Выполняет проверку согласованности в репозитории WMI и при обнаружении несоответствия перестраивает репозиторий. Содержимое несогласованного репозитория объединяется в перестроенный репозиторий, если его можно прочитать. Операция спасения всегда работает с репозиторием, который сейчас использует служба WMI. Дополнительные сведения об ошибках, возвращаемых этой командой, см. в разделе «Примечания».

% MOF-файлов, содержащих инструкцию препроцессора автоматического восстановления #pragma , восстанавливаются в репозитории.

/resetrepository

Репозиторий сбрасывается до начального состояния при первой установке операционной системы. MOF-файлы, содержащие инструкцию препроцессора автоматического восстановления #pragma , восстанавливаются в репозитории.

Программирование с помощью WMI

Приложения или скрипты управления могут получать данные или выполнять операции с помощью инструментария WMI на различных языках. Дополнительные сведения см. в разделе «Аудитория разработчиков» Windows инструментирования управления.

Многие Windows функции связаны с поставщиками WMI, такими как поставщик данных конфигурации загрузки (BCD) или поставщик томов служба хранилища. Поставщики WMI реализуют функциональные возможности, описанные методами и свойствами классов WMI для управления связанными функциями Windows. Дополнительные сведения см. в разделе «Поставщики WMI » и классы WMI.

Дополнительные сведения о том, как написать поставщик для предоставления данных из нового оборудования или приложений, см. в разделе «Предоставление данных для WMI».

Дополнительные сведения о реализации этой технологии см. в разделе «Использование WMI».

В следующей таблице перечислены разделы, включенные в этот раздел.

Section Описание
Новые возможности WMI Новые возможности WMI.
Доступность компонентов WMI операционной системы Некоторые компоненты больше не доступны или доступны в качестве необязательной установки.
Архитектура WMI Приложение управления взаимодействует с WMI с помощью различных интерфейсов, таких как Visual Basic, C++, ODBC и ActiveX. Все интерфейсы WMI основаны на объектной модели компонентов (COM).
Общая информационная модель Языковая независимая модель программирования, использующая объектно-ориентированные методы для описания предприятия.
Формат управляемого объекта Формат, позволяющий создавать удобочитаемый человеком код, который операционная система может преобразовать в набор классов CIM. Вы можете использовать новые классы для моделирования и управления новыми технологиями для предприятия.
Контроль учетных записей пользователей и WMI Контроль учетных записей (UAC) влияет на то, какие данные WMI возвращаются, удаленный доступ и как должны выполняться скрипты. Дополнительные сведения см. в разделе начало работы с помощью контроля учетных записей пользователей в Windows Vista.
Доступ к защищаемым объектам WMI WMI использует стандартные объекты и процедуры безопасности Windows для управления и защиты доступа к защищаемым объектам, таким как пространства имен WMI, принтеры, службы и приложения DCOM.
Библиотеки производительности и WMI Данные из счетчиков производительности системы доступны в классах WMI.
Поддержка IPv6 и IPv4 в WMI Поставщик IP-маршрутов WMI и сетевые классы предоставляют данные для IPv4-адресов. Начиная с Windows Vista WMI также обеспечивает ограниченную поддержку сетевых возможностей IPv6.
Формат даты и времени WMI использует форматы даты и времени, определенные спецификацией CIM группы распределенного управления. Дополнительные сведения см. в разделе DMTF.
Создание скриптов для доступа к WMI Написание скриптов WMI для выполнения задач управления.
Устранение неполадок WMI При доступе к локальным или удаленным данным WMI в приложении или сценарии могут возникать ошибки, от отсутствующих классов до отказа в доступе. Поставщики также имеют параметры отладки и классы устранения неполадок.
Дополнительные сведения Веб-сайты, книги и статьи о WMI.

Установка поставщика SNMP

По умолчанию служба SNMP не включена. Вы можете включить службу SNMP и поставщик SNMP WMI с помощью панель управления. Имейте в виду, что служба SNMP должна быть включена и запущена для работы поставщика SNMP WMI.

Начиная с Windows Vista, используйте следующую процедуру для установки поставщика SNMP.

Установка поставщика SNMP

  1. В панель управления выберите «Программы».
  2. В разделе «Программы и компоненты» выберите «Включить или отключить функции Windows».
  3. В списке функций Windows прокрутите список вниз до функции SNMP и разверните список, чтобы просмотреть поставщик SNMP WMI.
  4. Установите флажок для поставщика SNMP WMI. Флажок для функции SNMP установлен автоматически, так как поставщику требуется SNMP.
  5. Нажмите кнопку ОК.
  6. В командной строке или меню «Пуск » запустите Services.msc и убедитесь, что служба SNMP запущена.

Например, .

Следующий пример кода скрипта — это запрос встроенного __InstanceCreationEvent класса событий Win32_NTLogEvent. Вы можете запустить эту программу в фоновом режиме и при наличии события появится сообщение. Если закрыть диалоговое окно » Ожидание событий «, программа перестает ожидать событий. Имейте в виду, что seSecurityPrivilege должен быть включен.

В следующем примере кода VBScript показано событие extrinsic __RegistryValueChangeEvent , которое определяет поставщик реестра. Скрипт создает временный потребитель с помощью вызова SWbemServices.ExecNotificationQueryAsync и получает события только при запуске скрипта. Следующий скрипт выполняется неограниченное время, пока компьютер не перезагрузится, WMI будет остановлен или скрипт остановлен. Чтобы остановить скрипт вручную, используйте диспетчер задач, чтобы остановить процесс. Чтобы остановить его программным способом, используйте метод Terminate в классе Win32_Process. Дополнительные сведения см. в разделе «Настройка безопасности для асинхронного вызова».

Другое использование памяти

Наконец, есть код, стеки, кучи и различные структуры данных фиксированного размера (например, кэш схем). Объем памяти, используемой LSASS, может отличаться в зависимости от нагрузки на компьютере. По мере увеличения числа выполняющихся потоков это число стеков памяти. В среднем LSASS использует 100 МБ до 300 МБ памяти для этих фиксированных компонентов. При установке большего объема ОЗУ LSASS может использовать больше ОЗУ и меньше виртуальной памяти.

Ограничение или минимизация количества программ на контроллере домена или добавление дополнительных ОЗУ при необходимости

Для оптимальной производительности LSASS принимает максимально возможное количество ОЗУ на заданном контроллере домена. LSASS откажется от того, что ОЗУ, как и другие процессы, запрашивают его. Идея заключается в оптимизации производительности LSASS, а также учета других процессов, которые могут выполняться на компьютере. Список программ, которые следует отслеживать, включает агенты мониторинга. Некоторые клиенты имеют отдельные агенты для различных серверных функций, которые могут использовать значительные ресурсы ОЗУ. Некоторые из них могут выдавать много запросов WMI, для которых у нас есть несколько сведений ниже.

Из-за этого и повышения производительности рекомендуется ограничить или свести к минимуму количество программ на контроллере домена. Если нет запросов на память, LSASS использует эту память для кэширования базы данных Active Directory и, следовательно, достижения оптимальной производительности.

Когда вы заметите, что контроллер домена имеет проблемы с производительностью, также следите за процессами с значительным использованием памяти. Это может привести к проблеме, необходимой для устранения неполадок. Они могут включать компоненты Майкрософт. Убедитесь, что вы следите за последними обновлениями обслуживания. Корпорация Майкрософт включает решения для чрезмерного использования памяти в рамках исправлений, которые также могут помочь повысить производительность контроллера домена.

Существуют встроенные средства ОС, которые могут потреблять значительный объем ОЗУ в зависимости от профиля использования:

Классы производительности WMI

Например, объект NetworkInterface в Системном мониторе представлен в WMI классом Win32_PerfRawData_Tcpip_NetworkInterface для необработанных данных и классом Win32_PerfFormattedData_Tcpip_NetworkInterface для предварительно вычисляемых или отформатированных данных. Классы, производные от Win32_PerfRawData и из Win32_PerfFormattedData , должны использоваться с объектом обновления . В классах необработанных данных приложение или скрипт C++ должны выполнять вычисления, чтобы получить те же выходные данные, что и Perfmon.exe. Форматированные классы данных предоставляют предварительно вычисляемые данные. Дополнительные сведения о получении данных в приложениях C++ см. в разделе «Доступ к данным о производительности» в C++. Сведения о скриптах см. в разделе «Доступ к данным о производительности» в скрипте и обновлении данных WMI в скриптах.

В следующем примере кода VBScript используется Win32_PerfFormattedData_PerfProc_Process для получения данных о производительности для процесса простоя. Скрипт отображает те же данные, которые отображаются в Perfmon для счетчика времени процессора объекта Process. Вызов SWbemObjectEx.Refresh_ выполняет операцию обновления. Имейте в виду, что для получения базовых показателей данные должны обновляться сразу после аренды.

Классы счетчиков производительности также могут предоставлять статистические данные. Дополнительные сведения см. в разделе «Получение статистических данных о производительности».

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: