एसएसएच कमांड निष्पादित करते समय जमे हुए पॉवर्सशेल फॉर्म


1

एक सरल स्क्रिप्ट है जो पॉवर्सशेल फॉर्म के माध्यम से चलती है

अनुरोध के अनुसार, यह जानकारी प्राप्त कर रहा है लिनक्स सर्वर, plinkकमांड का उपयोग कर , और फिर इसे फॉर्म में आउटपुट के रूप में प्रिंट करता है। जानकारी प्राप्त करने के दौरान फ़ॉर्म को जमा देने वाली समस्या।

मैंने उपयोग करने की कोशिश की है get-job, वही परिणाम

मेरा मूल आदेश:

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

जोड़ा गया get-jobतर्क:

$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

जवाबों:


1

चरणों को अलग करें। अस्थायी डेटा अनुरोध को टेम्प फ़ाइल में भेजने का प्रयास करें, अस्थायी स्थान पर एक मॉनिटर रखें और जब डेटा लिखना पूरा हो जाता है, तो अपने फ़ॉर्म कोड को बैकग्राउंड जॉब दृष्टिकोण बनाम अस्थायी फ़ाइल डेटा को पढ़ने के लिए अपने फॉर्म कोड का उपयोग करें।


पहले ही कोशिश कर ली। पलक डेटा अनुरोध फॉर्म कोड का हिस्सा है, इसलिए यह तब भी प्रतीक्षा करता है जब तक कि यह फ़ाइल में न लिखे। फॉर्म कोड, बैकग्राउंड जॉब और टेम्प फाइल को अलग करने के लिए आपके पास ज्ञान नहीं है जो मुझे इंटरनेट में मिला है। लेकिन यह इस मामले के लिए अच्छा नहीं है
igor

प्रश्न: उस बैच फ़ाइल में क्या है? प्रश्न: क्या आपको फ़ाइल / UI पर कोई परिणाम मिल रहा है? इसके अलावा, मेरा मतलब है कि आप अपनी पहली प्रतिक्रिया में एक चर का उपयोग कर रहे हैं, एक स्थानीय दायरे में, बनाम दूरस्थ गुंजाइश। इस देखें और विशेष रूप से 'उदाहरण 5: एक रिमोट कमान में एक स्थानीय चर का उपयोग करना'
postanote

1. अगर! [["$ (dpkg -l)" = ~ (^ | [[: space:]]] "$ पैकेज (\ $। [[: space:]]]]]; फिर गूंज 1; फाई; \\ चेकों एक निश्चित linux पैकेज स्थापित किया गया है, का उपयोग करते हुए dpkgआदेश
igor

2. उत्पादन, शून्य या 1 है एक चर में हो रही है और फिर प्रासंगिक गणना कर
इगोर

3. आपका मतलब है इनवोक-कमांड?
इगोर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.