远程执行命令 - 无需等待
Remote Execute command - No Wait
这是代码:
$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
但似乎不起作用。
使用 Invoke-WmiMethod 就可以了!
这是代码:
$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
但似乎不起作用。
使用 Invoke-WmiMethod 就可以了!