Переменная $ reperr не раскрывается внутри строки в двойных кавычках. Когда скрипт-блок завершается, $ reperr действительно имеет значение, но он не будет печатать в строке здесь, все, что я получаю в теле, - это плоский текст "В настоящее время есть ошибки с репликацией AD domain.com."
Clear-Variable -name "reperr"
$reperr = Get-ADReplicationPartnerMetadata -target * |? {$_.ConsecutiveReplicationFailures -eq "0"} |select Server, ConsecutiveReplicationFailures
$smtpserver = "10.25.172.2"
#$recipients = "email@emailaddy.com"
$recipients = "user@doamin.com"
$sender = "ad_repl_status@domain.com"
$subject = "DOMAIN.COM ACTIVE DIRECTORY REPLICATION ISSUES DETECTED!"
$body = @"
There are currently errors with domain.com AD replication.
$reperr
"@
if (!$reperr)
{
Write-Host "AD REPLICATION IS CLEAN"
}
else
{
Send-MailMessage -Priority High -SmtpServer $smtpserver -From $sender -To $recipients -Subject $subject -Body $body
}