You cannot, by design use a local variable in a remote call without ensuing the scope meets that use case.
Take a look at the about_Scopes help information and the way to use the ‘Using’ option.
USING REMOTE VARIABLES
Windows PowerShell assumes that the variables used in remote commands are defined in the session in which the command runs.
In the following example, the $ps variable is defined in the temporary session in which the Get-WinEvent command runs.
USING LOCAL VARIABLES
You can also use local variables in remote commands, but you must indicate that the variable is defined in the local session.
Beginning in Windows PowerShell 3.0, you can use the Using scope modifier to identify a local variable in a remote command.
The syntax of Using is as follows: