Get-Event (Microsoft.PowerShell.Utility)
Get-Event
- โมดูล :
- Microsoft.PowerShell.Utility
รับเหตุการณ์ในคิวเหตุการณ์
ไวยากรณ์
Get-Event
[[-SourceIdentifier] <String>]
[<CommonParameters>]Get-Event
[-EventIdentifier] <Int32>
[<CommonParameters>]คำอธิบาย
Get-Event cmdlet รับเหตุการณ์ในคิวเหตุการณ์ PowerShell สำหรับเซสชันปัจจุบัน คุณสามารถรับเหตุการณ์ทั้งหมดหรือใช้พารามิเตอร์ EventIdentifier หรือ SourceIdentifier เพื่อระบุเหตุการณ์
เมื่อมีเหตุการณ์เกิดขึ้น เหตุการณ์นั้นจะถูกเพิ่มลงในคิวเหตุการณ์ คิวเหตุการณ์ประกอบด้วยเหตุการณ์ที่คุณได้ลงทะเบียน เหตุการณ์ที่สร้างขึ้นโดยใช้ cmdlet เหตุการณ์ใหม่ และเหตุการณ์ที่เกิดขึ้นเมื่อ PowerShell ออก คุณสามารถใช้ Get-Event หรือ Wait-Event เพื่อรับกิจกรรม
cmdlet นี้ไม่ได้รับเหตุการณ์จากบันทึกของตัวแสดงเหตุการณ์ หากต้องการรับเหตุการณ์เหล่านั้น ให้ใช้ Get-WinEvent หรือ Get-EventLog
ตัวอย่าง
ตัวอย่างที่ 1: รับเหตุการณ์ทั้งหมด
PS C:\> Get-Eventคำสั่งนี้รับเหตุการณ์ทั้งหมดในคิวเหตุการณ์
ตัวอย่างที่ 2: รับเหตุการณ์ตามตัวระบุแหล่งที่มา
PS C:\> Get-Event -SourceIdentifier "PowerShell.ProcessCreated"
คำสั่งนี้รับเหตุการณ์ซึ่งค่าของคุณสมบัติ SourceIdentifier เป็น PowerShell.ProcessCreated
ตัวอย่างที่ 3: รับเหตุการณ์ตามเวลาที่สร้างขึ้น
PS C:\> $Events = Get-Event
PS C:\> $Events[0] | Format-List -Property *
ComputerName :
RunspaceId : c2153740-256d-46c0-a57c-b805917d1b7b
EventIdentifier : 1
Sender : System.Management.ManagementEventWatcher
SourceEventArgs : System.Management.EventArrivedEventArgs
SourceArgs : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs}
SourceIdentifier : ProcessStarted
TimeGenerated : 11/13/2008 12:09:32 PM
MessageData : PS C:\> Get-Event | Where {$_.TimeGenerated -ge "11/13/2008 12:15:00 PM"}
ComputerName :
RunspaceId : c2153740-256d-46c0-a57c-b8059325d1a0
EventIdentifier : 1
Sender : System.Management.ManagementEventWatcher
SourceEventArgs : System.Management.EventArrivedEventArgs
SourceArgs : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs}
SourceIdentifier : ProcessStarted
TimeGenerated : 11/13/2008 12:15:00 PM
MessageData :ตัวอย่างนี้แสดงวิธีรับเหตุการณ์โดยใช้คุณสมบัติอื่นที่ไม่ใช่ SourceIdentifier
คำสั่งแรกรับเหตุการณ์ทั้งหมดในคิวเหตุการณ์และบันทึกไว้ในตัวแปร $Events
คำสั่งที่สองใช้สัญลักษณ์อาร์เรย์เพื่อรับเหตุการณ์แรก (ดัชนี 0) ในอาร์เรย์ในตัวแปร $Events คำสั่งใช้ตัวดำเนินการไปป์ไลน์ (|) เพื่อส่งเหตุการณ์ไปยังคำสั่ง Format-List ซึ่งจะแสดงคุณสมบัติทั้งหมดของเหตุการณ์ในรายการ สิ่งนี้ทำให้คุณสามารถตรวจสอบคุณสมบัติของออบเจ็กต์เหตุการณ์ได้
คำสั่งที่สามแสดงวิธีใช้ cmdlet Where-Object เพื่อรับเหตุการณ์ตามเวลาที่สร้างขึ้น
ตัวอย่างที่ 4: รับเหตุการณ์ตามตัวระบุ
PS C:\> Get-Event -EventIdentifier 2คำสั่งนี้รับเหตุการณ์โดยมีตัวระบุเหตุการณ์เป็น 2
พารามิเตอร์
-EventIdentifier
ระบุตัวระบุเหตุการณ์ที่ cmdlet นี้ได้รับเหตุการณ์
- พิมพ์ :
Int32
- นามแฝง :
Id
- ตำแหน่ง:
0
- ค่าเริ่มต้น:
-
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
False
-SourceIdentifier
ระบุตัวระบุแหล่งที่มาที่ cmdlet นี้ได้รับเหตุการณ์ ค่าเริ่มต้นคือเหตุการณ์ทั้งหมดในคิวเหตุการณ์ ไม่อนุญาตให้ใช้ไวด์การ์ด
- พิมพ์ :
String
- ตำแหน่ง:
0
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
-
False
อินพุต
ไม่มี
คุณไม่สามารถไปป์วัตถุกับ cmdlet นี้
เอาท์พุต
PSEventArgs
cmdlet นี้ส่งคืนวัตถุ PSEventArgs สำหรับแต่ละเหตุการณ์ หากต้องการดูคำอธิบายของออบเจ็กต์นี้ ให้พิมพ์ Get-Help Get-Event -Full และดูส่วน Notes ของหัวข้อวิธีใช้
หมายเหตุ
ไม่มีแหล่งที่มาของเหตุการณ์บนแพลตฟอร์ม Linux หรือ macOS
กิจกรรม การสมัครสมาชิกกิจกรรม และคิวกิจกรรมมีอยู่ในเซสชันปัจจุบันเท่านั้น หากคุณปิดเซสชันปัจจุบัน คิวกิจกรรมจะถูกยกเลิกและการสมัครสมาชิกกิจกรรมจะถูกยกเลิก
Get-Event cmdlet ส่งคืนออบเจ็กต์ PSEventArgs (System.Management.Automation.PSEventArgs) ด้วยคุณสมบัติต่อไปนี้:
ชื่อคอมพิวเตอร์. ชื่อของคอมพิวเตอร์ที่เกิดเหตุการณ์ ค่าคุณสมบัตินี้จะถูกเติมเฉพาะเมื่อมีการส่งต่อเหตุการณ์จากคอมพิวเตอร์ระยะไกล
RunspaceId. GUID ที่ระบุเซสชันที่เกิดเหตุการณ์โดยไม่ซ้ำกัน ค่าคุณสมบัตินี้จะถูกเติมเฉพาะเมื่อมีการส่งต่อเหตุการณ์จากคอมพิวเตอร์ระยะไกล
ตัวระบุเหตุการณ์ จำนวนเต็ม (Int32) ที่ระบุการแจ้งเตือนเหตุการณ์ในเซสชันปัจจุบันโดยไม่ซ้ำกัน
ผู้ส่ง วัตถุที่สร้างเหตุการณ์ ในค่าของพารามิเตอร์ Action ตัวแปรอัตโนมัติ
$Senderจะมีออบเจ็กต์ผู้ส่งSourceEventArgs. พารามิเตอร์แรกที่ได้มาจาก EventArgs หากมีอยู่ ตัวอย่างเช่น ในเหตุการณ์ที่ผ่านไปโดยตัวจับเวลาซึ่งลายเซ็นมีแบบฟอร์มผู้ส่งวัตถุ Timers.ElapsedEventArgs e คุณสมบัติ SourceEventArgs จะมี Timers.ElapsedEventArgs< /แข็งแกร่ง>. ในค่าของพารามิเตอร์ Action ตัวแปรอัตโนมัติ
$EventArgsมีค่านี้SourceArgs. พารามิเตอร์ทั้งหมดของลายเซ็นเหตุการณ์ดั้งเดิม สำหรับลายเซ็นเหตุการณ์มาตรฐาน
$Args[0]หมายถึงผู้ส่ง และ$Args[1]หมายถึง SourceEventArgs ในค่าของพารามิเตอร์ Action ตัวแปรอัตโนมัติ$Argsมีค่านี้ตัวระบุแหล่งที่มา สตริงที่ระบุการสมัครสมาชิกเหตุการณ์ ในค่าของพารามิเตอร์ Action คุณสมบัติ SourceIdentifier ของตัวแปรอัตโนมัติ
$Eventมีค่านี้เวลาที่สร้างขึ้น ออบเจ็กต์ DateTime ที่แสดงเวลาที่สร้างกิจกรรม ในค่าของพารามิเตอร์ Action คุณสมบัติ TimeGenerated ของตัวแปรอัตโนมัติ
$Eventมีค่านี้ข้อความข้อมูล ข้อมูลที่เกี่ยวข้องกับการสมัครสมาชิกกิจกรรม ผู้ใช้ระบุข้อมูลนี้เมื่อลงทะเบียนกิจกรรม ในค่าของพารามิเตอร์ Action คุณสมบัติ MessageData ของตัวแปรอัตโนมัติ
$Eventมีค่านี้