用于梳理远程服务器上事件日志的Powershell脚本(Powershell非常新)

用于梳理远程服务器上事件日志的Powershell脚本(Powershell非常新),powershell,events,smtp,credentials,Powershell,Events,Smtp,Credentials,你好,早上好! 我目前正在编写一个脚本,如果发现特定的事件日志条目,就可以梳理并发送电子邮件,这就是我目前遇到的问题。。。它运行但什么也不做,甚至在过去的24小时内将事件ID-EQ更改为已知条目,我不再有winRM问题,smtp服务器也没有错误,只是什么都没有发生,它运行了大约30秒,然后说已完成,没有返回电子邮件。 提前感谢您的帮助,就像我说的,我对powershell非常陌生:) -Devin要确保确实找到条目,请尝试暂时用其他内容替换电子邮件发送。一次解决一个问题以逐步隔离问题。[1]您似

你好,早上好! 我目前正在编写一个脚本,如果发现特定的事件日志条目,就可以梳理并发送电子邮件,这就是我目前遇到的问题。。。它运行但什么也不做,甚至在过去的24小时内将事件ID-EQ更改为已知条目,我不再有winRM问题,smtp服务器也没有错误,只是什么都没有发生,它运行了大约30秒,然后说已完成,没有返回电子邮件。 提前感谢您的帮助,就像我说的,我对powershell非常陌生:)


-Devin

要确保确实找到条目,请尝试暂时用其他内容替换电子邮件发送。一次解决一个问题以逐步隔离问题。[1]您似乎从未将
Invoke命令
调用的输出分配给任何对象。//[2] 您似乎从未从I-C脚本块输出任何内容。//[3] 鉴于上述两项,_
$EventError.EntryType
应该来自哪里?[咧嘴笑]顺便说一句,如果你组织缩进以使每个阶段都清晰,那么你存在范围问题的事实就会更加明显。[咧嘴笑]
    $Tempdate=(Get-Date).AddDays(-1)
$date= Get-Date $Tempdate -Format "MM/dd/yyyy HH:mm:ss" 
$cred = Get-Credential
$computer = "192.168.000.00"

Invoke-Command -ComputerName $computer -ScriptBlock {

$EventError = get-eventlog -logname system | Where-Object {$_.EventID -eq 7040} | Select-Object -Property Source, EventID, InstanceId, Message} -Credential $cred

if ($EventError.EntryType -eq "7040")
{

Send-MailMessage -To “[Redacted]@[Redacted].com” -From “[Redacted]@[Redacted].com”  -Subject “Event 7040 Triggered, review event logs.” -Body “A[Redacted]ir has had event 7040 triggered” -Credential (Get-Credential) -SmtpServer “mail.[Redacted]mail.com” -Port 587
}