Forma Powershell Congelada ao Executar Comandos SSH

1

Tenha um script simples que seja executado por meio do formulário do Powershell

Por solicitação, ele obtém informações dos servidores Linux, usando o comando plink e, em seguida, imprime como uma saída no formulário. O problema que o formulário está congelando ao obter informações.

Eu tentei usar get-job , mesmo resultado

Meu comando original:

plink -batch -ssh $User@$srv -pw $pass -m $executeCommandFile | fl | out-string

Adicionada get-job logic:

$myjob = start-job -scriptblock {plink -batch -ssh $User@$srv -pw $pass -m $executeCommandFile | fl | out-string}
While ( ($myjob | Select-Object -ExpandProperty State) -eq "Running") {
                    sleep 1
                }
$results = receive-job -job $myjob
    
por igor 01.08.2018 / 14:54

1 resposta

1

Separe as etapas. Tente enviar a solicitação de dados plink para um arquivo temporário, ter um monitor no local temporário e, quando a gravação dos dados for concluída, use o código do formulário para ler os dados do arquivo temporário em seu formulário versus a abordagem de trabalho em segundo plano.

    
por 01.08.2018 / 17:41