0
我有這個腳本,需要一個CSV和ping服務器,並告訴我他們的狀態,然後發送給我一個無法訪問的電子郵件。下面的腳本效果很好,但我想改變的唯一事情就是不要每個無法訪問的服務器都收到多封電子郵件。我收到一封郵件,其中包含所有在完成ping之後無法訪問的服務器。一個電子郵件來統治他們全部
我知道問題的一部分是我在IF中有電子郵件線,否則。所以我正在考慮創建一個變量並做一個新行,但我需要幫助來查看看起來像什麼。
任何幫助或建議,將不勝感激。我試着在微軟的腳本頁面上搜索並搜索。
$hostnamestxt = "C:\Scripts\printers.csv"
$servers = Import-Csv "$hostnamestxt"
$date = get-date
foreach($server in $servers) {
$serverName = $server.Name
$serverAddress = $server.IP
if (test-Connection -ComputerName $serverAddress -Count 2 -Quiet)
{
write-host "$serverName is ONLINE" -foregroundcolor black -backgroundcolor green
}
else
{
write-host "$serverName, $serverAddress is OFFLINE/UNREACHABLE" -foregroundcolor black -backgroundcolor red
Send-MailMessage -Body "$serverName, $serverAddress is OFFLINE/UNREACHABLE at $date" -From "emailaddress" -Subject "$serverName, $serverAddress is OFFLINE/UNREACHABLE at $date" -To "emailaddress" -SmtpServer "emailaddress"
}
}
您需要的最後收盤'}後移動'發送-MailMessage'命令'否則他仍然得到每下降一個服務器的電子郵件,每個電子郵件會包括越來越多的下載服務器列表(第一封電子郵件中的一臺服務器,第二封中的兩臺服務器等等) – TheMadTechnician
好,趕快現在編輯 –
感謝泰勒工作得很好。 TheMadTech良好的捕捉。唯一珍貴的是它一個接一個地列出它們,並且打印機名稱很難區分。 – ManNamedDan