Как запустить скрипт powershell со значением параметра в виде HTML - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь запустить скрипт powershell с некоторыми параметрами / аргументами в начале. Этот скрипт отправляет письма и работает отлично до сих пор. Теперь одним из параметров запуска скрипта является тело письма. Я передаю HTML-текст из файла этому параметру.

Пока это обычный текст, все в порядке. Если я пытаюсь добавить форматированный текст HTML, я получаю исключение в powershell, например: «Оператор« <»зарезервирован для будущего использования». </p>

param( [string]$Body = "")

Если я вызываю скриптвот так myscript.ps1 -Body "this is plain text" работает очень хорошо.

Если я вызываю скрипт вот так myscript.ps1 -Body "some HTML formated text" я получаю ошибку

"Оператор '<' зарезервирован для будущего использования. "</p>

Как передать текст в формате HTML параметру сценария powershell?

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Я предполагаю ваш код, но я бы подошел к вашей задаче, чтобы преобразовать строку внутри функции в формат HTML и затем продолжить работу с ней. Я бы предложил использовать ConvertTo-Html и использовать MS документацию .

Function New-HtmlDoc
{
  param
  (
    [string]$Body
  )
  $htmlBody = ConvertTo-Html -Body $Body

  Do-Something $htmlBody
}
0 голосов
/ 31 октября 2019

У Powershell есть экранирующий символ для специальных символов, с которыми он не может справиться. Это: `(grave-char)

Попробуйте следующий код:

$htmlbody = $htmlbody -replace '<', '`'

То же самое для"> "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...