3
$serversoffline = @()
function checkServerByName {
$serverlist = Get-Content $SERVERLIST
$processlist = Get-Content $PROCESSMONITOR
$results = @()
$processnotrunning = @()
foreach ($server in $serverlist) {
if((Test-Connection -Cn $server -BufferSize 16 -Count 1 -ea 0 -quiet)) {
Write-Host "Server Online"
Write-Host "Checking For Process"
foreach($process in $processlist) {
checkProcessByName $server $process
}
} else {
Write-Host "Server Offline"
$serversoffline += $server
}
}
sendEmailServersOffline
}
function sendEmailServersOffline {
$message = $message + "The following servers are OFFLINE as of $((get-date).DateTime)." + "<br><br>"
foreach($server in $serversoffline)
{
$message += $server + "<br>"
}
Send-MailMessage -To $to -Subject $subject -BodyAsHtml $message -From $from -Credential $cred -SmtpServer $emailserver -Debug
}
checkServerByName
上述代碼不起作用。它把所有的服務器放在一起,沒有任何空格或換行符如何在PowerShell中解析數組
如何打印/輸出'$ msg'?你爲什麼認爲'
'會爲你做任何事情? –
是BR在我的HTML電子郵件中引入換行符。 PowerShell正在創建消息,然後通過電子郵件發送。 –
'
'是一個HTML標記,並且不會在PowerShell輸出中創建換行符。使用'''n「'換行。 –