Пара двойных кавычек сигнализирует PowerShell для выполнения расширения строки. Если вы хотите, чтобы двойные кавычки выводились буквально, вы должны избегать их (предотвратить расширение) или заключать их в одинарные кавычки. Тем не менее, пара одинарных кавычек сигнализирует PowerShell для обработки всего внутри буквально, чтобы ваши переменные не интерполировались. В данной ситуации требуется расширение строки, интерполяция переменных и буквальные двойные кавычки.
Вы можете сделать следующее:
# Double Double Quote Escape
@{message = """$strVal"""}
Name Value
---- -----
message "Hello World"
# Backtick Escape
@{message = "`"$strVal`""}
Name Value
---- -----
message "Hello World"
Разрешение кавычек работает слева направо, что означает крайнюю левую Тип цитаты имеет приоритет. Так что '"$strVal"'
будет просто печатать все буквально из-за внешней пары одинарных кавычек. "'$strVal'"
напечатает одинарные кавычки и значение $strVal
.