Bagikan melalui


Register-CimIndicationEvent

Berlangganan sinyal dengan menggunakan ekspresi filter atau ekspresi kueri.

Sintaks

ClassNameComputerSet (Default)

Register-CimIndicationEvent
    [-ClassName] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-ComputerName <String>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

ClassNameSessionSet

Register-CimIndicationEvent
    [-ClassName] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    -CimSession <CimSession>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

QueryExpressionSessionSet

Register-CimIndicationEvent
    [-Query] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    -CimSession <CimSession>
    [-Namespace <String>]
    [-QueryDialect <String>]
    [-OperationTimeoutSec <UInt32>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

QueryExpressionComputerSet

Register-CimIndicationEvent
    [-Query] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    [-Namespace <String>]
    [-QueryDialect <String>]
    [-OperationTimeoutSec <UInt32>]
    [-ComputerName <String>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

Deskripsi

Cmdlet ini hanya tersedia di platform Windows.

cmdlet Register-CimIndicationEvent mendaftar ke indikasi menggunakan nama kelas indikasi atau ekspresi kueri. Gunakan parameter SourceIdentifier untuk memberikan nama kepada 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 pada peristiwa yang dihasilkan oleh kelas yang disebut Win32_ProcessStartTrace. Kelas ini memicu sebuah peristiwa setiap kali sebuah proses dimulai.

$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
}
Register-CimIndicationEvent @event
Get-Event -SourceIdentifier "ProcessStarted"

Cmdlet Get-Event mendapatkan peristiwa dengan subskripsi ProcessStarted. Untuk informasi selengkapnya, lihat Get-Event.

Nota

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"
}
$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
    Action = $action
}
Register-CimIndicationEvent @event

Untuk informasi selengkapnya, lihat Win32_ProcessStartTrace.

Contoh 4: Mendaftarkan peristiwa di komputer jarak jauh

Contoh ini memantau kejadian di komputer jarak jauh bernama Server01. Peristiwa yang diterima dari server CIM disimpan di dalam antrean peristiwa pada sesi PowerShell yang sedang berjalan, kemudian menjalankan perintah lokal Get-Event untuk mengambil peristiwa.

$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
    ComputerName = 'Server01'
}
Register-CimIndicationEvent @event
Get-Event -SourceIdentifier "ProcessStarted"

Parameter

-Action

Menentukan perintah yang menangani kejadian. Perintah yang ditentukan oleh parameter ini dijalankan saat peristiwa dinaikkan, alih-alih mengirim peristiwa ke antrean peristiwa. Sertakan perintah dalam kurung kurawal ({}) untuk membuat blokir skrip.

Blok skrip yang ditentukan dengan Tindakan dapat menyertakan $Eventvariabel , , $EventSubscriber$Sender, $SourceEventArgs, dan $SourceArgs otomatis, yang memberikan informasi tentang peristiwa ke blokir skrip Tindakan. Untuk informasi selengkapnya, lihat Tentang Variabel Otomatis.

Properti parameter

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

Kumpulan parameter

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

-CimSession

Menjalankan perintah menggunakan sesi CIM yang ditentukan. Masukkan variabel yang berisi sesi CIM, atau perintah yang membuat atau mendapatkan sesi CIM, seperti cmdlet New-CimSession atau Get-CimSession. Untuk informasi lebih lanjut, lihat about_CimSession.

Properti parameter

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

Kumpulan parameter

ClassNameSessionSet
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
QueryExpressionSessionSet
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ClassName

Menentukan kelas indikasi yang Anda langgani. Anda dapat menggunakan penyelesaian tab untuk menelusuri daftar kelas, karena PowerShell mendapatkan daftar kelas dari server WMI lokal untuk menyediakan daftar nama kelas.

Properti parameter

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

Kumpulan parameter

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

Properti parameter

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

Kumpulan parameter

ClassNameComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
QueryExpressionComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Forward

Menunjukkan bahwa event 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.

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

Parameter untuk menunjukkan bahwa pelanggan harus dihapus pendaftarannya secara otomatis setelah dipicu untuk sejumlah waktu yang ditentukan. Jika nilai sama atau kurang dari nol, tidak ada batasan berapa kali peristiwa dapat dipicu tanpa dibatalkan pendaftarannya.

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

Memperjelas data tambahan yang terkait dengan langganan acara ini. Nilai parameter ini muncul dalam properti MessageData dari semua peristiwa yang berhubungan dengan langganan ini.

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 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

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

-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 menambahkannya dengan karakter garis miring terbalik. Jika nilai yang ditentukan menggunakan operator WQL LIKE, maka Anda harus keluar dari karakter berikut dengan menyertakannya 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

QueryExpressionSessionSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
QueryExpressionComputerSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
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:WQL
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

QueryExpressionSessionSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
QueryExpressionComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-SourceIdentifier

Menentukan nama untuk langganan. Nama yang Anda tentukan harus unik dalam sesi saat ini. Nilai bawaan adalah GUID yang ditetapkan oleh PowerShell. Nilai ini tercantum dalam properti SourceIdentifier dari objek subskriptor dan semua objek event yang terkait dengan langganan ini.

Properti parameter

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

Kumpulan parameter

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

-SupportEvent

Menunjukkan bahwa langganan acara disembunyikan. Gunakan parameter ini ketika langganan saat ini adalah bagian dari mekanisme pendaftaran peristiwa yang lebih kompleks dan tidak boleh ditemukan secara independen.

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

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

Object

Cmdlet ini mengembalikan objek EventSubscription.

Catatan

PowerShell menyertakan alias berikut untuk Register-CimIndicationEvent:

  • Windows:
    • rcie

Cmdlet ini hanya tersedia di platform Windows.