Вопрос:
У меня есть сценарий, который в настоящее время выполняет несколько действий. Он создает учетную запись пользователя в Active Directory, записывает данные в таблицу SQL и отправляет электронное письмо учетному устройству учетной записи с именем пользователя и паролем учетной записи.
Мы хотели бы добавить гиперссылку на это письмо, чтобы запросчик мог щелкнуть, чтобы просмотреть исходную форму запроса, но я не могу представить, что синтаксис правильный.
Поскольку двойные кавычки используются в синтаксисе PowerShell, а также в HTML-ссылке, я определял ссылку как переменную и вставлял эту переменную в раздел -body электронной почты, чтобы устранить путаницу с двойной кавычкой, хотя это может и не понадобиться.
Может ли кто-нибудь помочь мне вставить ссылку в это письмо? Большое спасибо!
ТЕКУЩАЯ КОПИЯ:
«The user account you requested (request #$ReqID) has been created.»
Мы бы хотели, чтобы $ ReqID гиперссылка на веб-форму.
ПЕРЕМЕН, Я ОПРЕДЕЛЕН:
$link = ‘<a href=»http://tsturl/detail.aspx?reqID=$reqID»>$ReqID</a>’
Но он отображается в теле письма следующим образом:
The user account you requested (request #<a href=»http://tsturl/detail.aspx?reqID=$reqID»>$ReqID</a>) has been created.
Помогите?
Лучший ответ:
Поменяйте свои кавычки, например:
$link = «<a href=’http://tsturl/detail.aspx?reqID=$reqID’>$ReqID</a>»
Или выполните:
$link = ‘<a href=»http://tsturl/detail.aspx?reqID=$reqID»>$ReqID</a>’ $link = $ExecutionContext.InvokeCommand.ExpandString($link)
В дополнение к вашему комментарию, если вы хотите, чтобы тело письма отображалось как HTML, таким образом отобразите ссылку, тогда вам нужно будет сообщить своему почтовому клиенту, что тело – это HTML. $link – просто обычная старая строка и не знает, что это HTML.
Из вашего предыдущего вопроса, я предполагаю, что вы используете командлет Send-MailMessage. Если это так, вам нужно указать переключатель -BodyAsHtml.