I have a scenario where I need to construct a powershell path as $RemotePath = '$($env:USERPROFILE)\Desktop\Shell.lnk'
. This variable gets passed to a remote machine where it needs to be executed. The remote machine receives this as a string variable. How do I expand the string to evaluate $env:USERPROFILE
?
Ansgar Wiechers
Expand the string on the remote side:
$ExecutionContext.InvokeCommand.ExpandString($RemotePath)
By using a double quotes. PowerShell won't expand variables inside single-quoted strings.
来源:https://stackoverflow.com/questions/27226606/expand-string-variable-stored-via-single-quote-in-powershell