2

I've opened a Remote Session s1, and like to run a function with Parameters i handover in my scriptblock:

Simplified example with Write-Host:

$a = "aaa"
$b = "bbb"
$c = "ccc"
$d = "ddd"
Write-Host "AAAAA: $a $b $c $d"  #This works fine as it's locally


Invoke-Command -Session $s1 -scriptblock {Write-Host "BBBBB: $a $b $c $d"}  #These variables are empty

What is the cleanest way to handover Variables (I normally receive from a local csv file) to the scriptblock?

icnivad
  • 327
  • 3
  • 12

1 Answers1

1

You need to "pass" the parameters into your script block using the ArgumentList parameter on Invoke-Command. This should do it for you:

Invoke-Command -Session $s1 -scriptblock {param($a, $b, $c, $d) Write-Host "BBBBB: $a $b $c $d"} -ArgumentList $a, $b, $c, $d
MattB
  • 11,124
  • 1
  • 29
  • 36