【发布时间】:2012-01-13 20:08:46
【问题描述】:
我的 PowerShell 脚本中有以下代码 sn-p...
- 遍历服务器列表
- 是否在每台服务器的错误日志中选择字符串不匹配
- 如果错误日志错误则标记服务器,如果错误日志正常则返回 OK
我还想做的是发送一封电子邮件报告,在列表中列举每个发现的错误日志,并列出所有错误日志正常的服务器。电子邮件正文中的内容如下:
以下服务器有错误日志:
- 服务器3
- 服务器6
- 服务器 14
以下服务器都可以:
- 服务器 1
- 服务器2
- 服务器5
这是我的代码 sn-p:
$Servers = Get-Content $ServerLst
ForEach ($Server in $Servers)
{
$ErrorLog = Get-ChildItem -Path \\$Server\$LOG_PATH -Include Error.log -Recurse | Select-String -notmatch $SEARCH_STR
If ($ErrorLog)
{
Write-Host "Bad Error Log found at $Server!"
}
Else
{
Write-Host "Error log is OK."
}
}
我猜我需要一个 Send-Mail 函数,我可以在其中传递带有错误日志等的服务器名称。但是,我不太确定如何解决这个问题。
我们将不胜感激任何伟大的想法。谢谢!
【问题讨论】:
标签: powershell sendmail