Get-WmiObject
Получает экземпляры классов инструментария управления Windows (WMI) или сведения о доступных классах.
Синтаксис
Get-WmiObject
[-Class] <String>
[[-Property] <String[]>]
[-Filter <String>]
[-Amended]
[-DirectRead]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[[-Class] <String>]
[-Recurse]
[-Amended]
[-List]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-DirectRead]
-Query <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Описание
Начиная с PowerShell 3.0 этот командлет был заменен Get-CimInstance
.
Командлет Get-WmiObject
получает экземпляры классов WMI или сведения о доступных классах WMI. Чтобы указать удаленный компьютер, используйте параметр ComputerName . Если указан параметр List, командлет получает сведения о классах WMI, доступных в указанном пространстве имен. Если указан параметр запроса, командлет запускает инструкцию WMI-запроса WQL.
Командлет Get-WmiObject
не использует удаленное взаимодействие Windows PowerShell для выполнения удаленных операций.
Параметр ComputerName Get-WmiObject
командлета можно использовать, даже если компьютер не соответствует требованиям к удаленному взаимодействию Windows PowerShell или не настроен для удаленного взаимодействия в Windows PowerShell.
Начиная с Windows PowerShell 3.0, свойство __Server объекта, возвращающего Get-WmiObject
псевдоним PSComputerName. Это упрощает включение имени исходного компьютера во входные данные и отчеты.
Примеры
Пример 1. Получение процессов на локальном компьютере
В этом примере показано, как получить процессы на локальном компьютере.
Get-WmiObject -Class Win32_Process
Пример 2. Получение служб на удаленном компьютере
В этом примере службы получаются на удаленном компьютере. Параметр ComputerName указывает IP-адрес удаленного компьютера. По умолчанию текущая учетная запись пользователя должна быть членом группы "Администраторы " на удаленном компьютере.
Get-WmiObject -Class Win32_Service -ComputerName 10.1.4.62
Пример 3. Получение классов WMI в корневом или стандартном пространстве имен локального компьютера
Этот пример получает классы WMI в корневом или стандартном пространстве имен локального компьютера.
Get-WmiObject -Namespace "root/default" -List
Пример 4. Получение именованной службы на нескольких компьютерах
В этом примере служба WinRM получается на компьютерах, указанных значением параметра ComputerName .
Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 |
Format-List -Property PSComputerName, Name, ExitCode, Name, ProcessID, StartMode, State, Status
PSComputerName : SERVER01
Name : WinRM
ExitCode : 0
Name : WinRM
ProcessID : 844
StartMode : Auto
State : Running
Status : OK
PSComputerName : SERVER02
Name : WinRM
ExitCode : 0
Name : WinRM
ProcessID : 932
StartMode : Auto
State : Running
Status : OK
Оператор конвейера (|
) отправляет выходные данные командлету, который добавляет свойство PSComputerName в выходные данные Format-List
по умолчанию. PSComputerName — это псевдоним свойства __Server возвращаемых Get-WmiObject
объектов. Этот псевдоним появился в PowerShell 3.0.
Пример 5. Остановка службы на удаленном компьютере
В этом примере служба WinRM останавливается на удаленном компьютере. Get-WmiObject
возвращает экземпляр объекта службы WinRM на Server01. Затем он вызывает метод StopService класса WMI Win32_Service в этом объекте.
(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()
Это эквивалентно использованию командлета Stop-Service
.
Пример 6. Получение BIOS на локальном компьютере
В этом примере данные BIOS получаются с локального компьютера. Параметр Format-List
свойства командлета используется для отображения всех свойств возвращаемого объекта в списке. По умолчанию отображаются только подмножества свойств, определенных в Types.ps1xml
файле конфигурации.
Get-WmiObject -Class Win32_Bios | Format-List -Property *
Status : OK
Name : Phoenix ROM BIOS PLUS Version 1.10 A05
Caption : Phoenix ROM BIOS PLUS Version 1.10 A05
SMBIOSPresent : True
__GENUS : 2
__CLASS : Win32_BIOS
__SUPERCLASS : CIM_BIOSElement
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_BIOS.Name="Phoenix ROM BIOS PLUS Version 1.10
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_BIOSElement, CIM_SoftwareElement, CIM_LogicalElement,
__SERVER : Server01
__NAMESPACE : root\cimv2
__PATH : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
BiosCharacteristics : {7, 9, 10, 11...}
BIOSVersion : {DELL - 15, Phoenix ROM BIOS PLUS Version 1.10 A05}
BuildNumber :
CodeSet :
CurrentLanguage : en|US|iso8859-1
Description : Phoenix ROM BIOS PLUS Version 1.10 A05
IdentificationCode :
InstallableLanguages : 1
InstallDate :
LanguageEdition :
ListOfLanguages : {en|US|iso8859-1}
Manufacturer : Dell Inc.
OtherTargetOS :
PrimaryBIOS : True
ReleaseDate : 20101103000000.000000+000
SerialNumber : 8VDM9P1
SMBIOSBIOSVersion : A05
SMBIOSMajorVersion : 2
SMBIOSMinorVersion : 6
SoftwareElementID : Phoenix ROM BIOS PLUS Version 1.10 A05
SoftwareElementState : 3
TargetOperatingSystem : 0
Version : DELL - 15
Scope : System.Management.ManagementScope
Path : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
Options : System.Management.ObjectGetOptions
ClassPath : \\JUNE-PC\root\cimv2:Win32_BIOS
Properties : {BiosCharacteristics, BIOSVersion, BuildNumber, Caption...}
SystemProperties : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
Qualifiers : {dynamic, Locale, provider, UUID}
Site :
Container :
Пример 7. Получение служб на удаленном компьютере
В этом примере используется параметр Credential командлета Get-WmiObject
для получения служб на удаленном компьютере. Значение параметра Credential — имя учетной записи пользователя. Пользователю предлагается ввести пароль.
Get-WmiObject Win32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam
Примечание.
Учетные данные нельзя использовать при нацеливание на локальный компьютер.
Параметры
-Amended
Получает или задает значение, которое указывает, должны ли объекты, возвращаемые из WMI, содержать измененные сведения. Обычно измененные сведения — это сведения, подлежащие локализации: например, описания объекта и свойства, вложенные в объект WMI.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-AsJob
Выполняет команду как фоновое задание. Используйте этот параметр для запуска команд, на завершение которых требуется много времени.
При использовании параметра AsJob команда возвращает объект, представляющий фоновое задание, а затем отображает командную строку. Можно продолжить работу в рамках данного сеанса, пока задание завершается. Если Get-WmiObject
используется с параметром ComputerName , задание создается на локальном компьютере, а результаты с удаленных компьютеров автоматически возвращаются на локальный компьютер. Чтобы управлять заданием, используйте командлеты, содержащие Job
существительное. Чтобы получить результаты задания, используйте Receive-Job
командлет.
Дополнительные сведения о фоновых заданиях Windows PowerShell см. в about_Jobs и about_Remote_Jobs.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Authentication
Указывает уровень проверки подлинности, используемый для подключения к WMI. Допустимые значения:
-1
: без изменений0
: по умолчанию1
: Нет (проверка подлинности не выполнена.)2
: подключение (проверка подлинности выполняется только в том случае, если клиент устанавливает связь с приложением.)3
: вызов (проверка подлинности выполняется только в начале каждого вызова, когда приложение получает запрос.)4
: пакет (проверка подлинности выполняется для всех данных, полученных от клиента.)5
: PacketIntegrity (все данные, передаваемые между клиентом и приложением, проходят проверку подлинности и проверяются.)6
: PacketPrivacy (используются свойства других уровней проверки подлинности и все данные шифруются).)
Тип: | AuthenticationLevel |
Допустимые значения: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Authority
Указывает центр сертификации, используемый для проверки подлинности подключения к WMI. Можно выбрать стандартную проверку подлинности NTLM или Kerberos. Чтобы использовать NTLM, задайте для параметра центра значение ntlmdomain:<DomainName>
, где <DomainName>
определяет допустимое доменное имя NTLM. Чтобы использовать Kerberos, укажите kerberos:<DomainName>\<ServerName>
. Параметр authority не может быть указан при подключении к локальному компьютеру.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Class
Задает имя класса WMI. Если используется этот параметр, командлет возвращает экземпляры класса WMI.
Тип: | String |
Aliases: | ClassName |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ComputerName
Указывает целевой компьютер для операции управления. Введите полное доменное имя (FQDN), имя NetBIOS или IP-адрес. Если удаленный компьютер находится в домене, отличном от домена локального компьютера, необходимо указать полное доменное имя.
По умолчанию используется локальный компьютер. Чтобы указать локальный компьютер, например в списке имен компьютеров, используйте localhost
имя локального компьютера или точку (.
).
При указании удаленного компьютера текущая учетная запись или учетная запись, указанная с параметром Credential , должна иметь соответствующие разрешения для доступа к данным.
Этот параметр не зависит от удаленного взаимодействия Windows PowerShell, которое использует командлет WS-Management. Параметр ComputerName Get-WmiObject
можно использовать даже в том случае, если компьютер не настроен для выполнения удаленных команд WS-Management.
Тип: | String[] |
Aliases: | Cn |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Credential
Указывает учетную запись пользователя с разрешением на выполнение этого действия. По умолчанию используется текущий пользователь. Введите имя пользователя, например User01
, Domain01\User01
или User@Contoso.com
. Или введите объект PSCredential , например объект, возвращаемый командлетом Get-Credential
. При вводе имени пользователя запрашивается пароль. Учетные данные нельзя использовать при нацеливание на локальный компьютер.
Тип: | PSCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DirectRead
Указывает, запрашивается ли прямой доступ к поставщику WMI для данного класса безотносительно базового класса или его наследуемых классов.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-EnableAllPrivileges
Включает все привилегии текущего пользователя перед вызовом WMI в команде.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Filter
Указывает предложение Where , используемое в качестве фильтра. Использует синтаксис языка запросов WMI (WQL).
Внимание
Не включайте ключевое слово Where в значение параметра. Например, следующие команды возвращают только логические диски с идентификатором устройства c:
и службами с именем WinRM без использования ключевого слова Where.
Get-WmiObject Win32_LogicalDisk -filter "DeviceID = 'c:' "
Get-WmiObject win32_service -filter "name='WinRM'"
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Impersonation
Задает используемый уровень олицетворения.
Допустимые значения для этого параметра:
0
: по умолчанию. Считывает локальный реестр для уровня олицетворения по умолчанию. По умолчанию обычно задано значение олицетворения.1
: анонимный. Скрывает учетные данные вызывающей стороны.2
: определите. позволяет объектам запрашивать учетные данные вызывающей стороны.3
: олицетворения. позволяет объектам использовать учетные данные вызывающей стороны.4
: делегат. Позволяет объектам разрешать другим объектам использовать учетные данные вызывающей стороны.
Тип: | ImpersonationLevel |
Допустимые значения: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-List
Возвращает имена классов WMI в пространстве имен репозитория WMI, заданном параметром пространства имен.
Если указать параметр List, но не параметр пространства имен, Get-WmiObject
используется пространство имен Root\Cimv2 по умолчанию. Этот командлет не использует запись реестра пространства имен по умолчанию в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting
разделе реестра для определения пространства имен по умолчанию.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Locale
Указывает предпочтительный язык для объектов WMI. Введите значение в MS_<LCID>
формате.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Namespace
При использовании с параметром класса параметр пространства имен указывает пространство имен репозитория WMI, в котором расположен указанный класс WMI. При использовании с параметром List он указывает пространство имен, из которого собираются сведения о классе WMI.
Тип: | String |
Aliases: | NS |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Property
Указывает свойства класса WMI, из которой этот командлет получает сведения. Введите имена свойств.
Тип: | String[] |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Query
Запускает указанную инструкцию языка запросов WMI (WQL). Этот параметр не поддерживает очереди событий.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Recurse
Выполняет поиск текущего пространства имен и всех остальных пространств имен для имени класса, указанного параметром class .
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ThrottleLimit
Указывает максимальное количество операций WMI, которые можно выполнить одновременно. Этот параметр действителен только в том случае, если параметр AsJob используется в команде.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Входные данные Get-WmiObject
невозможно передать в .
Выходные данные
PSObject or System.Management.Automation.RemotingJob
При использовании параметра AsJob командлет возвращает объект задания. В противном случае объект, Get-WmiObject
возвращаемый, зависит от значения параметра Class .
Примечания
Windows PowerShell включает следующие псевдонимы для Get-WmiObject
:
gwmi
Чтобы получить доступ к сведениям о WMI на удаленном компьютере, командлет необходимо запустить в рамках учетной записи, которая является членом группы локальных администраторов на удаленном компьютере. Кроме того, контроль доступа по умолчанию в пространстве имен WMI удаленного репозитория можно изменить, предоставив права доступа другим учетным записям.
Только некоторые свойства каждого класса WMI отображаются по умолчанию. Набор свойств, отображаемых для каждого класса WMI, указывается в Types.ps1xml
файле конфигурации. Чтобы получить все свойства объекта WMI, используйте Get-Member
командлеты или Format-List
командлеты.
Связанные ссылки
PowerShell