Назад | Перейти на главную страницу

Переменные передачи удаленного взаимодействия Powershell

Я открыл удаленный сеанс s1 и хотел бы запустить функцию с передачей параметров i в моем блоке сценариев:

Упрощенный пример с 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

Каков самый чистый способ передать переменные (я обычно получаю их из локального CSV-файла) в блок сценария?

Вам нужно «передать» параметры в ваш блок скрипта, используя ArgumentList параметр на Invoke-Command. Это должно сделать это за вас:

Invoke-Command -Session $s1 -scriptblock {param($a, $b, $c, $d) Write-Host "BBBBB: $a $b $c $d"} -ArgumentList $a, $b, $c, $d