Set-WmiInstance

Membuat atau memperbarui instans kelas Windows Management Instrumentation (WMI) yang ada.

Sintaks

Set-WmiInstance
   [-Class] <String>
   [-Arguments <Hashtable>]
   [-PutType <PutType>]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WmiInstance
   -InputObject <ManagementObject>
   [-Arguments <Hashtable>]
   [-PutType <PutType>]
   [-AsJob]
   [-ThrottleLimit <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WmiInstance
   -Path <String>
   [-Arguments <Hashtable>]
   [-PutType <PutType>]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WmiInstance
   [-PutType <PutType>]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WmiInstance
   [-PutType <PutType>]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WmiInstance
   [-PutType <PutType>]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Deskripsi

Set-WmiInstance Cmdlet membuat atau memperbarui instans kelas Windows Management Instrumentation (WMI) yang ada. Instans yang dibuat atau diperbarui ditulis ke repositori WMI.

Cmdlet CIM baru, memperkenalkan Windows PowerShell 3.0, melakukan tugas yang sama dengan cmdlet WMI. Cmdlet CIM mematuhi standar WS-Management (WSMan) dan dengan standar Common Information Model (CIM). ini memungkinkan cmdlet menggunakan teknik yang sama untuk mengelola komputer berbasis Windows dan yang menjalankan sistem operasi lainnya. Alih-alih menggunakan Set-WmiInstance, pertimbangkan untuk menggunakan cmdlet Set-CimInstance atau New-CimInstance .

Contoh

Contoh 1: Mengatur tingkat pengelogan WMI

Set-WmiInstance -Class Win32_WMISetting -Argument @{LoggingLevel=2}

__GENUS                        : 2
__CLASS                        : Win32_WMISetting
__SUPERCLASS                   : CIM_Setting
__DYNASTY                      : CIM_Setting
__RELPATH                      : Win32_WMISetting=@
__PROPERTY_COUNT               : 27
__DERIVATION                   : {CIM_Setting}
__SERVER                       : SYSTEM01
__NAMESPACE                    : root\cimv2
__PATH                         : \\SYSTEM01\root\cimv2:Win32_WMISetting=@
ASPScriptDefaultNamespace      : \\root\cimv2
ASPScriptEnabled               : False
AutorecoverMofs                : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst
em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...}
AutoStartWin9X                 :
BackupInterval                 :
BackupLastTime                 :
BuildVersion                   : 6001.18000
Caption                        :
DatabaseDirectory              : C:\Windows\system32\wbem\repository
DatabaseMaxSize                :
Description                    :
EnableAnonWin9xConnections     :
EnableEvents                   : False
EnableStartupHeapPreallocation : False
HighThresholdOnClientObjects   :
HighThresholdOnEvents          : 20000000
InstallationDirectory          : C:\Windows\system32\wbem
LastStartupHeapPreallocation   :
LoggingDirectory               : C:\Windows\system32\wbem\Logs\
LoggingLevel                   : 2
LowThresholdOnClientObjects    :
LowThresholdOnEvents           : 10000000
MaxLogFileSize                 : 65536
MaxWaitOnClientObjects         :
MaxWaitOnEvents                : 2000
MofSelfInstallDirectory        :
SettingID                      :

Perintah ini mengatur tingkat pengelogan WMI ke 2. Perintah meneruskan properti yang akan diatur dan nilainya, bersama-sama mempertimbangkan pasangan nilai, dalam parameter argumen. Parameter mengambil tabel hash yang ditentukan oleh @{property = value} konstruksi. Informasi kelas yang dikembalikan mencerminkan nilai baru.

Contoh 2: Membuat variabel lingkungan dan nilainya

Set-WmiInstance -Class win32_environment -Argument @{Name="testvar";VariableValue="testvalue";UserName="<SYSTEM>"}

__GENUS          : 2
__CLASS          : Win32_Environment
__SUPERCLASS     : CIM_SystemResource
__DYNASTY        : CIM_ManagedSystemElement
__RELPATH        : Win32_Environment.Name="testvar",UserName="<SYSTEM>"
__PROPERTY_COUNT : 8
__DERIVATION     : {CIM_SystemResource, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER         : SYSTEM01
__NAMESPACE      : root\cimv2
__PATH           : \\SYSTEM01\root\cimv2:Win32_Environment.Name="testvar",UserName="<SYSTEM>"
Caption          : <SYSTEM>\testvar
Description      : <SYSTEM>\testvar
InstallDate      :
Name             : testvar
Status           : OK
SystemVariable   : True
UserName         : <SYSTEM>
VariableValue    : testvalue

Perintah ini membuat variabel lingkungan testvar yang memiliki nilai testvalue. Ini dilakukan dengan membuat instans baru kelas WMI Win32_Environment . Operasi ini memerlukan kredensial yang sesuai dan Anda mungkin harus memulai ulang Windows PowerShell untuk melihat variabel lingkungan baru.

Contoh 3: Mengatur tingkat pengelogan WMI untuk beberapa komputer jarak jauh

Set-WmiInstance -Class Win32_WMISetting -Argument @{LoggingLevel=2} -Computername "system01", "system02", "system03"

__GENUS                        : 2
__CLASS                        : Win32_WMISetting
__SUPERCLASS                   : CIM_Setting
__DYNASTY                      : CIM_Setting
__RELPATH                      : Win32_WMISetting=@
__PROPERTY_COUNT               : 27
__DERIVATION                   : {CIM_Setting}
__SERVER                       : SYSTEM01
__NAMESPACE                    : root\cimv2
__PATH                         : \\SYSTEM01\root\cimv2:Win32_WMISetting=@
ASPScriptDefaultNamespace      : \\root\cimv2
ASPScriptEnabled               : False
AutorecoverMofs                : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst
em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...}
AutoStartWin9X                 :
BackupInterval                 :
BackupLastTime                 :
BuildVersion                   : 6001.18000
Caption                        :
DatabaseDirectory              : C:\Windows\system32\wbem\repository
DatabaseMaxSize                :
Description                    :
EnableAnonWin9xConnections     :
EnableEvents                   : False
EnableStartupHeapPreallocation : False
HighThresholdOnClientObjects   :
HighThresholdOnEvents          : 20000000
InstallationDirectory          : C:\Windows\system32\wbem
LastStartupHeapPreallocation   :
LoggingDirectory               : C:\Windows\system32\wbem\Logs\
LoggingLevel                   : 2
LowThresholdOnClientObjects    :
LowThresholdOnEvents           : 10000000
MaxLogFileSize                 : 65536
MaxWaitOnClientObjects         :
MaxWaitOnEvents                : 2000
MofSelfInstallDirectory        :
SettingID                      :
...

Perintah ini mengatur tingkat pengelogan WMI ke 2. Perintah meneruskan properti yang akan diatur dan nilainya, bersama-sama mempertimbangkan pasangan nilai, dalam parameter argumen. Parameter mengambil tabel hash yang ditentukan oleh @{property = value} konstruksi. Informasi kelas yang dikembalikan mencerminkan nilai baru.

Parameter

-Arguments

Menentukan nama properti yang akan diubah dan nilai baru untuk properti tersebut. Nama dan nilai harus berupa pasangan nama-nilai. Pasangan nama-nilai diteruskan pada baris perintah sebagai tabel hash. Contohnya:

@{Setting1=1; Setting2=5; Setting3="test"}

Type:Hashtable
Aliases:Args, Property
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

Menunjukkan bahwa cmdlet ini berjalan sebagai pekerjaan latar belakang. Gunakan parameter ini untuk menjalankan perintah yang membutuhkan waktu lama untuk diselesaikan.

Saat Anda menentukan parameter AsJob , perintah mengembalikan objek yang mewakili pekerjaan latar belakang lalu menampilkan prompt perintah. Anda dapat terus bekerja dalam sesi saat pekerjaan selesai. Jika digunakan untuk komputer jarak jauh, pekerjaan dibuat pada komputer lokal, dan hasil dari komputer jarak jauh secara otomatis dikembalikan ke komputer lokal. Untuk mengelola pekerjaan, gunakan cmdlet yang berisi kata benda Pekerjaan ( cmdlet Pekerjaan ). Untuk mendapatkan hasil pekerjaan, gunakan Receive-Job cmdlet .

Untuk menggunakan parameter ini bersama dengan komputer jarak jauh, komputer lokal dan jarak jauh harus dikonfigurasi untuk jarak jauh. Selain itu, Anda harus memulai Windows PowerShell dengan menggunakan opsi Jalankan sebagai administrator di Windows Vista dan versi sistem operasi Windows yang lebih baru. Untuk informasi selengkapnya, lihat about_Remote_Requirements.

Untuk informasi selengkapnya tentang pekerjaan latar belakang Windows PowerShell, lihat about_Jobs dan about_Remote_Jobs.

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

-Authentication

Menentukan tingkat autentikasi yang harus digunakan dengan koneksi WMI. Nilai yang dapat diterima untuk parameter ini adalah:

  • -1:Berubah.
  • 0:Default.
  • 1:Tidak. Tidak ada autentikasi dalam yang dilakukan.
  • 2: Koneksi. Autentikasi dilakukan hanya ketika klien membuat hubungan dengan aplikasi.
  • 3:Panggilan. Autentikasi hanya dilakukan pada awal setiap panggilan saat aplikasi menerima permintaan.
  • 4:Paket. Autentikasi dilakukan pada semua data yang diterima dari klien.
  • 5: PacketIntegrity. Semua data yang ditransfer antara klien dan aplikasi diautentikasi dan diverifikasi.
  • 6: PacketPrivacy. Properti tingkat autentikasi lainnya digunakan, dan semua data dienkripsi.
Type:AuthenticationLevel
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authority

Menentukan otoritas yang akan digunakan untuk mengautentikasi koneksi WMI. Anda dapat menentukan autentikasi NTLM atau Kerberos standar. Untuk menggunakan NTLM, atur pengaturan otoritas ke ntlmdomain:<DomainName>, di mana <DomainName> mengidentifikasi nama domain NTLM yang valid. Untuk menggunakan Kerberos, tentukan kerberos:<DomainName>\<ServerName>. Anda tidak dapat menyertakan pengaturan otoritas ketika Anda tersambung ke komputer lokal.

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

-Class

Menentukan nama kelas WMI.

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

-ComputerName

Menentukan nama komputer tempat cmdlet ini berjalan. Defaultnya adalah komputer lokal.

Ketik nama NetBIOS, alamat IP, atau nama domain yang sepenuhnya memenuhi syarat dari satu atau beberapa komputer. Untuk menentukan komputer lokal, ketik nama komputer, titik (.), atau localhost.

Parameter ini tidak bergantung pada jarak jauh Windows PowerShell. Anda dapat menggunakan parameter ComputerName meskipun komputer Anda tidak dikonfigurasi untuk menjalankan perintah jarak jauh.

Type:String[]
Aliases:Cn
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

-Credential

Menentukan akun pengguna yang memiliki izin untuk melakukan tindakan ini. Defaultnya adalah pengguna saat ini.

Ketik nama pengguna, seperti User01 atau Domain01\User01, atau masukkan objek PSCredential , seperti yang dihasilkan oleh cmdlet Get-Credential. Jika Anda mengetik nama pengguna, cmdlet ini akan meminta kata sandi.

Parameter ini tidak didukung oleh penyedia apa pun yang diinstal dengan parameter tidak didukung oleh penyedia apa pun yang diinstal dengan Windows PowerShell.

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

-EnableAllPrivileges

Menunjukkan bahwa cmdlet ini memungkinkan semua izin pengguna saat ini sebelum perintah melakukan panggilan WMI.

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

-Impersonation

Menentukan tingkat peniruan yang akan digunakan. Nilai yang dapat diterima untuk parameter ini adalah:

  • 0:Default. Membaca registri lokal untuk tingkat peniruan default, yang biasanya diatur ke 3: Meniru.
  • 1:Anonim. Menyembunyikan kredensial pemanggil.
  • 2:Mengidentifikasi. Memungkinkan objek untuk mengkueri kredensial pemanggil.
  • 3:Meniru. Memungkinkan objek menggunakan kredensial pemanggil.
  • 4:Mendelegasikan. Memungkinkan objek untuk mengizinkan objek lain menggunakan kredensial pemanggil.
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Menentukan objek ManagementObject untuk digunakan sebagai input. Ketika parameter ini digunakan, semua parameter lainnya , kecuali parameter Argumen , diabaikan.

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

-Locale

Menentukan lokal pilihan untuk objek WMI. Parameter Lokal ditentukan dalam array dalam format MS_<LCID> dalam urutan yang disukai.

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

-Namespace

Menentukan namespace repositori WMI tempat kelas WMI yang direferensikan berada saat digunakan dengan parameter Kelas .

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

-Path

Menentukan jalur objek WMI instans yang ingin Anda buat atau perbarui.

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

-PutType

Menunjukkan apakah akan membuat atau memperbarui instans WMI. Nilai yang dapat diterima untuk parameter ini adalah:

  • UpdateOnly Memperbarui instans WMI yang ada.
  • CreateOnly Membuat instans WMI baru.
  • UpdateOrCreate Memperbarui instans WMI jika ada atau membuat instans baru jika instans tidak ada.
Type:PutType
Accepted values:None, UpdateOnly, CreateOnly, UpdateOrCreate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Menentukan jumlah maksimum koneksi bersamaan yang dapat dibuat untuk menjalankan perintah ini. Parameter ini digunakan bersama dengan parameter AsJob . Batas pembatasan hanya berlaku untuk perintah saat ini, bukan ke sesi atau ke komputer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
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

Cmdlet ini tidak menerima input.

Output

None

Cmdlet ini tidak menghasilkan output.

Catatan

Windows PowerShell menyertakan alias berikut untuk Set-WmiInstance:

  • swmi