Get-CimInstance

Mendapatkan instans CIM kelas dari server CIM.

Sintaks

Get-CimInstance
   [-ClassName] <String>
   [-ComputerName <String[]>]
   [-KeyOnly]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-QueryDialect <String>]
   [-Shallow]
   [-Filter <String>]
   [-Property <String[]>]
   [<CommonParameters>]
Get-CimInstance
   -CimSession <CimSession[]>
   -ResourceUri <Uri>
   [-KeyOnly]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Shallow]
   [-Filter <String>]
   [-Property <String[]>]
   [<CommonParameters>]
Get-CimInstance
   -CimSession <CimSession[]>
   [-ResourceUri <Uri>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   -Query <String>
   [-QueryDialect <String>]
   [-Shallow]
   [<CommonParameters>]
Get-CimInstance
   -CimSession <CimSession[]>
   [-ClassName] <String>
   [-KeyOnly]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-QueryDialect <String>]
   [-Shallow]
   [-Filter <String>]
   [-Property <String[]>]
   [<CommonParameters>]
Get-CimInstance
   -CimSession <CimSession[]>
   [-ResourceUri <Uri>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [<CommonParameters>]
Get-CimInstance
   [-ResourceUri <Uri>]
   [-ComputerName <String[]>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [<CommonParameters>]
Get-CimInstance
   -ResourceUri <Uri>
   [-ComputerName <String[]>]
   [-KeyOnly]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Shallow]
   [-Filter <String>]
   [-Property <String[]>]
   [<CommonParameters>]
Get-CimInstance
   [-ResourceUri <Uri>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   -Query <String>
   [-QueryDialect <String>]
   [-Shallow]
   [<CommonParameters>]

Deskripsi

Cmdlet ini hanya tersedia di platform Windows.

Get-CimInstance Cmdlet mendapatkan instans CIM kelas dari server CIM. Anda dapat menentukan nama kelas atau kueri untuk cmdlet ini. Cmdlet ini mengembalikan satu atau beberapa objek instans CIM yang mewakili rekam jepret instans CIM yang ada di server CIM.

Jika parameter InputObject tidak ditentukan, cmdlet berfungsi dengan salah satu cara berikut:

  • Jika parameter ComputerName maupun parameter CimSession tidak ditentukan, cmdlet ini tidak berfungsi pada Instrumentasi Manajemen Windows (WMI) lokal menggunakan sesi Model Objek Komponen (COM).
  • Jika parameter ComputerName atau parameter CimSession ditentukan, maka cmdlet ini berfungsi terhadap server CIM yang ditentukan oleh parameter ComputerName atau parameter CimSession.

Jika parameter InputObject ditentukan, cmdlet berfungsi dengan salah satu cara berikut:

  • Jika parameter ComputerName maupun parameter CimSession tidak ditentukan, cmdlet ini tidak menggunakan sesi CIM atau nama komputer dari objek input.
  • Jika parameter ComputerName atau parameter CimSession ditentukan, cmdlet ini menggunakan nilai parameter CimSession atau nilai parameter ComputerName.

Contoh

Contoh 1: Mendapatkan instans CIM dari kelas tertentu

Contoh ini mengambil instans CIM dari kelas bernama Win32_Process.

Get-CimInstance -ClassName Win32_Process

Contoh 2: Mendapatkan daftar namespace layanan dari server WMI

Contoh ini mengambil daftar namespace layanan di bawah namespace layanan Root di server WMI.

Get-CimInstance -Namespace root -ClassName __Namespace

Contoh 3: Mendapatkan instans kelas yang difilter dengan menggunakan kueri

Contoh ini mengambil semua instans CIM yang dimulai dengan huruf P dari kelas bernama Win32_Process menggunakan kueri yang ditentukan oleh parameter Kueri .

Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'P%'"

Contoh 4: Mendapatkan instans kelas yang difilter dengan menggunakan nama kelas dan ekspresi filter

Contoh ini mengambil semua instans CIM yang dimulai dengan huruf P dari kelas bernama Win32_Process menggunakan parameter Filter.

Get-CimInstance -ClassName Win32_Process -Filter "Name like 'P%'"

Contoh 5: Dapatkan instans CIM hanya dengan properti kunci yang diisi

Contoh ini membuat instans CIM baru dalam memori untuk kelas bernama Win32_Process dengan properti @{ "Handle"=0 } kunci dan menyimpannya dalam variabel bernama $x . Variabel diteruskan sebagai instans CIM ke Get-CimInstance cmdlet untuk mendapatkan instans tertentu.

$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{ "Handle"=0 } -Key Handle -ClientOnly
Get-CimInstance -CimInstance $x

Contoh 6: Mengambil instans CIM dan menggunakannya kembali

Contoh ini mendapatkan instans CIM dari kelas bernama Win32_Process dan menyimpannya dalam variabel $x dan $y. Variabel $x kemudian diformat dalam tabel yang hanya berisi properti Nama dan KernelModeTime , tabel diatur ke Ukuran Otomatis.

$x,$y = Get-CimInstance -ClassName Win32_Process
$x | Format-Table -Property Name,KernelModeTime -AutoSize

Name                 KernelModeTime
----                 --------------
System Idle Process 157238797968750

Contoh 7: Mendapatkan instans CIM dari komputer jarak jauh

Contoh ini mengambil instans CIM kelas bernama Win32_ComputerSystem dari komputer jarak jauh bernama Server01 dan Server02.

Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02

Contoh 8: Hanya mendapatkan properti kunci, bukan semua properti

Contoh ini hanya mengambil properti utama, yang mengurangi ukuran objek dan lalu lintas jaringan.

$x = Get-CimInstance -Class Win32_Process -KeyOnly
$x | Invoke-CimMethod -MethodName GetOwner

Contoh 9: Hanya mendapatkan subset properti, bukan semua properti

Contoh ini hanya mengambil subset properti, yang mengurangi ukuran objek dan lalu lintas jaringan.

Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x = Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x | Invoke-CimMethod -MethodName GetOwner

Instans yang diambil dengan parameter Properti dapat digunakan untuk melakukan operasi CIM lainnya, misalnya Set-CimInstance atau Invoke-CimMethod.

Contoh 10: Dapatkan instans CIM menggunakan sesi CIM

Contoh ini membuat sesi CIM di komputer bernama Server01 dan Server02 menggunakan New-CimSession cmdlet dan menyimpan informasi sesi dalam variabel bernama $s. Konten variabel kemudian diteruskan dengan Get-CimInstance menggunakan parameter CimSession , untuk mendapatkan instans CIM kelas bernama Win32_ComputerSystem.

$s = New-CimSession -ComputerName Server01,Server02
Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s

Parameter

-CimSession

Menentukan sesi CIM yang akan digunakan untuk cmdlet ini. Masukkan variabel yang berisi sesi CIM atau perintah yang membuat atau mendapatkan sesi CIM, seperti New-CimSession cmdlet atau Get-CimSession . Untuk informasi selengkapnya, lihat about_CimSession.

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

-ClassName

Menentukan nama kelas CIM untuk mengambil instans CIM. Anda dapat menggunakan penyelesaian tab untuk menelusuri daftar kelas, karena PowerShell mendapatkan daftar kelas dari server WMI lokal untuk menyediakan daftar nama kelas.

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

-ComputerName

Menentukan komputer tempat Anda ingin menjalankan operasi CIM. Anda dapat menentukan nama domain yang sepenuhnya memenuhi syarat (FQDN), nama NetBIOS, atau alamat IP. Jika Anda tidak menentukan parameter ini, cmdlet melakukan operasi pada komputer lokal menggunakan Model Objek Komponen (COM).

Jika Anda menentukan parameter ini, cmdlet membuat sesi sementara ke komputer yang ditentukan menggunakan protokol WsMan.

Jika beberapa operasi sedang dilakukan pada komputer yang sama, sambungkan menggunakan sesi CIM untuk performa yang lebih baik.

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

-Filter

Menentukan klausa where untuk digunakan sebagai filter. Tentukan klausa dalam bahasa kueri WQL atau CQL . Jangan sertakan WHERE kata kunci dalam nilai parameter.

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

-InputObject

Menentukan objek instans CIM untuk digunakan sebagai input.

Jika Anda sudah bekerja dengan objek instans CIM, Anda dapat menggunakan parameter ini untuk meneruskan objek instans CIM untuk mendapatkan rekam jepret terbaru dari server CIM. Saat Anda meneruskan objek instans CIM sebagai input, Get-CimInstance mengembalikan objek dari server menggunakan operasi get CIM, alih-alih operasi enumerasi atau kueri. Menggunakan operasi get CIM lebih efisien daripada mengambil semua instans lalu memfilternya.

Parameter InputObject tidak menghitung koleksi. Jika koleksi diteruskan, kesalahan akan muncul. Saat bekerja dengan koleksi, pipa input untuk menghitung nilai.

Jika kelas CIM tidak menerapkan operasi get, maka menentukan parameter InputObject mengembalikan kesalahan.

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

-KeyOnly

Menunjukkan bahwa hanya objek dengan properti kunci yang diisi yang dikembalikan. Menentukan parameter KeyOnly mengurangi jumlah data yang ditransfer melalui jaringan.

Gunakan parameter KeyOnly untuk mengembalikan hanya sebagian kecil objek, yang dapat digunakan untuk operasi lain, seperti Set-CimInstance cmdlet atau Get-CimAssociatedInstance .

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

-Namespace

Menentukan namespace kelas CIM.

Namespace default adalah root/cimv2. Anda dapat menggunakan penyelesaian tab untuk menelusuri daftar namespace, karena PowerShell mendapatkan daftar namespace layanan dari server WMI lokal untuk menyediakan daftar namespace layanan.

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

-OperationTimeoutSec

Menentukan jumlah waktu cmdlet menunggu respons dari komputer. Secara default, nilai parameter ini adalah 0, yang berarti bahwa cmdlet menggunakan nilai batas waktu default untuk server.

Jika parameter OperationTimeoutSec diatur ke nilai yang kurang dari batas waktu coba lagi koneksi yang kuat selama 3 menit, kegagalan jaringan yang berlangsung lebih dari nilai parameter OperationTimeoutSec tidak dapat dipulihkan, karena operasi pada server habis sebelum klien dapat tersambung kembali.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

Menentukan sekumpulan properti instans yang akan diambil. Gunakan parameter ini saat Anda perlu mengurangi ukuran objek yang dikembalikan, baik dalam memori atau melalui jaringan. Objek yang dikembalikan juga berisi properti kunci meskipun Anda belum mencantumkannya menggunakan parameter Properti . Properti kelas lainnya ada tetapi tidak diisi.

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

-Query

Menentukan kueri yang akan dijalankan di server CIM. Jika nilai yang ditentukan berisi tanda kutip "ganda , tanda kutip 'tunggal , atau garis \miring terbalik , Anda harus menghindari karakter tersebut dengan mengawalinya dengan karakter garis miring terbalik. Jika nilai yang ditentukan menggunakan operator WQL LIKE , maka Anda harus keluar dari karakter berikut dengan mengapitnya dalam kurung []siku : persen %, garis bawah _, atau kurung [siku pembuka .

Anda tidak dapat menggunakan kueri metadata untuk mengambil daftar kelas atau kueri peristiwa. Untuk mengambil daftar kelas, gunakan Get-CimClass cmdlet . Untuk mengambil kueri peristiwa, gunakan Register-CimIndicationEvent cmdlet .

Anda dapat menentukan dialek kueri menggunakan parameter QueryDialect .

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

-QueryDialect

Menentukan bahasa kueri yang digunakan untuk parameter Kueri. Nilai yang dapat diterima untuk parameter ini adalah: WQL atau CQL. Nilai defaultnya adalah WQL.

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

-ResourceUri

Menentukan pengidentifikasi sumber daya seragam sumber daya (URI) dari kelas atau instans sumber daya. URI digunakan untuk mengidentifikasi jenis sumber daya tertentu, seperti disk atau proses, di komputer.

URI terdiri dari awalan dan jalur ke sumber daya. Contohnya:

  • http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
  • http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

Secara default, jika Anda tidak menentukan parameter ini, URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ sumber daya standar DMTF digunakan dan nama kelas ditambahkan ke parameter tersebut.

ResourceURI hanya dapat digunakan dengan sesi CIM yang dibuat menggunakan protokol WSMan, atau saat menentukan parameter ComputerName , yang membuat sesi CIM menggunakan WSMan. Jika Anda menentukan parameter ini tanpa menentukan parameter ComputerName , atau jika Anda menentukan sesi CIM yang dibuat menggunakan protokol DCOM, Anda akan mendapatkan kesalahan, karena protokol DCOM tidak mendukung parameter ResourceURI .

Jika parameter ResourceUri dan parameter Filter ditentukan, parameter Filter diabaikan.

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

-Shallow

Menunjukkan bahwa instans kelas dikembalikan tanpa menyertakan instans kelas turunan apa pun. Secara default, cmdlet mengembalikan instans kelas dan kelas turunannya.

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

Input

CimInstance

Anda dapat menyalurkan objek instans CIM ke cmdlet ini.

Output

CimInstance

Cmdlet ini mengembalikan satu atau beberapa objek instans CIM yang mewakili rekam jepret instans CIM di server CIM.

Catatan

PowerShell menyertakan alias berikut untuk Get-CimInstance:

  • Windows:
    • gcim

Cmdlet ini hanya tersedia di platform Windows.