Поделиться через


Get-CimInstance

Возвращает экземпляры CIM класса с сервера CIM.

Синтаксис

ClassNameComputerSet (по умолчанию)

Get-CimInstance
    [-ClassName] <String>
    [-ComputerName <String[]>]
    [-KeyOnly]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-QueryDialect <String>]
    [-Shallow]
    [-Filter <String>]
    [-Property <String[]>]
    [<CommonParameters>]

ResourceUriSessionSet

Get-CimInstance
    -CimSession <CimSession[]>
    -ResourceUri <Uri>
    [-KeyOnly]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-Shallow]
    [-Filter <String>]
    [-Property <String[]>]
    [<CommonParameters>]

QuerySessionSet

Get-CimInstance
    -CimSession <CimSession[]>
    -Query <String>
    [-ResourceUri <Uri>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-QueryDialect <String>]
    [-Shallow]
    [<CommonParameters>]

ClassNameSessionSet

Get-CimInstance
    [-ClassName] <String>
    -CimSession <CimSession[]>
    [-KeyOnly]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-QueryDialect <String>]
    [-Shallow]
    [-Filter <String>]
    [-Property <String[]>]
    [<CommonParameters>]

CimInstanceSessionSet

Get-CimInstance
    [-InputObject] <CimInstance>
    -CimSession <CimSession[]>
    [-ResourceUri <Uri>]
    [-OperationTimeoutSec <UInt32>]
    [<CommonParameters>]

CimInstanceComputerSet

Get-CimInstance
    [-InputObject] <CimInstance>
    [-ResourceUri <Uri>]
    [-ComputerName <String[]>]
    [-OperationTimeoutSec <UInt32>]
    [<CommonParameters>]

ResourceUriComputerSet

Get-CimInstance
    -ResourceUri <Uri>
    [-ComputerName <String[]>]
    [-KeyOnly]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-Shallow]
    [-Filter <String>]
    [-Property <String[]>]
    [<CommonParameters>]

QueryComputerSet

Get-CimInstance
    -Query <String>
    [-ResourceUri <Uri>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-QueryDialect <String>]
    [-Shallow]
    [<CommonParameters>]

Описание

Этот командлет доступен только на платформе Windows.

Командлет Get-CimInstance получает экземпляры CIM класса с сервера CIM. Можно указать имя класса или запрос для этого командлета. Этот командлет возвращает один или несколько объектов экземпляра CIM, представляющих снимок состояния экземпляров CIM, присутствующих на сервере CIM.

Если параметр InputObject не указан, командлет работает одним из следующих способов:

  • Если не указан ни параметр ComputerName, ни параметр CimSession, то этот командлет выполняется в локальном сеансе Windows Management Instrumentation (WMI) с помощью сеанса Component Object Model (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. Переменная передается как объект CIM в командлет Get-CimInstance, чтобы получить конкретный экземпляр.

$instance = @{
    ClassName = 'Win32_Process'
    Namespace = 'root/cimv2'
    Properties = @{
        Handle = 0
    }
    Key = 'Handle'
    ClientOnly = $true
}
$x = New-CimInstance @instance
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

Экземпляр, полученный с параметром свойства , можно использовать для выполнения других операций CIM, например Set-CimInstance или Invoke-CimMethod.

Пример 10. Получение экземпляра объекта CIM с помощью сеанса CIM

В этом примере создается сеанс CIM на компьютерах с именем Server01 и Server02 с помощью командлета New-CimSession и сохраняет сведения о сеансе в переменной с именем $s. Затем содержимое переменной передается в с помощью параметра 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[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ResourceUriSessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
QuerySessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
CimInstanceSessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ClassName

Указывает имя класса CIM, для которого следует извлечь экземпляры CIM. Вы можете использовать завершение вкладки для просмотра списка классов, так как PowerShell получает список классов с локального сервера WMI для предоставления списка имен классов.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameComputerSet
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-ComputerName

Указывает компьютер, на котором требуется выполнить операцию CIM. Можно указать полное доменное имя (FQDN), имя NetBIOS или IP-адрес. Если этот параметр не указан, командлет выполняет операцию на локальном компьютере с помощью объектной модели компонента (COM).

При указании этого параметра командлет создает временный сеанс для указанного компьютера с помощью протокола WsMan.

Если на одном компьютере выполняются несколько операций, подключитесь к сеансу CIM для повышения производительности.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Китай, Имя сервера

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
CimInstanceComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QueryComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Filter

Указывает условие where для фильтрации. Укажите утверждение в языке запросов WQL или CQL. Не включайте ключевое слово WHERE в значение параметра.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-InputObject

Указывает объект экземпляра CIM для использования в качестве входных данных.

Если вы уже работаете с объектом экземпляра CIM, этот параметр можно использовать для передачи объекта экземпляра CIM для получения последнего моментального снимка с сервера CIM. При передаче объекта экземпляра CIM в качестве входных данных Get-CimInstance возвращает объект с сервера с помощью операции получения CIM вместо операции перечисления или запроса. Использование операции "get CIM" более эффективно, чем извлечение всех экземпляров и их последующая фильтрация.

Параметр InputObject не перечисляет коллекции. В случае передачи коллекции возникает ошибка. При работе с коллекциями направьте входные данные для перечисления значений.

Если класс CIM не реализует операцию получения, то при указании параметра InputObject возвращается ошибка.

Свойства параметра

Тип:CimInstance
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:CimInstance

Наборы параметров

CimInstanceSessionSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
CimInstanceComputerSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-KeyOnly

Указывает, что возвращаются только объекты с заполненными ключевыми свойствами. Указание параметра KeyOnly уменьшает объем данных, передаваемых по сети.

Используйте параметр KeyOnly, чтобы вернуть только небольшую часть объекта, которую можно использовать для других операций, таких как командлеты Set-CimInstance или Get-CimAssociatedInstance.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
ResourceUriSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Namespace

Задает пространство имен класса CIM.

Пространство имен по умолчанию — корневой/CIMV2. Вы можете использовать завершение вкладки для просмотра списка пространств имен, так как PowerShell получает список пространств имен с локального сервера WMI для предоставления списка пространств имен.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QuerySessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QueryComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-OperationTimeoutSec

Указывает период времени, в течение которого командлет ожидает ответа от компьютера. По умолчанию значение этого параметра равно 0, что означает, что командлет использует значение времени ожидания по умолчанию для сервера.

Если параметр OperationTimeoutSec имеет значение меньше времени ожидания надежного повтора подключения в 3 минуты, сетевые сбои, длящиеся дольше, чем значение параметра OperationTimeoutSec, не подлежат восстановлению, так как время операции на сервере истекает до того, как клиент успевает переподключиться.

Свойства параметра

Тип:UInt32
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:OT

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Property

Задает набор свойств экземпляра для извлечения. Используйте этот параметр, если необходимо уменьшить размер возвращаемого объекта в памяти или по сети. Возвращенный объект также содержит ключевые свойства, даже если вы не перечислили их с помощью параметра Property. Другие свойства класса присутствуют, но они не заполнены.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:SelectProperties

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Query

Указывает запрос, выполняемый на сервере CIM. Если указанное значение содержит двойные кавычки ", одинарные кавычки 'или обратную косую черту \, необходимо экранировать эти символы, префиксируя их символом обратной косой черты. Если указанное значение использует оператор WQL LIKE, необходимо экранировать следующие символы, заключив их в квадратные скобки []: процент %, подчеркивание _или открытие квадратной скобки [.

Невозможно использовать запрос метаданных для получения списка классов или запроса события. Чтобы получить список классов, используйте командлет Get-CimClass. Чтобы получить запрос события, используйте командлет Register-CimIndicationEvent.

Можно указать диалект запроса с помощью параметра QueryDialect.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

QuerySessionSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QueryComputerSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-QueryDialect

Указывает язык запросов, используемый для параметра query. Допустимые значения для этого параметра: WQL или CQL. Значение по умолчанию — WQL.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QuerySessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QueryComputerSet
Position:Named
Обязательно:False
Значение из конвейера: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

По умолчанию, если этот параметр не указан, используется стандартный универсальный код ресурса DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/, а имя класса добавляется к нему.

ResourceUri можно использовать только с сеансами CIM, созданными с помощью протокола WSMan, или при указании параметра ComputerName, который создает сеанс CIM с помощью WSMan. Если этот параметр указан без указания параметра ComputerName или при указании сеанса CIM, созданного с помощью протокола DCOM, возникает ошибка, так как протокол DCOM не поддерживает параметр ResourceUri.

Если заданы и параметр ResourceUri, и параметр фильтра, параметр фильтра игнорируется.

Свойства параметра

Тип:Uri
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ResourceUriSessionSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QuerySessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QueryComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
CimInstanceSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
CimInstanceComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Shallow

Указывает, что экземпляры класса возвращаются без включения экземпляров любых дочерних классов. По умолчанию командлет возвращает экземпляры класса и его дочерних классов.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
ResourceUriSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
QuerySessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
QueryComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входные данные

CimInstance

В этот командлет можно передать объект экземпляра CIM.

Выходные данные

CimInstance

Этот командлет возвращает один или несколько объектов экземпляра CIM, представляющих моментальный снимок экземпляров CIM на сервере CIM.

Примечания

PowerShell включает следующие псевдонимы для Get-CimInstance:

  • Виндоус:
    • gcim

Этот командлет доступен только на платформах Windows.