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>]

说明

此 cmdlet 仅在 Windows 平台上可用。

cmdlet Get-CimAssociatedInstance 通过关联检索连接到特定 CIM 实例(称为源实例)的 CIM 实例。

在关联中,每个 CIM 实例都有一个命名角色,同一 CIM 实例可以参与不同角色的关联。

如果未指定 InputObject 参数,则 cmdlet 通过以下方式之一工作:

  • 如果未指定 ComputerName 参数和 CimSession 参数,则此 cmdlet 适用于本地 Windows Management Instrumentation (WMI) ,使用组件对象模型 (COM) 会话。
  • 如果指定 了 ComputerName 参数或 CimSession 参数,则此 cmdlet 适用于 由 ComputerName 参数或 CimSession 参数指定的 CIM 服务器。

示例

示例 1:获取特定实例的所有关联实例

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

这组命令检索名为 Win32_LogicalDisk 类的实例,并使用 cmdlet 将信息存储在名为 $diskGet-CimInstance 变量中。 然后,变量中的第一个逻辑磁盘实例用作 cmdlet 的 Get-CimAssociatedInstance 输入对象,以获取指定 CIM 实例的所有关联 CIM 实例。

示例 2:获取特定类型的所有关联实例

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

这组命令检索 Win32_LogicalDisk 类的所有实例,并将其存储在名为 的 $disk变量中。 然后,变量中的第一个逻辑磁盘实例用作 cmdlet 的 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变量中。 使用 cmdlet 检索Get-CimClassWin32_DependentService的关联类名,方法是将 Association 指定为限定符,然后使用 $s 传递给 Get-CimAssociatedInstance cmdlet 以获取检索到的关联类的所有关联实例。

参数

-Association

指定关联类的名称。 如果未指定此参数,cmdlet 将返回任何类型的所有现有关联对象。

例如,如果类 A 通过两个关联(AB1 和 AB2)与类 B 相关联,则此参数可用于指定关联类型(AB1 或 AB2)。

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

-CimSession

使用指定的 CIM 会话运行命令。 输入包含 CIM 会话的变量,或用于创建或获取 CIM 会话的命令,例如 New-CimSessionGet-CimSession。 有关详细信息,请参阅 about_CimSession

Type:CimSession[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ComputerName

指定要运行 CIM 操作的计算机的名称。 可以 (FQDN) 或 NetBIOS 名称指定完全限定的域名。

如果指定此参数,cmdlet 将使用 WsMan 协议创建与指定计算机的临时会话。

如果未指定此参数,cmdlet 将使用组件对象模型 (COM) 在本地计算机上执行操作。

如果在同一台计算机上执行多个操作,则使用 CIM 会话进行连接可提供更好的性能。

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

-InputObject

指定此 cmdlet 的输入。 可以使用此参数,也可以通过管道传送此 cmdlet 的输入。

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

指定 cmdlet 等待计算机响应的时间量。 默认情况下,此参数的值为 0,这意味着 cmdlet 使用服务器的默认超时值。

如果将 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

默认情况下,如果未指定此参数,则使用 DMTF 标准资源 URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ ,并将类名追加到其中。

ResourceURI 只能与使用 WSMan 协议创建的 CIM 会话一起使用,或者在指定 ComputerName 参数(使用 WSMan 创建 CIM 会话)时使用。 如果在未指定 ComputerName 参数的情况下指定此参数,或者指定使用 DCOM 协议创建的 CIM 会话,则会收到错误,因为 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

无法通过管道将对象传递给此 cmdlet。

输出

CimInstance

此 cmdlet 返回 CIM 实例对象。

备注

PowerShell 包括“”的以下别名:

  • Windows:
    • gcai

此 cmdlet 仅在 Windows 平台上可用。