Register-CimIndicationEvent
Berlangganan indikasi menggunakan ekspresi filter atau ekspresi kueri.
Sintaks
Register-CimIndicationEvent
[-Namespace <String>]
[-ClassName] <String>
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String>]
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-ClassName] <String>
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-Query] <String>
[-QueryDialect <String>]
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-Query] <String>
[-QueryDialect <String>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String>]
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Deskripsi
Cmdlet ini hanya tersedia di platform Windows.
Register-CimIndicationEvent
Cmdlet berlangganan indikasi menggunakan nama kelas indikasi atau ekspresi kueri. Gunakan parameter SourceIdentifier berikan nama untuk langganan.
Cmdlet ini mengembalikan objek EventSubscription . Anda dapat menggunakan objek ini untuk membatalkan langganan.
Contoh
Contoh 1: Mendaftarkan peristiwa yang dihasilkan oleh kelas
Contoh ini berlangganan peristiwa yang dihasilkan oleh kelas bernama Win32_ProcessStartTrace. Kelas ini menaikkan peristiwa setiap kali proses dimulai.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Get-Event -SourceIdentifier "ProcessStarted"
Get-Event
Cmdlet mendapatkan peristiwa dengan langganan ProcessStarted. Untuk informasi selengkapnya, lihat Get-Event.
Catatan
Untuk contoh ini, Anda harus menjalankan PowerShell sebagai Administrator.
Contoh 2: Mendaftarkan peristiwa menggunakan kueri
Contoh ini menggunakan kueri untuk berlangganan peristiwa yang dihasilkan setiap kali ada perubahan dalam instans kelas bernama Win32_LocalTime.
$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'"
Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer"
Contoh 3: Jalankan skrip saat peristiwa tiba
Contoh ini menunjukkan cara menggunakan tindakan sebagai respons terhadap peristiwa. Variabel $action
menyimpan blok skrip untuk Tindakan, yang menggunakan $event
variabel untuk mengakses peristiwa yang diterima dari CIM.
$action = {
$name = $event.SourceEventArgs.NewEvent.ProcessName
$id = $event.SourceEventArgs.NewEvent.ProcessId
Write-Host -Object "New Process Started : Name = $name
ID = $id"
}
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -Action $action
Untuk informasi selengkapnya, lihat Win32_ProcessStartTrace.
Contoh 4: Mendaftarkan peristiwa di komputer jarak jauh
Contoh ini berlangganan peristiwa di komputer jarak jauh bernama Server01. Peristiwa yang diterima dari server CIM disimpan dalam antrean peristiwa di sesi PowerShell saat ini lalu menjalankan lokal Get-Event
untuk mengambil peristiwa.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01
Get-Event -SourceIdentifier "ProcessStarted"
Parameter
-Action
Menentukan perintah yang menangani peristiwa. Perintah yang ditentukan oleh parameter ini dijalankan saat peristiwa dinaikkan, alih-alih mengirim peristiwa ke antrean peristiwa. Sertakan perintah dalam kurung kurawal ({}
) untuk membuat blok skrip.
Blok skrip yang ditentukan dengan Tindakan dapat mencakup $Event
variabel , , $EventSubscriber
$Sender
, $SourceEventArgs
, dan $SourceArgs
otomatis, yang menyediakan informasi tentang peristiwa ke blok skrip Tindakan. Untuk informasi selengkapnya, lihat Tentang Variabel Otomatis.
Jenis: | ScriptBlock |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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.
Jenis: | CimSession |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ClassName
Menentukan kelas indikasi tempat Anda berlangganan. Anda dapat menggunakan penyelesaian tab untuk menelusuri daftar kelas, karena PowerShell mendapatkan daftar kelas dari server WMI lokal untuk menyediakan daftar nama kelas.
Jenis: | String |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | 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 sistem lokal menggunakan Model Objek Komponen (COM).
Jika beberapa operasi sedang dilakukan pada komputer yang sama, sambungkan menggunakan sesi CIM untuk performa yang lebih baik.
Jenis: | String |
Alias: | CN, ServerName |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Forward
Menunjukkan bahwa peristiwa untuk langganan diteruskan ke sesi di komputer lokal. Gunakan parameter ini saat Anda mendaftar untuk peristiwa di komputer jarak jauh atau dalam sesi jarak jauh.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-MaxTriggerCount
Parameter untuk menunjukkan bahwa pelanggan harus tidak terdaftar secara otomatis setelah dipicu untuk waktu yang ditentukan. Jika nilai sama atau kurang dari nol, tidak ada batasan berapa kali peristiwa dapat dipicu tanpa dibatalkan pendaftarannya.
Jenis: | Int32 |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-MessageData
Menentukan data tambahan yang akan dikaitkan dengan langganan kejadian ini. Nilai parameter ini muncul di properti MessageData dari semua peristiwa yang terkait dengan langganan ini.
Jenis: | PSObject |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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.
Jenis: | UInt32 |
Alias: | OT |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Query
Menentukan kueri yang akan dijalankan di server CIM. Jika nilai yang ditentukan berisi tanda kutip "
ganda , tanda kutip '
tunggal , atau garis \
miring terbalik , Anda harus menghindari 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 kurung []
siku : persen %
, garis bawah _
, atau kurung [
siku pembuka .
Jenis: | String |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | 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.
Jenis: | String |
Position: | Named |
Nilai default: | WQL |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-SourceIdentifier
Menentukan nama untuk langganan. Nama yang Anda tentukan harus unik dalam sesi saat ini. Nilai default adalah GUID yang ditetapkan PowerShell. Nilai ini muncul dalam nilai properti SourceIdentifier objek pelanggan dan semua objek peristiwa yang terkait dengan langganan ini.
Jenis: | String |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-SupportEvent
Menunjukkan bahwa langganan peristiwa disembunyikan. Gunakan parameter ini ketika langganan saat ini adalah bagian dari mekanisme pendaftaran peristiwa yang lebih kompleks dan tidak boleh ditemukan secara independen.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
Cmdlet ini mengembalikan objek EventSubscription .
Catatan
PowerShell menyertakan alias berikut untuk Register-CimIndicationEvent
:
- Windows:
rcie
Cmdlet ini hanya tersedia di platform Windows.