Bagikan melalui


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 $Eventvariabel , , $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

Object

Cmdlet ini mengembalikan objek EventSubscription .

Catatan

PowerShell menyertakan alias berikut untuk Register-CimIndicationEvent:

  • Windows:
    • rcie

Cmdlet ini hanya tersedia di platform Windows.