about_WMI_Cmdlets
Краткое описание
Содержит общие сведения об инструментарии управления Windows (WMI) и Windows PowerShell.
Подробное описание
В этом разделе содержатся сведения о технологии WMI, командлетах WMI для Windows PowerShell, удаленном взаимодействии на основе WMI, акселераторах WMI и устранении неполадок WMI. В этом разделе также содержатся ссылки на дополнительные сведения о WMI.
О WMI
Инструментарий управления Windows (WMI) разработан корпорацией Майкрософт в рамках отраслевой инициативы управления предприятием через Интернет (WBEM), целью которой является создание стандартной технологии получения доступа к информации по управлению в среде предприятия. В инструментарии WMI используется модель CIM — отраслевой стандарт, служащий для представления систем, приложений, сетей, устройств и других управляемых компонентов. Модель CIM разработана и обслуживается организацией Distributed Management Task Force (DMTF). WMI можно использовать для управления локальными и удаленными компьютерами. Например, для выполнения следующих действий можно использовать WMI:
- Запустите процесс на удаленном компьютере.
- Перезагрузите компьютер удаленно.
- Получите список приложений, установленных на локальном или удаленном компьютере.
- Запрос журналов событий Windows на локальном или удаленном компьютере.
КОМАНДЛЕТЫ WMI ДЛЯ WINDOWS POWERSHELL
Windows PowerShell реализует функции WMI с помощью набора командлетов, доступных в Windows PowerShell по умолчанию. Эти командлеты можно использовать для выполнения комплексных задач, необходимых для управления локальными и удаленными компьютерами.
Включены следующие командлеты WMI.
Командлет | Description |
---|---|
Get-WmiObject | Возвращает экземпляры классов или сведений WMI |
о доступных классах. | |
Invoke-WmiMethod | Вызывает методы WMI. |
Register-WmiEvent | Подписывается на событие WMI. |
Remove-WmiObject | Удаляет классы и экземпляры WMI. |
Set-WmiInstance | Создает или изменяет экземпляры классов WMI. |
ПРИМЕРЫ КОМАНД
Следующая команда отображает сведения BIOS для локального компьютера.
C:\PS> get-wmiobject win32_bios | format-list *
Следующая команда отображает сведения о службе WinRM для трех удаленных компьютеров.
$wql = "select * from win32_service where name='WinRM'"
get-wmiobject -query $wql -computername server01, server01, server03
Следующая более сложная команда завершает все экземпляры программы.
C:\PS> notepad.exe
C:\PS> $wql = "select * from win32_process where name='notepad.exe'"
C:\PS> $np = get-wmiobject -query $wql
C:\PS> $np | remove-wmiobject
УДАЛЕННОЕ ВЗАИМОДЕЙСТВИЕ НА ОСНОВЕ WMI
Хотя возможность управления локальной системой с помощью WMI полезна, это возможности удаленного взаимодействия, которые делают WMI мощным средством администрирования. WMI использует объектную модель распределенных компонентов Майкрософт (DCOM) для подключения к системам и управления ими. Возможно, потребуется настроить некоторые системы, чтобы разрешить подключения DCOM. Параметры брандмауэра и заблокированные разрешения DCOM могут блокировать возможность удаленного управления системами WMI.
АКСЕЛЕРАТОРЫ ТИПОВ WMI
Windows PowerShell включает акселераторы типов WMI. Эти акселераторы типов WMI (сочетания клавиш) позволяют более прямой доступ к объектам WMI, чем подход акселератора, отличного от типа.
В WMI поддерживаются следующие акселераторы типов:
[WMISEARCHER] — ярлык для поиска объектов WMI.
[WMICLASS] — ярлык для доступа к статическим свойствам и методам класса.
[WMI] — ярлык для получения одного экземпляра класса.
[WMISEARCHER] — это акселератор типов для ManagementObjectSearcher. Он может занять строковый конструктор, чтобы создать средство поиска, которое можно затем выполнить GET().
Например:
PS> $s = [WmiSearcher]'Select * from Win32_Process where Handlecount > 1000'
PS> $s.Get() |sort handlecount |ft handlecount,__path,name -auto
count __PATH name
----- ------ ----
1105 \\SERVER01\root\cimv2:Win32_Process.Handle="3724" PowerShell...
1132 \\SERVER01\root\cimv2:Win32_Process.Handle="1388" winlogon.exe
1495 \\SERVER01\root\cimv2:Win32_Process.Handle="2852" iexplore.exe
1699 \\SERVER01\root\cimv2:Win32_Process.Handle="1204" OUTLOOK.EXE
1719 \\SERVER01\root\cimv2:Win32_Process.Handle="1912" iexplore.exe
2579 \\SERVER01\root\cimv2:Win32_Process.Handle="1768" svchost.exe
[WMICLASS] — это акселератор типов для ManagementClass. У него есть строковый конструктор, который принимает локальный или абсолютный путь WMI к классу WMI и возвращает объект, привязанный к этому классу.
Например:
PS> $c = [WMICLASS]"root\cimv2:WIn32_Process"
PS> $c |fl *
Name : Win32_Process
__GENUS : 1
__CLASS : Win32_Process
__SUPERCLASS : CIM_Process
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_Process
__PROPERTY_COUNT : 45
__DERIVATION : {CIM_Process, CIM_LogicalElement,
CIM_ManagedSystemElement}
__SERVER : SERVER01
__NAMESPACE : ROOT\cimv2
__PATH : \\SERVER01\ROOT\cimv2:Win32_Process
[WMI] — это акселератор типов для ManagementObject. Это имеет строковый конструктор, который принимает локальный или абсолютный путь WMI к экземпляру WMI и возвращает объект, привязанный к этому экземпляру.
Например:
PS> $p = [WMI]'\\SERVER01\root\cimv2:Win32_Process.Handle="1204"'
PS> $p.Name
OUTLOOK.EXE
УСТРАНЕНИЕ НЕПОЛАДОК WMI
Следующие проблемы являются наиболее распространенными проблемами, которые могут возникнуть при попытке подключения к удаленному компьютеру.
Проблема 1. Удаленный компьютер не подключен к сети.
Если компьютер находится в автономном режиме, вы не сможете подключиться к нему с помощью WMI. Может появиться следующее сообщение об ошибке:
Remote server machine does not exist or is unavailable
Если вы получите это сообщение об ошибке, убедитесь, что компьютер подключен к сети. Попробуйте проверить связь с удаленным компьютером.
Проблема 2. У вас нет прав локального администратора на удаленном компьютере.
Для удаленного использования WMI необходимо иметь права локального администратора на удаленном компьютере. В противном случае доступ к компьютеру будет запрещен.
Чтобы проверить безопасность пространства имен, выполните следующее:
- Нажмите кнопку "Пуск", щелкните правой кнопкой мыши "Мой компьютер" и выберите пункт "Управление".
- В разделе "Управление компьютерами" разверните службы и приложения, щелкните правой кнопкой мыши элемент управления WMI и выберите пункт "Свойства".
- В диалоговом окне Свойства: элемент управления WMI перейдите на вкладку Безопасность .
Проблема 3. Брандмауэр блокирует доступ к удаленному компьютеру.
WMI использует протоколы DCOM (распределенный COM) и RPC (удаленный вызов процедур) для обхода сети. По умолчанию многие брандмауэры блокируют трафик DCOM и RPC. Если брандмауэр блокирует эти протоколы, подключение завершится ошибкой. Например, брандмауэр Windows в Microsoft Windows XP с пакетом обновления 2 (SP2) настроен для автоматического блокирования всего неопрошенного сетевого трафика, включая DCOM и WMI. В конфигурации по умолчанию брандмауэр Windows отклоняет входящий запрос WMI, и вы получите следующее сообщение об ошибке:
Remote server machine does not exist or is unavailable
См. также
PowerShell