powershellvariable-expansionremote-execution

Expand string Variable stored via Single Quote in Powershell


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?


Solution

  • Expand the string on the remote side:

    $ExecutionContext.InvokeCommand.ExpandString($RemotePath)