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


Get-CimAssociatedInstance

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

Синтаксис

Get-CimAssociatedInstance
   [[-Association] <String>]
   [-ResultClassName <String>]
   [-InputObject] <CimInstance>
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-ResourceUri <Uri>]
   [-ComputerName <String[]>]
   [-KeyOnly]
   [<CommonParameters>]
Get-CimAssociatedInstance
   [[-Association] <String>]
   [-ResultClassName <String>]
   [-InputObject] <CimInstance>
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-ResourceUri <Uri>]
   -CimSession <CimSession[]>
   [-KeyOnly]
   [<CommonParameters>]

Описание

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

Командлет Get-CimAssociatedInstance извлекает экземпляры CIM, подключенные к конкретному экземпляру CIM, называемому исходным экземпляром, ассоциацией.

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

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

  • Если ни параметр ComputerName, ни параметр CimSession не указан, этот командлет работает в локальном сеансе инструментария управления Windows (WMI) с помощью сеанса com-модели компонентов.
  • Если указан параметр ComputerName или параметр CimSession, этот командлет работает с сервером CIM, указанным параметром ComputerName или параметром CimSession.

Примеры

Пример 1. Получение всех связанных экземпляров конкретного экземпляра

$disk = Get-CimInstance -ClassName Win32_LogicalDisk -KeyOnly
Get-CimAssociatedInstance -InputObject $disk[1]

Этот набор команд извлекает экземпляры класса с именем Win32_LogicalDisk и сохраняет сведения в переменной с именем $disk командлета Get-CimInstance . Затем первый экземпляр логического диска в переменной используется в качестве входного объекта для командлета, Get-CimAssociatedInstance чтобы получить все связанные экземпляры CIM указанного экземпляра CIM.

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

$disk = Get-CimInstance -ClassName Win32_LogicalDisk -KeyOnly
Get-CimAssociatedInstance -InputObject $disk[1] -ResultClass Win32_DiskPartition

Этот набор команд извлекает все экземпляры класса Win32_LogicalDisk и сохраняет их в переменной с именем $disk. Затем первый экземпляр логического диска в переменной используется в качестве входного объекта для командлета, Get-CimAssociatedInstance чтобы получить все связанные экземпляры, связанные с указанным классом ассоциации Win32_DiskPartition.

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

Этот набор команд извлекает службы, зависящие от службы Winmgmt , и сохраняет их в переменной с именем $s. Get-CimAssociatedInstance возвращает связанные экземпляры полученного класса ассоциации.

$s = Get-CimInstance -Query "Select * from Win32_Service where name like 'Winmgmt'"
Get-CimAssociatedInstance -InputObject $s -Association Win32_DependentService

ProcessId Name            StartMode State   Status ExitCode
--------- ----            --------- -----   ------ --------
1716      RpcSs           Auto      Running OK     0
9964      CcmExec         Auto      Running OK     0
0         HgClientService Manual    Stopped OK     1077
0         smstsmgr        Manual    Stopped OK     1077
3396      vmms            Auto      Running OK     0

Параметры

-Association

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

Например, если класс A связан с классом B через две связи, AB1 и AB2, этот параметр можно использовать для указания типа ассоциации либо AB1, либо AB2.

Тип:String
Position:1
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-CimSession

Выполняет команду с помощью указанного сеанса CIM. Введите переменную, содержащую сеанс CIM, или команду, которая создает или получает сеанс CIM, например New-CimSession или Get-CimSession. Дополнительные сведения см. в about_CimSession.

Тип:CimSession[]
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-ComputerName

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

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

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

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

Тип:String[]
Aliases:CN, ServerName
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Указывает входные данные для этого командлета. Этот параметр можно использовать или передать входные данные в этот командлет.

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

Тип:CimInstance
Aliases:CimInstance
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-KeyOnly

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

Тип: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
Принять входные данные конвейера: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
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ResultClassName

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

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

Результаты сопоставления можно отфильтровать, чтобы соответствовать определенному имени класса. Фильтрация происходит на сервере. Если этот параметр не указан, Get-CIMAssociatedInstance возвращает все существующие связи. Например, если класс A связан с классами B, C и D, этот параметр можно использовать для ограничения выходных данных определенным типом (B, C или D).

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

None

Невозможно передать объекты в этот командлет.

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

CimInstance

Этот командлет возвращает объект экземпляра CIM.

Примечания

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

  • Windows:
    • gcai

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