C’est devenu extrêmement simple avec la mise à disposition du scope Using, à disposition depuis Powershell 3.0.
Pour cela, il suffit de préfixer de $Using: la variable appelée dans le bloc d’exécution.
$Using: <NomDeLaVariable>
Exemple :
#Déclaration en local :
$Cred = Get-Credential
#Bloc d’exécution a distance
Invoke-Command $s {Remove-Item .\Test*.ps1 -Credential $Using:Cred}