Bagikan melalui


Set-CimInstance

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

Sintaks

CimInstanceComputerSet (Default)

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

CimInstanceSessionSet

Set-CimInstance
    [-InputObject] <CimInstance>
    -CimSession <CimSession[]>
    [-ResourceUri <Uri>]
    [-OperationTimeoutSec <UInt32>]
    [-Property <IDictionary>]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QuerySessionSet

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

QueryComputerSet

Set-CimInstance
    [-Query] <String>
    -Property <IDictionary>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-QueryDialect <String>]
    [-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 ditentukan, maka cmdlet ini berfungsi pada Instrumentasi Manajemen Windows (WMI) lokal menggunakan sesi Model Objek Komponen (COM).
  • Jika parameter ComputerName atau parameter CimSession ditentukan, 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 ditentukan, cmdlet ini 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).

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

Contoh 2: Atur properti instans CIM menggunakan alur

Contoh ini mengambil objek instans CIM yang difilter oleh parameter Kueri menggunakan cmdlet Get-CimInstance. Cmdlet Set-CimInstance memodifikasi nilai properti VariableValue ke 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 cmdlet Set-CimInstance. Set-CimInstance kemudian memodifikasi properti VariableValue untuk 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 ke dalam variabel $x menggunakan cmdlet Get-CimInstance, dan mengubah nilai properti VariableValue objek untuk diubah. Objek instans CIM kemudian disimpan menggunakan cmdlet Set-CimInstance. 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.

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

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.

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

Contoh 7: Atur instans CIM yang dibuat

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

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

Parameter

-CimSession

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

Properti parameter

Jenis:

CimSession[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

CimInstanceSessionSet
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
QuerySessionSet
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:CN, ServerName

Kumpulan parameter

CimInstanceComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
QueryComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Confirm

Meminta konfirmasi sebelum menjalankan cmdlet.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:Cf

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:CimInstance
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:CimInstance

Kumpulan parameter

CimInstanceComputerSet
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
CimInstanceSessionSet
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Namespace

Menentukan namespace untuk operasi CIM. Namespace default root/CIMV2 . Anda dapat menggunakan penyelesaian tab untuk menelusuri daftar namespace, karena PowerShell mendapatkan daftar namespace dari server WMI lokal untuk menyediakan daftar namespace.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

QuerySessionSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
QueryComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa: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 terhubung kembali.

Properti parameter

Jenis:UInt32
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:OT

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-PassThru

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

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:IDictionary
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:Argumen

Kumpulan parameter

CimInstanceComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
CimInstanceSessionSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
QuerySessionSet
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
QueryComputerSet
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa: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 melepaskan karakter tersebut dengan mengawalinya dengan karakter garis miring terbalik (\). Jika nilai yang ditentukan menggunakan operator LIKE WQL, maka Anda harus menghindari karakter berikut dengan mengapitnya dalam tanda kurung siku ([]): persen (%), garis bawah (_), atau membuka kurung siku ([).

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

QuerySessionSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
QueryComputerSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

QuerySessionSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
QueryComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa: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 sumber daya standar DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ 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.

Properti parameter

Jenis:Uri
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

CimInstanceComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
CimInstanceSessionSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-WhatIf

Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:wi

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

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.