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


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. Получение всех связанных экземпляров с помощью квалификатора определенного класса

$s = Get-CimInstance -Query "Select * from Win32_Service where name like 'Winmgmt'"
Get-CimClass -ClassName *Service* -Qualifier "Association"
$c.CimClasName

Win32_LoadOrderGroupServiceDependencies
Win32_DependentService
Win32_SystemServices
Win32_LoadOrderGroupServiceMembers
Win32_ServiceSpecificationService

Get-CimAssociatedInstance -InputObject $s -Association Win32_DependentService

Этот набор команд извлекает службы, зависящие от службы WMI, и сохраняет их в переменной с именем $s. Имя класса ассоциации для Win32_DependentService извлекается с помощью Get-CimClass командлета , указывая Связь в качестве квалификатора, а затем передается с $s Get-CimAssociatedInstance командлету для получения всех связанных экземпляров полученного класса ассоциации.

Параметры

-Association

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

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

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-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

-ComputerName

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

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

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

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

Type:String[]
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

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

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

Type:CimInstance
Aliases:CimInstance
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-KeyOnly

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

Задает пространство имен для операции CIM. Пространство имен по умолчанию — root/cimv2.

Примечание

Вы можете использовать завершение табуляции для просмотра списка пространств имен, так как 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: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

По умолчанию, если этот параметр не указан, используется стандартный 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 игнорируется.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResultClassName

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

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

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

None

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

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

CimInstance

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

Примечания

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

  • Windows:
    • gcai

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