Bagikan melalui


New-CimInstance

Membuat instans CIM.

Sintaks

New-CimInstance
   [-ClassName] <String>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-ComputerName <String[]>]
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   [-ClassName] <String>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   -CimSession <CimSession[]>
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   -ResourceUri <Uri>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   -CimSession <CimSession[]>
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   -ResourceUri <Uri>
   [-Key <String[]>]
   [[-Property] <IDictionary>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-ComputerName <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   [-CimClass] <CimClass>
   [[-Property] <IDictionary>]
   [-OperationTimeoutSec <UInt32>]
   -CimSession <CimSession[]>
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CimInstance
   [-CimClass] <CimClass>
   [[-Property] <IDictionary>]
   [-OperationTimeoutSec <UInt32>]
   [-ComputerName <String[]>]
   [-ClientOnly]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Deskripsi

Cmdlet ini hanya tersedia di platform Windows.

New-CimInstance Cmdlet membuat instans kelas CIM berdasarkan definisi kelas pada komputer lokal atau komputer jarak jauh. Secara default, New-CimInstance cmdlet membuat instans di komputer lokal.

Contoh

Contoh 1: Membuat instans kelas CIM

Contoh ini membuat instans Kelas CIM bernama win32_environment di namespace root/cimv2 di komputer.

New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";VariableValue="testvalue";UserName="domain\user"}

Tidak ada validasi sisi klien yang dilakukan jika kelas tidak ada, properti salah, atau jika server menolak panggilan. Jika instans berhasil dibuat, cmdlet menghasilkan instans yang baru dibuat.

Contoh 2: Membuat instans kelas CIM menggunakan skema kelas

Contoh ini mengambil objek kelas CIM dan menyimpannya dalam variabel bernama $class. Konten variabel kemudian diteruskan ke New-CimInstance cmdlet.

$class = Get-CimClass -ClassName Win32_Environment
New-CimInstance -CimClass $class -Property @{Name="testvar";VariableValue="testvalue";UserName="Contoso\User1"}

Contoh 3: Membuat instans dinamis pada klien

Contoh ini membuat instans dinamis kelas CIM bernama Win32_Process di komputer klien tanpa mendapatkan instans dari server. Instans baru disimpan dalam variabel $a. Instans dinamis ini dapat digunakan untuk melakukan operasi jika instans dengan kunci ini ada di server.

$a = New-CimInstance -ClassName Win32_Process -Property @{Handle=0} -Key Handle -ClientOnly
Get-CimInstance -CimInstance $a
Invoke-CimMethod -CimInstance $a -MethodName GetOwner

ProcessId Name                HandleCount WorkingSetSize VirtualSize
--------- ----                ----------- -------------- -----------
0         System Idle Process 0           8192           8192

Domain         :
ReturnValue    : 2
User           :
PSComputerName :

Get-CimInstance Cmdlet kemudian mengambil instans tunggal tertentu. Invoke-CimMethod Cmdlet memanggil metode GetOwner pada instans yang diambil.

Contoh 4: Membuat instans untuk kelas CIM dari namespace tertentu

Contoh ini mendapatkan instans kelas CIM bernama MSFT_Something di akar namespace layanan/di suatu tempat dan menyimpannya dalam variabel bernama $class. Variabel diteruskan ke New-CimInstance cmdlet untuk membuat instans CIM baru dan melakukan validasi sisi klien pada instans baru.

$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere
New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly

Dalam contoh ini, menggunakan parameter CimClass alih-alih parameter ClassName memvalidasi bahwa Prop1 dan Prop2 benar-benar ada dan bahwa kunci ditandai dengan benar.

Anda tidak dapat menggunakan parameter ComputerName atau CimSession dengan parameter ClientOnly .

Parameter

-CimClass

Menentukan objek kelas CIM yang mewakili jenis instans. Get-CimClass Gunakan cmdlet untuk mengambil deklarasi kelas dari komputer. Menggunakan parameter ini menghasilkan validasi skema sisi klien yang lebih baik.

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

-CimSession

Menjalankan perintah menggunakan sesi CIM yang ditentukan. 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 tempat operasi membuat instans. CATATAN: 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

-ClientOnly

Menunjukkan bahwa instans hanya dibuat di PowerShell tanpa masuk ke server CIM. Anda dapat menggunakan parameter ini untuk membuat instans CIM dalam memori untuk digunakan dalam operasi PowerShell berikutnya.

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

-ComputerName

Menentukan nama komputer tempat Anda ingin menjalankan operasi CIM. Anda dapat menentukan nama domain yang sepenuhnya memenuhi syarat (FQDN), nama NetBIOS, atau alamat IP.

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

Jika Anda tidak menentukan parameter ini, cmdlet melakukan operasi pada komputer lokal menggunakan Model Objek Komponen (COM).

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

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

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

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

-Key

Menentukan properti yang digunakan sebagai kunci. CimSession dan ComputerName tidak dapat digunakan saat Kunci ditentukan.

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

-Namespace

Menentukan namespace kelas untuk instans baru. 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 server CIM. 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 properti instans CIM menggunakan tabel hash (pasangan nama-nilai).

Jika Anda menentukan parameter CimClass , cmdlet New-CimInstance melakukan validasi properti pada klien untuk memastikan bahwa properti yang ditentukan konsisten dengan deklarasi kelas di server. Jika parameter CimClass tidak ditentukan, maka validasi properti dilakukan di server.

Type:IDictionary
Aliases:Arguments
Position:1
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:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

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

Input

None

Anda tidak dapat menyalurkan objek ke cmdlet ini.

Output

CimInstance

Cmdlet ini mengembalikan objek yang berisi informasi instans CIM.

Catatan

PowerShell menyertakan alias berikut untuk New-CimInstance:

  • Windows:
    • ncim

Cmdlet ini hanya tersedia di platform Windows.