Trennen Sie die Schritte. Versuchen Sie, die Plink-Datenanforderung an eine temporäre Datei zu senden, haben Sie einen Monitor am temporären Speicherort und wenn der Schreibvorgang abgeschlossen ist, verwenden Sie Ihren Formularcode, um die temporären Dateidaten in Ihr Formular zurückzulesen, statt den Hintergrund-Job-Ansatz.
Eingefrorenes Powershell-Formular bei der Ausführung von SSH-Befehlen
375
igor
Habe ein einfaches Skript, das über Powershell-Formular ausgeführt wird
Auf Anforderung ruft er Informationen von Linux-Servern mit plink
Befehl ab und gibt sie als Ausgabe im Formular aus. Das Problem, dass das Formular einfriert, während Informationen abgerufen werden.
Ich habe versucht get-job
, dasselbe Ergebnis zu verwenden
Mein ursprünglicher Befehl:
plink -batch -ssh $User@$srv -pw $pass -m $executeCommandFile | fl | out-string
get-job
Logik hinzugefügt :
$myjob = start-job -scriptblock While ( ($myjob | Select-Object -ExpandProperty State) -eq "Running") { sleep 1 } $results = receive-job -job $myjob
1 Antwort auf die Frage
1
postanote
Habe es schon probiert. Die plink-Datenanforderung ist Teil des Formularcodes. Sie wartet also noch, bis sie in die Datei schreibt. Ich habe nicht das Wissen, um es von Formularcode, Hintergrundjob und temporärer Datei zu trennen, wie ich es im Internet gefunden habe. Aber es ist nicht gut für diesen Fall
igor vor 6 Jahren
0
F: Was ist in dieser Batchdatei? F: Bekommen Sie überhaupt Ergebnisse in der Datei / Benutzeroberfläche? Außerdem wollte ich in meiner ersten Antwort hinzufügen, dass Sie eine Variable in einem lokalen Bereich im Vergleich zum Remote-Bereich verwenden. Siehe dies und insbesondere "Beispiel 5: Verwenden einer lokalen Variablen in einem Remote-Befehl"
postanote vor 6 Jahren
0
1. wenn! [["" $ (dpkg -l) "= ~ (^ | [[: space:]])" $ package "(\ $ | [[: space:]])]]; dann Echo 1; fi; \\ überprüft mit dem Befehl `dpkg`, ob ein bestimmtes Linux-Paket installiert ist
igor vor 6 Jahren
0
2. Die Ausgabe ist NULL oder 1, um sie in eine Variable zu bringen und dann relevante Berechnungen durchzuführen
igor vor 6 Jahren
0
3. Sie meinen den Aufrufbefehl?
igor vor 6 Jahren
0
Verwandte Probleme
-
6
Guter PowerShell-Leitfaden, der durch fortgeschrittene Verwendung Einstieg leistet
-
10
Wie richte ich SSH ein, damit ich mein Passwort nicht eingeben muss?
-
3
Wie kann ich ssh verwenden, um einen Befehl auf einem Remote-Unix-Computer auszuführen und zu beende...
-
8
Rette mich vor dem Kauderwelsch
-
5
Deaktivieren des Pieptons im cmd-Fenster
-
4
Wie kann man HOME- oder END-Tasten in mc unter OS X (ssh) verwenden?
-
3
Powershell-Ping auf unbestimmte Zeit
-
3
/ usr / bin / reset deaktiviert den Rückschritt
-
4
Wie kann ich gesendete Formulardaten im Internet Explorer erfassen / erfassen?
-
4
Erstellt einen Schlüssel mit SSH-Keygen. Der Ordner wird nicht mit FileZilla angezeigt