Переменные PowerShell в блок сценария

Invoke-command -ComputerName $ServerName -ScriptBlock {
    & "C:\Program Files\pqr\xyz\set_name.bat" --username abc123 --password 1234567812345678 BALA
}

Мой скрипт отлично работает, когда я запускаю его как приведенный выше код. Но когда я даю переменную для $UserID для имени пользователя, $Pass для пароля и $Name 'BALA', это не сработает. У меня разные пользователи, поэтому я читаю имя пользователя из Read-Host, а также для пароля и сохраняю их в соответствующих переменных, переменная $Name имеет более одного имени. Помогите в этом.


person Bala MS    schedule 30.05.2021    source источник
comment
Вы должны просто указать имя пользователя и пароль через параметр -Credentials без необходимости указывать его в блоке скрипта. Однако, поскольку вы спросили, вы можете использовать переменную удаленно, передав ее в качестве аргумента (-ArgumentList : $args) или указав ее как удаленная переменная: $Using:VariableHere.   -  person Abraham Zinala    schedule 30.05.2021