Развернуть строковую переменную, хранящуюся в одинарной кавычке в Powershell

У меня есть сценарий, где мне нужно построить путь PowerShell как $RemotePath = '$($env:USERPROFILE)\Desktop\Shell.lnk', Эта переменная передается на удаленную машину, где она должна быть выполнена. Удаленный компьютер получает это как строковую переменную. Как мне расширить строку для оценки $env:USERPROFILE?

2 ответа

Решение

Разверните строку на удаленной стороне:

$ExecutionContext.InvokeCommand.ExpandString($RemotePath)

Используя двойные кавычки. PowerShell не будет расширять переменные внутри строк в одинарных кавычках.

Другие вопросы по тегам