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, представляющих snapshot экземпляров 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 с помощью запроса, указанного параметром Query .
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 }
key и сохраняется в переменной с именем $x
. Переменная передается в качестве экземпляра CIM командлету Get-CimInstance
для получения определенного экземпляра.
$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.
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ClassName
Указывает имя класса CIM, для которого извлекаются экземпляры CIM. Вы можете использовать заполнение табуляции для просмотра списка классов, так как PowerShell получает список классов с локального сервера WMI для предоставления списка имен классов.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ComputerName
Указывает компьютер, на котором требуется выполнить операцию CIM. Вы можете указать полное доменное имя (FQDN), NetBIOS-имя или IP-адрес. Если этот параметр не указан, командлет выполняет операцию на локальном компьютере с помощью модели COM.
Если указать этот параметр, командлет создает временный сеанс на указанном компьютере с помощью протокола WsMan.
Если на одном компьютере выполняется несколько операций, подключитесь с помощью сеанса CIM для повышения производительности.
Type: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Filter
Указывает предложение where для использования в качестве фильтра. Укажите предложение на языке запросов WQL или CQL . Не включайте WHERE
ключевое слово в значение параметра .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InputObject
Указывает объект экземпляра CIM для использования в качестве входных данных.
Если вы уже работаете с объектом экземпляра CIM, можно использовать этот параметр для передачи объекта экземпляра CIM, чтобы получить последнюю snapshot с сервера CIM. При передаче объекта экземпляра CIM в качестве входных данных Get-CimInstance
возвращает объект с сервера с помощью операции получения CIM, а не операции перечисления или запроса. Использование операции get CIM эффективнее, чем извлечение всех экземпляров и их фильтрация.
Параметр InputObject не перечисляет коллекции. При передаче коллекции возникает ошибка. При работе с коллекциями передайте входные данные для перечисления значений.
Если класс CIM не реализует операцию get, то при указании параметра InputObject возвращается ошибка.
Type: | CimInstance |
Aliases: | CimInstance |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-KeyOnly
Указывает, что возвращаются только объекты с заполненными свойствами ключа. Указание параметра KeyOnly уменьшает объем данных, передаваемых по сети.
Используйте параметр KeyOnly , чтобы вернуть только небольшую часть объекта, которую можно использовать для других операций, таких как Set-CimInstance
командлеты или Get-CimAssociatedInstance
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Namespace
Задает пространство имен класса CIM.
Пространство имен по умолчанию — root/cimv2. Для просмотра списка пространств имен можно использовать завершение нажатия клавиши TAB, так как PowerShell получает список пространств имен с локального сервера WMI для предоставления списка пространств имен.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OperationTimeoutSec
Указывает время ожидания командлетом ответа от компьютера. По умолчанию значение этого параметра равно 0, что означает, что командлет использует значение времени ожидания по умолчанию для сервера.
Если для параметра OperationTimeoutSec задано значение меньше времени ожидания надежного повтора подключения в 3 минуты, сбои сети, которые длятся больше значения параметра OperationTimeoutSec , не могут быть восстановлены, так как время ожидания операции на сервере истекает до того, как клиент сможет повторно подключиться.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Задает набор извлекаемых свойств экземпляра. Используйте этот параметр, если необходимо уменьшить размер возвращаемого объекта в памяти или по сети. Возвращаемый объект также содержит свойства ключа, даже если вы не перечислили их с помощью параметра Property . Другие свойства класса присутствуют, но не заполнены.
Type: | String[] |
Aliases: | SelectProperties |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Query
Указывает запрос, выполняемый на сервере CIM. Если указанное значение содержит двойные кавычки "
, одинарные кавычки '
или обратную косую черту \
, необходимо экранировать эти символы путем добавления к ним префикса символом обратной косой черты. Если указанное значение использует оператор WQL LIKE , необходимо экранировать следующие символы, заключив их в квадратные скобки []
: процент %
, подчеркивание _
или открывая квадратную скобку [
.
Запрос метаданных нельзя использовать для получения списка классов или запроса событий. Чтобы получить список классов, используйте Get-CimClass
командлет . Чтобы получить запрос на событие, используйте Register-CimIndicationEvent
командлет .
Диалект запроса можно указать с помощью параметра QueryDialect .
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-QueryDialect
Указывает язык запросов, используемый для параметра Query. Допустимые значения для этого параметра: WQL или CQL. Значение по умолчанию — WQL.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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
По умолчанию, если этот параметр не указан, используется стандартный универсальный код ресурса 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 игнорируется.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Shallow
Указывает, что экземпляры класса возвращаются без включения экземпляров каких-либо дочерних классов. По умолчанию командлет возвращает экземпляры класса и его дочерних классов.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Вы можете передать объект экземпляра CIM в этот командлет.
Выходные данные
Этот командлет возвращает один или несколько объектов экземпляров CIM, представляющих snapshot экземпляров CIM на сервере CIM.
Примечания
PowerShell включает следующие псевдонимы для Get-CimInstance
:
- Windows:
gcim
Этот командлет доступен только на платформах Windows.