Как передать локальную переменную -ScriptBlock Invoke-Command

Я пытаюсь выполнить следующий сценарий PowerShell с сервера-2 на сервере-1 (то есть на удаленном сервере):

$DBServer = 'Server1' 

Invoke-Command -ComputerName $DBServer -ScriptBlock {
$status = Start-Process "C:\Program Files\iQ4bis\HaloSource\HaloSource.Run.exe" '"D:\Test\UsageTracking.iqp" /wf "Default Workflow" /e "Dev" ' -Wait -PassThru
$test2 = $status.ExitCode
if ($test2 -ne 0) 
{ 
    Throw "The command exited with error code: $test2"
}
else
{
    Write-host "Workflow executed successfully."    
}
}

Вопрос: часть кода

"C:\Program Files\iQ4bis\HaloSource\HaloSource.Run.exe" '"D:\Test\UsageTracking.iqp" /wf "Default Workflow" /e "Dev" ' -Wait -PassThru

Я хотел сделать его параметризованным, как значения дляD:\Test\UsageTracking.iqp а такжеDev собирается изменить за проект. Как я могу передать новые значения, используя параметр? Вот как я хотел, если это возможно:

clear-host

$DBServer = 'Server1'
$v1 = 'D:\Test\UsageTracking.iqp'
$v2 = 'Dev'
$v3 = "C:\Program Files\iQ4bis\HaloSource\HaloSource.Run.exe"

Invoke-Command -ComputerName $DBServer -ScriptBlock {
param(
[string] $IQPFileDestinationLocation = $v1, [string] $ExecutionEnvironment = $v2, [string] $exe = $v3
)

$IQPFileLocation = $IQPFileDestinationLocation
$workflow = "Default Workflow"
$environment = $ExecutionEnvironment
$test = """$exe"" '""$IQPFileLocation"" /wf ""$workflow"" /e ""$environment""'"
$test

$status = Start-Process $test -Wait -PassThru

$test2 = $status.ExitCode
if ($test2 -ne 0) 
{ 
    Throw "The command exited with error code: $test2"
}
else
{
    Write-host "It went ok."    
}

} -ArgumentList $v1 ,$v2 ,$v3

Когда я запускаю выше, я получаю следующее сообщение об ошибке:

    This command cannot be run due to the error: The system cannot find the file specified.
    + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
    + PSComputerName        : ken-dev-bi001

The command exited with error code: 
At line:8 char:1
+ Invoke-Command -ComputerName $DBServer -ScriptBlock {
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (The command exited with error code: :String) [], RuntimeException
    + FullyQualifiedErrorId : The command exited with error code: 

любая помощь будет оценена, чтобы заставить ее работать.

Ответы на вопрос(2)

Ваш ответ на вопрос