ค้นหาเว็บไซต์

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 มีค่านี้

บทความที่เกี่ยวข้อง