ค้นหาเว็บไซต์

รับ-CimAssociatedInstance (CimCmdlets)


รับ-CimAssociatedInstance

โมดูล :
CimCmdlets

ดึงข้อมูลอินสแตนซ์ 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 เท่านั้น

Get-CimAssociatedInstance cmdlet จะดึงข้อมูลอินสแตนซ์ CIM ที่เชื่อมต่อกับอินสแตนซ์ CIM เฉพาะที่เรียกว่าอินสแตนซ์ต้นทางโดยการเชื่อมโยง

ในการเชื่อมโยง แต่ละอินสแตนซ์ CIM จะมีบทบาทที่ระบุชื่อ และอินสแตนซ์ CIM เดียวกันสามารถเข้าร่วมในการเชื่อมโยงในบทบาทที่แตกต่างกันได้

หากไม่ได้ระบุพารามิเตอร์ InputObject cmdlet จะทำงานด้วยวิธีใดวิธีหนึ่งต่อไปนี้:

  • หากไม่ได้ระบุพารามิเตอร์ ComputerName หรือพารามิเตอร์ CimSession ไว้ cmdlet นี้จะทำงานใน Windows Management Instrumentation (WMI) ภายในเครื่องโดยใช้เซสชัน Component Object Model (COM)
  • หากมีการระบุพารามิเตอร์ ComputerName หรือพารามิเตอร์ CimSession cmdlet นี้จะทำงานกับเซิร์ฟเวอร์ CIM ที่ระบุโดยพารามิเตอร์ ComputerName หรือ < พารามิเตอร์CimSession

ตัวอย่าง

ตัวอย่างที่ 1: รับอินสแตนซ์ที่เกี่ยวข้องทั้งหมดของอินสแตนซ์เฉพาะ

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

ชุดคำสั่งนี้จะดึงอินสแตนซ์ของคลาสชื่อ Win32_LogicalDisk และจัดเก็บข้อมูลในตัวแปรชื่อ $disk โดยใช้ cmdlet Get-CimInstance จากนั้นอินสแตนซ์ดิสก์ลอจิคัลตัวแรกในตัวแปรจะถูกใช้เป็นออบเจ็กต์อินพุตสำหรับ Get-CimAssociatedInstance cmdlet เพื่อรับอินสแตนซ์ CIM ที่เกี่ยวข้องทั้งหมดของอินสแตนซ์ CIM ที่ระบุ

ตัวอย่างที่ 2: รับอินสแตนซ์ที่เกี่ยวข้องทั้งหมดของประเภทเฉพาะ

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

ชุดคำสั่งนี้จะดึงข้อมูลอินสแตนซ์ทั้งหมดของคลาส Win32_LogicalDisk และจัดเก็บไว้ในตัวแปรชื่อ $disk จากนั้นอินสแตนซ์ดิสก์ลอจิคัลตัวแรกในตัวแปรจะถูกใช้เป็นออบเจ็กต์อินพุตสำหรับ Get-CimAssociatedInstance cmdlet เพื่อรับอินสแตนซ์ที่เกี่ยวข้องทั้งหมดซึ่งเชื่อมโยงผ่านคลาสการเชื่อมโยงที่ระบุ 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

ระบุชื่อของคลาสการเชื่อมโยง หากคุณไม่ระบุพารามิเตอร์นี้ cmdlet จะส่งกลับออบเจ็กต์การเชื่อมโยงที่มีอยู่ทั้งหมดทุกประเภท

ตัวอย่างเช่น หากคลาส A เชื่อมโยงกับคลาส B ผ่านการเชื่อมโยงสองรายการ คือ AB1 และ AB2 พารามิเตอร์นี้สามารถใช้เพื่อระบุประเภทของการเชื่อมโยง ไม่ว่าจะเป็น AB1 หรือ AB2

พิมพ์ :

String

ตำแหน่ง:

1

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

False

-CimSession

รันคำสั่งโดยใช้เซสชัน CIM ที่ระบุ ป้อนตัวแปรที่มีเซสชัน CIM หรือคำสั่งที่สร้างหรือรับเซสชัน CIM เช่น New-CimSession หรือ Get-CimSession สำหรับข้อมูลเพิ่มเติม โปรดดูที่ about_CimSession

พิมพ์ :

ซิมเซสชั่น[]

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

True

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

False

-ComputerName

ระบุชื่อของคอมพิวเตอร์ที่คุณต้องการรันการดำเนินการ CIM คุณสามารถระบุชื่อโดเมนแบบเต็ม (FQDN) หรือชื่อ NetBIOS ได้

หากคุณระบุพารามิเตอร์นี้ cmdlet จะสร้างเซสชันชั่วคราวไปยังคอมพิวเตอร์ที่ระบุโดยใช้โปรโตคอล WsMan

หากคุณไม่ได้ระบุพารามิเตอร์นี้ cmdlet จะดำเนินการบนเครื่องคอมพิวเตอร์โดยใช้ Component Object Model (COM)

หากมีการดำเนินการหลายอย่างบนคอมพิวเตอร์เครื่องเดียวกัน การเชื่อมต่อโดยใช้เซสชัน CIM จะให้ประสิทธิภาพที่ดีขึ้น

พิมพ์ :

String[]

นามแฝง :

CN, ServerName

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-InputObject

ระบุอินพุตไปยัง cmdlet นี้ คุณสามารถใช้พารามิเตอร์นี้ หรือคุณสามารถไพพ์อินพุตไปยัง cmdlet นี้

พารามิเตอร์ InputObject ไม่ได้ระบุมากกว่าคอลเลกชัน หากคอลเลกชันผ่านไป จะเกิดข้อผิดพลาด เมื่อทำงานกับคอลเลกชัน ให้ไปป์อินพุตเพื่อระบุค่า

พิมพ์ :

CimInstance

นามแฝง :

CimInstance

ตำแหน่ง:

0

ค่าเริ่มต้น:

None

ที่จำเป็น:

True

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

False

-KeyOnly

ส่งคืนออบเจ็กต์ที่มีคุณสมบัติคีย์เท่านั้นที่เติมข้อมูล ซึ่งจะช่วยลดปริมาณข้อมูลที่ถ่ายโอนผ่านเครือข่าย

พิมพ์ :

SwitchParameter

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-Namespace

ระบุเนมสเปซสำหรับการดำเนินการ CIM เนมสเปซดีฟอลต์คือ root/cimv2

บันทึก

คุณสามารถใช้การทำให้แท็บสมบูรณ์เพื่อเรียกดูรายการเนมสเปซได้ เนื่องจาก PowerShell รับรายการเนมสเปซจากเซิร์ฟเวอร์ WMI ภายในเครื่องเพื่อจัดเตรียมรายการเนมสเปซ

พิมพ์ :

String

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

False

-OperationTimeoutSec

ระบุระยะเวลาที่ cmdlet รอการตอบสนองจากคอมพิวเตอร์ โดยค่าเริ่มต้น ค่าของพารามิเตอร์นี้คือ 0 ซึ่งหมายความว่า cmdlet ใช้ค่าการหมดเวลาเริ่มต้นสำหรับเซิร์ฟเวอร์

หากพารามิเตอร์ OperationTimeoutSec ถูกตั้งค่าน้อยกว่าการหมดเวลาการลองเชื่อมต่อที่มีประสิทธิภาพซึ่งอยู่ที่ 3 นาที ความล้มเหลวของเครือข่ายที่ยาวนานกว่าค่าของพารามิเตอร์ OperationTimeoutSec จะไม่สามารถกู้คืนได้ เนื่องจากการดำเนินการบนเซิร์ฟเวอร์หมดเวลาก่อนที่ไคลเอ็นต์จะสามารถเชื่อมต่อใหม่ได้

พิมพ์ :

UInt32

นามแฝง :

OT

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

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 ทรัพยากรมาตรฐาน DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ และ ชื่อคลาสจะถูกต่อท้ายด้วย

ResourceURI สามารถใช้ได้เฉพาะกับเซสชัน CIM ที่สร้างขึ้นโดยใช้โปรโตคอล WSMan หรือเมื่อระบุพารามิเตอร์ ComputerName ซึ่งสร้างเซสชัน CIM โดยใช้ WSMan หากคุณระบุพารามิเตอร์นี้โดยไม่ระบุพารามิเตอร์ ComputerName หรือหากคุณระบุเซสชัน CIM ที่สร้างโดยใช้โปรโตคอล DCOM คุณจะได้รับข้อผิดพลาดเนื่องจากโปรโตคอล DCOM ไม่รองรับ ResourceURI ที่แข็งแกร่ง

หากมีการระบุทั้งพารามิเตอร์ ResourceUri และพารามิเตอร์ ตัวกรอง พารามิเตอร์ ตัวกรอง จะถูกละเว้น

พิมพ์ :

ยูริ

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-ResultClassName

ระบุชื่อคลาสของอินสแตนซ์ที่เกี่ยวข้อง อินสแตนซ์ CIM สามารถเชื่อมโยงกับอินสแตนซ์ CIM ได้ตั้งแต่หนึ่งรายการขึ้นไป อินสแตนซ์ CIM ที่เกี่ยวข้องทั้งหมดจะถูกส่งคืน หากคุณไม่ได้ระบุชื่อคลาสผลลัพธ์

โดยดีฟอลต์ ค่าของพารามิเตอร์นี้เป็น null และอินสแตนซ์ CIM ที่เกี่ยวข้องทั้งหมดจะถูกส่งคืน

คุณสามารถกรองผลลัพธ์การเชื่อมโยงเพื่อให้ตรงกับชื่อคลาสที่ระบุได้ การกรองเกิดขึ้นบนเซิร์ฟเวอร์ หากไม่ได้ระบุพารามิเตอร์นี้ Get-CIMAssociatedInstance จะส่งกลับการเชื่อมโยงที่มีอยู่ทั้งหมด ตัวอย่างเช่น หากคลาส A เชื่อมโยงกับคลาส B, C และ D พารามิเตอร์นี้สามารถใช้เพื่อจำกัดเอาต์พุตให้เป็นประเภทเฉพาะ (B, C หรือ D)

พิมพ์ :

String

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

อินพุต

ไม่มี

คุณไม่สามารถไปป์วัตถุกับ cmdlet นี้

เอาท์พุต

CimInstance

cmdlet นี้ส่งคืนวัตถุอินสแตนซ์ CIM

หมายเหตุ

PowerShell มีนามแฝงต่อไปนี้สำหรับ Get-CimAssociatedInstance:

  • Windows:

      gcai

cmdlet นี้ใช้ได้เฉพาะบนแพลตฟอร์ม Windows เท่านั้น