х-пост от суперпользователяПопытка передать переменную Send-MailMessage аргументов и терпеть неудачу
Так у меня есть проблема.
Я пытаюсь написать сценарии, которые пингуют список имен хостов во внешнем файле .txt, и отправлять оповещение по электронной почте, если один из них идет вниз. У меня с этим несколько проблем, но главное сейчас - это то, что я не могу найти способ вставить переменную в строку темы или текст сообщения. Код, я использую, чтобы отправить по электронной почте оповещения теперь выглядит следующим образом:
send-mailmessage -to "$alertRecipient" -from "$alertSender" -subject "$alertSubject" -body "$alertBody" -smtpServer "$smtpServer"
Теперь, я использовал много значений переменных в этой команде, и все они работают в какой-то степени. Я в основном смотрю $alertSubject
и $alertBody
. Значения обеих этих переменных вытягиваются из другого .txt-файла и равны «$ selHost is offline!».
$selHost
- переменная, которую я использую в скрипте, чтобы быть равным имени хоста, над которым работает скрипт в любой момент времени. Если я делаю write-host $selHost
в любом месте сценария, я получу что-то вроде «SomeComputerName» или «192.168.1.123», и его значение изменяется каждый раз, когда скрипт переключается на следующий хост.
Я хочу, чтобы буквальное значение $selHost
было в теле сообщения предупреждения, когда оно отправлено, но так, как я его написал, когда отправлено предупреждение, он просто говорит: «$ selHost is offline!» я совершенно бесполезный уровень понимания природы потенциальной проблемы.
Pastebin link of my script as it is now.
Send-Mail-Message
команда на линии 30, $selHost
, определенной на линии 23, $alertSubject
, определенная на линии 10, $alertBody
, определенная на линии 12.
TL; ДР: Я хочу, чтобы вставить значение а переменную в аргументы команды Send-MailMessage
, но я просто получаю имя переменной вместо этого, и я не знаю, что делать.