Share via


Get-CimAssociatedInstance

擷取關聯連接到特定 CIM 實例的 CIM 實例。

Syntax

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

Description

此 Cmdlet 僅適用於 Windows 平臺。

Cmdlet Get-CimAssociatedInstance 會藉由關聯,擷取連接到稱為來源實例的特定 CIM 實例的 CIM 實例。

在關聯中,每個 CIM 實例都有具名角色,而相同的 CIM 實例可以參與不同角色的關聯。

如果未指定 InputObject 參數,Cmdlet 會以下列其中一種方式運作:

  • 如果未指定 ComputerName 參數或 CimSession 參數,則此 Cmdlet 會使用元件物件模型 (COM) 會話在本機 Windows Management Instrumentation (WMI) 上運作。
  • 如果指定 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變數中。 Win32_DependentService的關聯類別名稱是使用 Get-CimClass Cmdlet 來擷取,方法是將 Association 指定為限定符,然後使用 $s傳遞至 Get-CimAssociatedInstance Cmdlet,以取得所擷取關聯類別的所有相關聯實例。

參數

-Association

指定關聯類別的名稱。 如果您未指定此參數,Cmdlet 會傳回任何類型的所有現有關聯物件。

例如,如果類別 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-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 平臺。