Register-WmiEvent
Berlangganan ke peristiwa Instrumentasi Manajemen Windows (WMI).
Sintaks
class (Default)
Register-WmiEvent
[-Class] <String>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-Namespace <String>]
[-Credential <PSCredential>]
[-ComputerName <String>]
[-Timeout <Int64>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
query
Register-WmiEvent
[-Query] <String>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-Namespace <String>]
[-Credential <PSCredential>]
[-ComputerName <String>]
[-Timeout <Int64>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Deskripsi
Register-WmiEvent Cmdlet berlangganan peristiwa Windows Management Instrumentation (WMI) di komputer lokal atau di komputer jarak jauh.
Ketika peristiwa WMI berlangganan dinaikkan, peristiwa ditambahkan ke antrean peristiwa di sesi lokal Anda bahkan jika peristiwa terjadi di komputer jarak jauh. Untuk mendapatkan acara dalam antrian acara, gunakan cmdlet Get-Event.
Anda dapat menggunakan parameter Register-WmiEvent untuk berlangganan peristiwa di komputer jarak jauh dan menentukan nilai properti peristiwa yang dapat membantu Anda mengidentifikasi peristiwa dalam antrean. Anda juga dapat menggunakan parameter Tindakan
Saat Anda berlangganan acara, pendaftar acara ditambahkan ke dalam sesi Anda. Untuk mendapatkan pendaftar acara dalam sesi, gunakan cmdlet Get-EventSubscriber. Untuk membatalkan langganan, gunakan cmdlet Unregister-Event, yang menghapus subskriptor acara dari sesi.
Cmdlet Common Information Model (CIM) baru, memperkenalkan Windows PowerShell 3.0, melakukan tugas yang sama dengan cmdlet WMI. Cmdlet CIM mematuhi standar WS-Management (WSMan) dan dengan standar CIM, yang memungkinkan cmdlet menggunakan teknik yang sama untuk mengelola komputer yang menjalankan sistem operasi Windows dan yang menjalankan sistem operasi lainnya. Alih-alih menggunakan
Contoh
Contoh 1: Berlangganan peristiwa yang dihasilkan oleh kelas
Perintah ini berlangganan peristiwa yang dihasilkan oleh kelas Win32_ProcessStartTrace. Kelas ini memicu sebuah peristiwa setiap kali sebuah proses dimulai.
Register-WmiEvent -Class 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Contoh 2: Berlangganan peristiwa pembuatan untuk proses
Perintah ini menggunakan kueri untuk berlangganan peristiwa pembuatan instans Win32_process.
$wmiParameters = @{
Query = "select * from __instancecreationevent within 5 where targetinstance isa 'Win32_Process'"
SourceIdentifier = "WMIProcess"
MessageData = "Test 01"
TimeOut = 500
}
Register-WmiEvent @wmiParameters
Contoh 3: Menggunakan tindakan untuk merespons peristiwa
Contoh ini menunjukkan cara menggunakan tindakan untuk merespons peristiwa. Dalam hal ini, ketika proses dimulai, perintah apa pun Start-Process dalam sesi saat ini ditulis ke file XML.
$action = {
Get-History |
Where-Object { $_.CommandLine -like "*Start-Process*" } |
Export-CliXml "commandHistory.clixml"
}
Register-WmiEvent -Class Win32_ProcessStartTrace -SourceIdentifier ProcessStarted -Action $action
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
1 ProcessStarted NotStarted False Get-History | where {...
Saat Anda menggunakan parameter Tindakan , Register-WmiEvent mengembalikan pekerjaan latar belakang yang mewakili tindakan peristiwa. Anda dapat menggunakan cmdlet Pekerjaan , seperti Get-Job dan Receive-Job, untuk mengelola pekerjaan peristiwa.
Untuk informasi selengkapnya, lihat tentang_Pekerjaan.
Contoh 4: Mendaftar untuk peristiwa di komputer jarak jauh
Contoh ini mendaftar untuk peristiwa di komputer jarak jauh Server01.
Register-WmiEvent -Class 'Win32_ProcessStartTrace' -SourceIdentifier "Start" -ComputerName Server01
Get-Event -SourceIdentifier "Start"
WMI mengembalikan peristiwa ke komputer lokal dan menyimpannya dalam antrean peristiwa dalam sesi saat ini. Untuk mengambil peristiwa, jalankan perintah lokal Get-Event .
Parameter
-Action
Menentukan perintah yang menangani peristiwa. Perintah dalam parameter Tindakan {}) untuk membuat blok skrip.
Nilai Tindakan dapat mencakup $Eventvariabel , $EventSubscriber, $Sender, $EventArgs, dan $args otomatis, yang menyediakan informasi tentang peristiwa ke blok Skrip tindakan . Untuk informasi selengkapnya, lihat tentang_Variabel_Automatis.
Ketika Anda menentukan suatu tindakan, Register-WmiEvent akan mengembalikan objek tugas acara yang mewakili tindakan tersebut. Anda dapat menggunakan cmdlet yang berisi kata benda Pekerjaan
Properti parameter
| Jenis: | ScriptBlock |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | 101 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Class
Menentukan peristiwa yang Anda berlangganan. Masukkan kelas WMI yang menghasilkan peristiwa. Parameter
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
class
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-ComputerName
Menentukan nama komputer tempat perintah dijalankan. Defaultnya adalah komputer lokal.
Ketik nama NetBIOS, alamat IP, atau nama domain komputer yang sepenuhnya memenuhi syarat. Untuk menentukan komputer lokal, ketik nama komputer, titik (.), atau localhost.
Parameter ini tidak bergantung pada jarak jauh Windows PowerShell. Anda dapat menggunakan parameter
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Cn |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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 kepada Anda.
Properti parameter
| Jenis: | PSCredential |
| 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 |
-Forward
Menunjukkan bahwa cmdlet ini mengirim peristiwa untuk langganan ini ke sesi di komputer lokal. Gunakan parameter ini saat Anda mendaftar untuk peristiwa di komputer jarak jauh atau dalam sesi jarak jauh.
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 |
-MaxTriggerCount
Menentukan jumlah pemicu maksimum.
Properti parameter
| Jenis: | Int32 |
| 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 |
-MessageData
Menentukan data tambahan apa pun yang akan dikaitkan dengan langganan peristiwa ini. Nilai parameter ini muncul di properti
Properti parameter
| Jenis: | PSObject |
| 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 |
-Namespace
Menentukan namespace kelas WMI.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | NS |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Query
Menentukan kueri dalam WMI Query Language (WQL) yang mengidentifikasi kelas peristiwa WMI, seperti: select * from __InstanceDeletionEvent.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
query
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-SourceIdentifier
Menentukan nama yang Anda pilih untuk langganan. Nama yang Anda pilih harus unik dalam sesi saat ini. Nilai defaultnya adalah GUID yang ditetapkan Windows PowerShell.
Nilai parameter ini terlihat dalam nilai properti SourceIdentifier dari objek pelanggan dan semua objek peristiwa yang terkait dengan langganan ini.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | 100 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-SupportEvent
Menunjukkan bahwa cmdlet ini menyembunyikan langganan peristiwa. Gunakan parameter ini ketika langganan saat ini adalah bagian dari mekanisme pendaftaran peristiwa yang lebih kompleks dan tidak boleh ditemukan secara independen.
Untuk melihat atau membatalkan langganan yang dibuat dengan menggunakan parameter SupportEvent, tentukan parameter Get-EventSubscriberPaksa cmdlet dan Unregister-Event .
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 |
-Timeout
Menentukan berapa lama Windows PowerShell menunggu perintah ini selesai.
Nilai default, 0 (nol), berarti bahwa tidak ada waktu habis, dan menyebabkan Windows PowerShell menunggu tanpa batas waktu.
Properti parameter
| Jenis: | Int64 |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | TimeoutMSec |
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
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
None
Cmdlet ini tidak menghasilkan output apa pun.
Catatan
Untuk menggunakan cmdlet ini di Windows Vista atau versi sistem operasi Windows yang lebih baru, mulai Windows PowerShell dengan menggunakan opsi Jalankan sebagai administrator.
Peristiwa, langganan peristiwa, dan antrean peristiwa hanya ada di sesi saat ini. Jika Anda menutup sesi saat ini, antrian peristiwa akan dibuang dan langganan peristiwa dibatalkan.