2012-05-04 19 views
17

मैं दूरस्थ कंप्यूटर में एक स्क्रिप्ट निष्पादित करने का प्रयास कर रहा था।रिमोट मशीन में उपलब्ध पावरहेल स्क्रिप्ट निष्पादित करने के लिए कैसे?

मैंने दूरस्थ मशीन में "Enable-PSremoting" किया था।

मैंने रिमोट मशीन में एक स्क्रिप्ट hello.ps1 रखा।

[मेरे क्लाइंट मशीन Windows XP है और दूरस्थ कंप्यूटर Windows 2003 है]

तब मेरे क्लाइंट कंप्यूटर से मैं स्क्रिप्ट को निष्पादित करने के लिए कोशिश कर रहा था।

invoke-command -computer $MachineName -filepath "C:\hello.ps1" 

मुझे निम्न त्रुटि मिली।

Invoke-Command: पथ 'सी: \ hello.ps1' नहीं ढूंढ सकता क्योंकि यह मौजूद नहीं है।

मुझे लगता है कि यह क्लाइंट मशीन से स्क्रिप्ट ढूंढने का प्रयास करता है।

तो मैं

invoke-command -computer $MachineName -command { C:\hello.ps1 } चलाने का प्रयास, यह ग्राहक के पक्ष में स्क्रिप्ट रिमोट मशीन में उपलब्ध निष्पादित करता है।

लेकिन मैं दूरस्थ मशीन में रिमोट स्क्रिप्ट को निष्पादित करना चाहता हूं।

रिमोट मशीन में उपलब्ध स्क्रिप्ट को चलाने के लिए इसे कैसे बनाया जाए?

अपडेट किया गया:

असल में इस आदेश को "invoke-command -computer $MachineName -command { C:\hello.ps1 }" दूरस्थ पक्ष में काम करता है और क्लाइंट साइड करने के लिए परिणाम प्राप्त हुआ। मैंने वापसी मूल्यों को देखकर गलत समझा कि यह क्लाइंट साइड पर निष्पादित हो रहा है।

+0

मैं तुमसे प्यार करता हूँ। आपके थ्रेड पोस्ट होने के 5 साल बाद, गुगलिंग और बहने के दिनों और दिनों के बाद और इनवोक-यदायदा की हर कॉन्फ़िगरेशन की कोशिश करने के बाद, लगभग छोड़ने के लिए तैयार है और मैं उपरोक्त अपना "अपडेट:" अनुभाग देखता हूं और बस कोशिश करता हूं।इसने मुझे एक ही त्रुटि दी लेकिन मैंने आपके कोड में एक चर में एक दूरस्थ सत्र लगाया और आखिरकार ऐसा कुछ है जो काम करता है: ::::::::: $ s = नया-PSSession- कंप्यूटर नाम "WTxxxxxL32" - प्रमाणिक $ प्रमाण पत्र :: ::: Invoke-Command -ession $ s -Command {D: \ ServerDLLDev \ RemoteCOMInstall.ps1} – JustJohn

उत्तर

1

quick start on PowerShell remoting के लिए यहां देखें।

+0

यह रिमोटिंग के बारे में मूलभूत स्पष्टीकरण है। मैंने पहले से ही उन बुनियादी चीजों की कोशिश की। लेकिन रिमोट साइड में स्क्रिप्ट को निष्पादित करने में – Samselvaprabu

+0

@ सैमसेलवाप्रू चुनौतियों को स्थानीय स्क्रिप्ट के माध्यम से रिमोट मशीन पर होस्ट की गई फ़ाइल/स्क्रिप्ट को निष्पादित करने का अंत कैसे हुआ? – Abdul

9

जब आप लिखें:

invoke-command -computer $MachineName -filepath "C:\hello.ps1" 

स्क्रिप्ट C:\hello.ps1 क्लाइंट कंप्यूटर से लिया और निष्पादित करने के लिए सर्वर के लिए लाया जाएगा। तो आपको त्रुटि मिली है फ़ाइल मौजूद नहीं है क्योंकि Invoke-Command क्लाइंट कंप्यूटर में फ़ाइल की तलाश में है।

+0

रिमोट स्क्रिप्ट को पैरामीटर देने के बारे में कैसे? –

+2

'-ArgumentList'' पर एक नज़र डालें। – JPBlanc

+0

@JPBlanc मुझे रिमोट मशीन पर रिमोट फाइल निष्पादित करने के लिए '-ArgumentList' विकल्प का उपयोग करने का तरीका जानने में कठिनाई हो रही है – Abdul

0

मेरे पास एक ही जांच थी, और इसे [WMICLASS] 's create() और Start-Process के संयोजन के साथ हल किया गया।

मेरा उत्तर here देखें।

0

मैं एक ही त्रुटि मिली, लेकिन मैं अपने कोड में एक चर में एक रिमोट सत्र झुका और अंत में कुछ है कि काम करता है:

$s = New-PSSession -ComputerName "WTxxxxxL32" -Credential $credential 

Invoke-Command -Session $s -Command {D:\ServerDLLDev\RemoteCOMInstall.ps1} 

एक लाख आह्वान-आदि solutons रहे हैं लेकिन सबसे सरल मेरे लिए अंत में काम किया । आपका धन्यवाद।

+0

इसका मतलब है कि आप अपने स्थानीय मशीन से अपने वीएम पर पावरहेल कमांड चला रहे हैं ?? – ChanGan

+0

कोई वीएम शामिल नहीं है। ग्राहक कंप्यूटर और सर्वर। नया-PSSession रिमोट सर्वर पर कोड चलाने के लिए एक सत्र बनाता है। सत्र के लिए Invoke-Command तब सर्वर पर मौजूद स्क्रिप्ट चलाता है। क्लाइंट पर कोड होने से पहले, लेकिन इससे एक त्रुटि उत्पन्न हुई। – JustJohn

+0

मेरी सर्वर मशीन अन्य डोमेन पर है। यह समाधान काम करेगा ?? – ChanGan