1: Write-Host "End to [Ctrl + C]"
2:      
3: $EventLog = "EventLogSink"
4: Register-WmiEvent -Query "SELECT * FROM __InstanceCreationEvent WHERE TargetInstance ISA 'Win32_NTLogEvent' AND TargetInstance.LogFile = 'System'" -SourceIdentifier $EventLog
5:      
6: Try{  
7:   While ($True) {
8:     $NewEvent = Wait-Event -SourceIdentifier $EventLog
9:     $Log = $NewEvent.SourceEventArgs.NewEvent.TargetInstance
10:     $LogName  = $Log.LogFile
11:     $SourceName   = $Log.SourceName
12:     $EventCode  = $Log.EventCode
13:     $TimeGenerated = $Log.TimeGenerated
14:     $Year =  $TimeGenerated.SubString(0, 4)
15:     $Month = $TimeGenerated.SubString(4, 2)
16:     $Day =  $TimeGenerated.SubString(6, 2)
17:     $Hour = $TimeGenerated.SubString(8, 2)
18:     $Minutes =  $TimeGenerated.SubString(10, 2)    
19:     $Date = $Year + "/" + $Month + "/" + $Day + " " + $Hour + ":" + $Minutes
20:     $Date = (([DateTime]$Date)).AddHours(9).ToString("yyyy/MM/dd HH:mm:ss")
21:     $Message = $Log.Message
22:      
23:     $Body = `
24: @"  
25: ソース:$SourceName
26: イベントID$EventCode
27: 日時:$Date
28: メッセージ:
29: $Message
30: -----------------------------------------------
31: "@  
32:      
33:     $SMTPServer = "smtp.gmail.com"
34:     $SMTPPort = "587"
35:     $From = "[email protected]"
36:     $Password = "PASSWORD"
37:     $To = "[email protected]"
38:     $Credential = New-Object System.Management.Automation.PSCredential($From, (ConvertTo-SecureString $Password -AsPlainText -Force))
39:     $Subject = $Env:COMPUTERNAME + " " + $LogName
40:     Send-MailMessage -From $From -To $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -Port $SMTPPort -Credential $Credential -UseSsl -Encoding UTF8 
41:     Write-Output $Body 
42:     Remove-Event $EventLog
43:   }    
44: }Catch{
45:   Write-Warning "Error"
46:   $Error[0]
47: }Finally{
48:     Get-Event | Remove-Event 
49:     Get-EventSubscriber | Unregister-Event
50: }