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