Get-CimInstance
Возвращает экземпляры CIM класса с сервера CIM.
Синтаксис
Get-CimInstance
[-ClassName] <String>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
-ResourceUri <Uri>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-Query <String>
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ClassName] <String>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[<CommonParameters>]
Get-CimInstance
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[<CommonParameters>]
Get-CimInstance
-ResourceUri <Uri>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-Query <String>
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
Описание
Этот командлет доступен только на платформе Windows.
Командлет Get-CimInstance
получает экземпляры CIM класса с сервера CIM. Можно указать имя класса или запрос для этого командлета. Этот командлет возвращает один или несколько объектов экземпляра CIM, представляющих моментальный снимок экземпляров CIM, присутствующих на сервере CIM.
Если параметр InputObject не указан, командлет работает одним из следующих способов:
- Если ни параметр ComputerName, ни параметр CimSession не указан, этот командлет работает в локальном сеансе инструментария управления Windows (WMI) с помощью сеанса com-модели компонентов.
- Если указан параметр ComputerName или параметр CimSession, этот командлет работает с сервером CIM, указанным параметром ComputerName или параметром CimSession.
Если указан параметр InputObject, командлет работает одним из следующих способов:
- Если ни параметр ComputerName, ни параметр CimSession не указан, этот командлет использует сеанс CIM или имя компьютера из входного объекта.
- Если указан параметр ComputerName или параметр CimSession, этот командлет использует значение параметра CimSession или значение параметра ComputerName.
Примеры
Пример 1. Получение экземпляров CIM указанного класса
В этом примере извлекаются экземпляры CIM класса с именем Win32_Process.
Get-CimInstance -ClassName Win32_Process
Пример 2. Получение списка пространств имен с сервера WMI
В этом примере извлекается список пространств имен в корневом пространстве имен на сервере WMI.
Get-CimInstance -Namespace root -ClassName __Namespace
Пример 3. Получение экземпляров класса, отфильтрованного с помощью запроса
В этом примере извлекаются все экземпляры CIM, начинающиеся с буквы P класса с именем Win32_Process с помощью запроса, указанного параметром запроса .
Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'P%'"
Пример 4. Получение экземпляров класса, отфильтрованного с помощью имени класса и выражения фильтра
В этом примере извлекаются все экземпляры CIM, начинающиеся с буквы P класса с именем Win32_Process с помощью параметра Filter.
Get-CimInstance -ClassName Win32_Process -Filter "Name like 'P%'"
Пример 5. Получение экземпляров CIM с заполненными только ключевыми свойствами
В этом примере создается новый экземпляр CIM в памяти для класса с именем Win32_Process со свойством @{ "Handle"=0 }
ключа и сохраняет его в переменной с именем $x
. Переменная передается в качестве экземпляра Get-CimInstance
CIM командлету, чтобы получить конкретный экземпляр.
$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{ "Handle"=0 } -Key Handle -ClientOnly
Get-CimInstance -CimInstance $x
Пример 6. Получение экземпляров CIM и их повторное использование
Этот пример получает экземпляры CIM класса с именем Win32_Process и сохраняет их в переменных $x
и $y
. Затем переменная $x
отформатирована в таблице, содержащей только свойства Name и KernelModeTime , для таблицы задано значение AutoSize.
$x,$y = Get-CimInstance -ClassName Win32_Process
$x | Format-Table -Property Name,KernelModeTime -AutoSize
Name KernelModeTime
---- --------------
System Idle Process 157238797968750
Пример 7. Получение экземпляров CIM с удаленного компьютера
В этом примере извлекаются экземпляры CIM класса с именем Win32_ComputerSystem с удаленных компьютеров с именем Server01 и Server02.
Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02
Пример 8. Получение только ключевых свойств вместо всех свойств
В этом примере извлекаются только ключевые свойства, что уменьшает размер объекта и сетевого трафика.
$x = Get-CimInstance -Class Win32_Process -KeyOnly
$x | Invoke-CimMethod -MethodName GetOwner
Пример 9. Получение только подмножества свойств вместо всех свойств
В этом примере извлекается только подмножество свойств, что уменьшает размер объекта и сетевого трафика.
Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x = Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x | Invoke-CimMethod -MethodName GetOwner
Экземпляр, полученный с параметром Property, можно использовать для выполнения других операций CIM, напримерSet-CimInstance
.Invoke-CimMethod
Пример 10. Получение экземпляра CIM с помощью сеанса CIM
В этом примере создается сеанс CIM на компьютерах с именем Server01 и Server02 с помощью командлета New-CimSession
и хранит сведения о сеансе в переменной с именем$s
. Затем содержимое переменной передается Get-CimInstance
с помощью параметра CimSession , чтобы получить экземпляры CIM класса с именем Win32_ComputerSystem.
$s = New-CimSession -ComputerName Server01,Server02
Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s
Параметры
-CimSession
Указывает сеанс CIM, используемый для этого командлета. Введите переменную, содержащую сеанс CIM или команду, которая создает или получает сеанс CIM, например New-CimSession
командлеты или Get-CimSession
командлеты. Дополнительные сведения см. в about_CimSession.
Тип: | CimSession[] |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ClassName
Указывает имя класса CIM, для которого извлекаются экземпляры CIM. Вы можете использовать завершение вкладки для просмотра списка классов, так как PowerShell получает список классов с локального сервера WMI для предоставления списка имен классов.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ComputerName
Указывает компьютер, на котором требуется выполнить операцию CIM. Можно указать полное доменное имя (FQDN), имя NetBIOS или IP-адрес. Если этот параметр не указан, командлет выполняет операцию на локальном компьютере с помощью объектной модели компонента (COM).
При указании этого параметра командлет создает временный сеанс для указанного компьютера с помощью протокола WsMan.
Если на одном компьютере выполняются несколько операций, подключитесь к сеансу CIM для повышения производительности.
Тип: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Filter
Указывает предложение where для использования в качестве фильтра. Укажите предложение в WQL или языке запросов CQL. Не включайте ключевое WHERE
слово в значение параметра.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-InputObject
Указывает объект экземпляра CIM для использования в качестве входных данных.
Если вы уже работаете с объектом экземпляра CIM, этот параметр можно использовать для передачи объекта экземпляра CIM для получения последнего моментального снимка с сервера CIM. При передаче объекта экземпляра CIM в качестве входных данных Get-CimInstance
возвращает объект с сервера с помощью операции получения CIM вместо операции перечисления или запроса. Использование операции получения CIM эффективнее, чем извлечение всех экземпляров и их фильтрация.
Параметр InputObject не перечисляет коллекции. Если коллекция передается, возникает ошибка. При работе с коллекциями передайте входные данные для перечисления значений.
Если класс CIM не реализует операцию получения, то при указании параметра InputObject возвращается ошибка.
Тип: | CimInstance |
Aliases: | CimInstance |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-KeyOnly
Указывает, что возвращаются только объекты с заполненными свойствами ключей. Указание параметра KeyOnly уменьшает объем данных, передаваемых по сети.
Используйте параметр KeyOnly, чтобы вернуть только небольшую часть объекта, которую можно использовать для других операций, таких как Set-CimInstance
командлеты или Get-CimAssociatedInstance
командлеты.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Namespace
Задает пространство имен класса CIM.
Пространство имен по умолчанию — root/cimv2. Вы можете использовать завершение вкладки для просмотра списка пространств имен, так как PowerShell получает список пространств имен с локального сервера WMI для предоставления списка пространств имен.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-OperationTimeoutSec
Указывает время ожидания командлетом ответа от компьютера. По умолчанию значение этого параметра равно 0, что означает, что командлет использует значение времени ожидания по умолчанию для сервера.
Если параметр OperationTimeoutSec имеет значение меньше времени ожидания надежного повтора подключения в течение 3 минут, сетевые сбои, которые длились больше, чем значение параметра OperationTimeoutSec, невозможно восстановить, так как операция на сервере истекает до повторного подключения клиента.
Тип: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Property
Задает набор свойств экземпляра для получения. Используйте этот параметр, если необходимо уменьшить размер возвращаемого объекта в памяти или по сети. Возвращаемый объект также содержит ключевые свойства, даже если вы не перечислили их с помощью параметра Property . Другие свойства класса присутствуют, но они не заполнены.
Тип: | String[] |
Aliases: | SelectProperties |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Query
Указывает запрос, выполняемый на сервере CIM. Если указанное значение содержит двойные кавычки "
, одинарные кавычки '
или обратную косую черту \
, необходимо экранировать эти символы, префиксируя их символом обратной косой черты. Если указанное значение использует оператор WQL LIKE , необходимо экранировать следующие символы, заключив их в квадратные скобки []
: процент %
, подчеркивание _
или открытие квадратной скобки [
.
Невозможно использовать запрос метаданных для получения списка классов или запроса события. Чтобы получить список классов, используйте Get-CimClass
командлет. Чтобы получить запрос события, используйте Register-CimIndicationEvent
командлет.
Можно указать диалект запроса с помощью параметра QueryDialect .
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-QueryDialect
Указывает язык запросов, используемый для параметра query. Допустимые значения для этого параметра: WQL или CQL. Значение по умолчанию — WQL.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ResourceUri
Указывает универсальный идентификатор ресурса (URI) класса ресурса или экземпляра. URI используется для идентификации определенного типа ресурсов, например дисков и процессов на компьютере.
URI состоит из префикса и пути к ресурсу. Например:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
По умолчанию, если этот параметр не указан, используется стандартный URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
ресурса DMTF и к нему добавляется имя класса.
ResourceURI можно использовать только с сеансами CIM, созданными с помощью протокола WSMan, или при указании параметра ComputerName , который создает сеанс CIM с помощью WSMan. Если этот параметр указан без указания параметра ComputerName или при указании сеанса CIM, созданного с помощью протокола DCOM, возникает ошибка, так как протокол DCOM не поддерживает параметр ResourceURI.
Если указан параметр ResourceUri и параметр Filter, параметр Filter игнорируется.
Тип: | Uri |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Shallow
Указывает, что экземпляры класса возвращаются без включения экземпляров любых дочерних классов. По умолчанию командлет возвращает экземпляры класса и его дочерних классов.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Объект экземпляра CIM можно передать в этот командлет.
Выходные данные
Этот командлет возвращает один или несколько объектов экземпляра CIM, представляющих моментальный снимок экземпляров CIM на сервере CIM.
Примечания
PowerShell включает следующие псевдонимы для Get-CimInstance
:
- Windows:
gcim
Этот командлет доступен только на платформах Windows.
Связанные ссылки
PowerShell