Bagikan melalui


Set-CimInstance

Memodifikasi instans CIM di server CIM dengan memanggil metode ModifyInstance dari kelas CIM.

Sintaks

Set-CimInstance
   [-ComputerName <String[]>]
   [-ResourceUri <Uri>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [-Property <IDictionary>]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   -CimSession <CimSession[]>
   [-ResourceUri <Uri>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [-Property <IDictionary>]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   -CimSession <CimSession[]>
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Query] <String>
   [-QueryDialect <String>]
   -Property <IDictionary>
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Query] <String>
   [-QueryDialect <String>]
   -Property <IDictionary>
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Deskripsi

Cmdlet ini hanya tersedia di platform Windows.

Cmdlet ini memodifikasi instans CIM 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. Ini tidak terlalu umum.

Contoh

Contoh 1: Atur instans CIM

Contoh ini mengatur nilai properti VariableValue ke abcd menggunakan parameter Kueri . Anda dapat memodifikasi instans yang cocok dengan kueri Windows Management Instrumentation Query Language (WQL).

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"}

Contoh 2: Atur properti instans CIM menggunakan alur

Contoh ini mengambil objek instans CIM yang difilter oleh parameter Kueri menggunakan Get-CimInstance cmdlet. Set-CimInstance Cmdlet memodifikasi nilai properti VariableValue menjadi abcd.

Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' |
  Set-CimInstance -Property @{VariableValue="abcd"}

Contoh 3: Atur properti instans CIM menggunakan objek input

$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru

Contoh ini mengambil objek instans CIM yang difilter oleh parameter Kueri ke variabel $x menggunakan Get-CimInstance, lalu meneruskan konten variabel ke Set-CimInstance cmdlet. Set-CimInstance kemudian memodifikasi properti VariableValue menjadi somevalue. Karena parameter Passthru digunakan, Contoh ini mengembalikan objek instans CIM yang dimodifikasi.

Contoh 4: Atur properti instans CIM

Contoh ini mengambil objek instans CIM yang ditentukan dalam parameter Kueri menjadi variabel $x menggunakan Get-CimInstance cmdlet, dan mengubah nilai properti VariableValue objek untuk diubah. Objek instans CIM kemudian disimpan menggunakan Set-CimInstance cmdlet. Karena parameter Passthru digunakan, Contoh ini mengembalikan objek instans CIM yang dimodifikasi.

$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru

Contoh 5: Menampilkan daftar instans CIM untuk dimodifikasi menggunakan WhatIf

Contoh ini menggunakan parameter umum WhatIf untuk menentukan bahwa modifikasi tidak boleh dilakukan, tetapi hanya menghasilkan apa yang akan terjadi jika dilakukan.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf

Contoh 6: Atur instans CIM setelah konfirmasi dari pengguna

Contoh ini menggunakan parameter umum Konfirmasi untuk menentukan bahwa modifikasi harus dilakukan hanya setelah konfirmasi dari pengguna.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -Confirm

Contoh 7: Atur instans CIM yang dibuat

Contoh ini membuat instans CIM dengan properti yang ditentukan menggunakan New-CimInstance cmdlet, dan mengambil kontennya ke variabel $x. Variabel kemudian diteruskan ke Set-CimInstance cmdlet, yang memodifikasi nilai properti VariableValue ke somevalue. Karena parameter Passthru digunakan, Contoh ini mengembalikan objek instans CIM yang dimodifikasi.

$x = New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";UserName="domain\user"} -Key Name,UserName -ClientOnly
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru

Parameter

-CimSession

Menjalankan cmdlet pada komputer jarak jauh. Masukkan nama komputer atau objek sesi, seperti output New-CimSession cmdlet atau Get-CimSession .

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

-ComputerName

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

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, menyambungkan menggunakan sesi CIM memberikan performa yang lebih baik.

Type:String[]
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
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

-InputObject

Menentukan objek instans CIM untuk digunakan sebagai input.

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

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

-Namespace

Menentukan namespace layanan untuk operasi 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

-PassThru

Mengembalikan objek yang mewakili item tempat Anda bekerja. Secara default, cmdlet ini tidak menghasilkan output apa pun.

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

-Property

Menentukan properti instans CIM sebagai tabel hash (menggunakan pasangan nama-nilai). Hanya properti yang ditentukan menggunakan parameter ini yang diubah. Properti lain dari instans CIM tidak diubah.

Type:IDictionary
Aliases:Arguments
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Query

Menentukan kueri yang akan dijalankan di server CIM untuk mengambil instans CIM tempat menjalankan cmdlet. Anda dapat menentukan dialek kueri menggunakan parameter QueryDialect.

Jika nilai yang ditentukan berisi tanda kutip ganda ("), tanda kutip tunggal ('), atau garis miring terbalik (\), Anda harus keluar dari 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 tanda kurung siku ([]): persen (%), garis bawah (_), atau kurung siku pembuka ([).

Type:String
Position:0
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

-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

CimInstance

Output

None

Secara default, cmdlet ini tidak mengembalikan output.

CimInstance

Saat Anda menggunakan parameter Passthru , cmdlet ini mengembalikan objek instans CIM yang dimodifikasi.

Catatan

PowerShell menyertakan alias berikut untuk Set-CimInstance:

  • Windows:
    • scim

Cmdlet ini hanya tersedia di platform Windows.