SmtpClient ожидает сообщение типа string, однако, если вы запустите свой запрос со следующим Write-Host
, вы заметите, что $message
не относится к строке типа:
$message = foreach($server in $servers)
{
Get-WmiObject win32_processor -computername $server | select SystemName,
LoadPercentage
}
Write-Host ("Message is of type " + ($message.GetType()))
Вы можете просто отформатировать сообщение, используя, например, Out-String
чтобы получить такую строку:
Write-Host ("Message " + ($message | Out-String))
Вы можете определить его встроенным, если хотите, или сначала сохранить строковое сообщение в переменной:
$smtp.Send($From, $To, $Subject, ($Message | Out-String) )