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. Если указан параметр списка, командлет получает сведения о классах 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
Оператор конвейера (|
) отправляет выходные данные в командлет Format-List
, который добавляет свойство PSComputerName в выходные данные по умолчанию.
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. Получение служб на удаленном компьютере
В этом примере используется параметр учетных данных командлета Get-WmiObject
для получения служб на удаленном компьютере. Значение параметра учетных данных — имя учетной записи пользователя. Пользователю будет предложено ввести пароль.
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
: Connect (проверка подлинности выполняется только в том случае, если клиент устанавливает связь с приложением.) -
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>
. Параметр центра нельзя включить при подключении к локальному компьютеру.
Тип: | 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
, имя локального компьютера или точку (.
).
При указании удаленного компьютера текущая учетная запись или учетная запись, указанная с помощью параметра учетных данных, должна иметь соответствующие разрешения для доступа к данным.
Этот параметр не зависит от удаленного взаимодействия 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
Указывает , где предложение, используемое в качестве фильтра. Использует синтаксис языка запросов 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, заданном параметром пространства имен.
Если указать параметр списка, но не параметр пространства имен, 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. При использовании с параметром списка определяет пространство имен, из которого собираются сведения о классе 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 Query Language (WQL). Этот параметр не поддерживает запросы событий.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Recurse
Выполняет поиск текущего пространства имен и всех остальных пространств имен для имени класса, указанного параметром класса.
Тип: | 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
, зависит от значения параметра класса.
Примечания
Windows PowerShell включает следующие псевдонимы для Get-WmiObject
:
gwmi
Чтобы получить доступ к данным WMI на удаленном компьютере, командлет должен выполняться под учетной записью, являющейся членом группы локальных администраторов на удаленном компьютере. Кроме того, можно изменить управление доступом по умолчанию в пространстве имен WMI удаленного репозитория, чтобы предоставить права доступа другим учетным записям.
По умолчанию отображаются только некоторые свойства каждого класса WMI. Набор свойств, отображаемых для каждого класса WMI, указывается в файле конфигурации Types.ps1xml
. Чтобы получить все свойства объекта WMI, используйте командлеты Get-Member
или Format-List
.
Связанные ссылки
PowerShell