远程执行命令 - 无等待

时间:2017-08-17 06:48:26

标签: powershell command-line invoke-command

这是代码:

$remotelastexitcode = Invoke-Command -ComputerName $fdt_server -Credential $Cred -ScriptBlock {
    Param($Rjava_path, $Rfdt_path, $Rfdt_log_folder, $Rfdt_log_filename)

    Invoke-Expression -Command:"cmd.exe /c 'start /B $Rjava_path -jar $Rfdt_path -S 1>> $Rfdt_log_folder\$Rfdt_log_filename.txt 2>>&1 & exit 0'";

    $LASTEXITCODE
} -ArgumentList $java_path, $fdt_path, $fdt_log_folder, $fdt_log_filename -ErrorAction Stop

# Force the result to an array, and then test just the last line, which will be
# the last exit code. Anything echoed before that will be ignored.
if (@($remotelastexitcode)[-1] -ne 0) {
    exit 1
}

我想调用

cmd.exe /c 'start /B $Rjava_path -jar $Rfdt_path -S 1>> $Rfdt_log_folder\$Rfdt_log_filename.txt 2>>&1'

在远程服务器$fdt_server上,但不要等待它完成。 基本上,我希望它只是运行它并继续前进。

我怎样才能做到这一点?我尝试使用-AsJob,但似乎无法正常工作。

1 个答案:

答案 0 :(得分:0)

使用Invoke-WmiMethod可以解决问题!