गीक स्कूल: पावरशेल में रिमोटिंग का उपयोग करना सीखें

विषयसूची:

गीक स्कूल: पावरशेल में रिमोटिंग का उपयोग करना सीखें
गीक स्कूल: पावरशेल में रिमोटिंग का उपयोग करना सीखें

वीडियो: गीक स्कूल: पावरशेल में रिमोटिंग का उपयोग करना सीखें

वीडियो: गीक स्कूल: पावरशेल में रिमोटिंग का उपयोग करना सीखें
वीडियो: How To Get Computer System Information Using PowerShell on Windows 10 - YouTube 2024, अप्रैल
Anonim
पावरशेल ऑफ़र की सबसे अच्छी सुविधाओं में से एक है अपने सर्वर को दूरस्थ रूप से प्रबंधित करने की क्षमता। यह आपको एक बार में भी एक गुच्छा का प्रबंधन करने देता है।
पावरशेल ऑफ़र की सबसे अच्छी सुविधाओं में से एक है अपने सर्वर को दूरस्थ रूप से प्रबंधित करने की क्षमता। यह आपको एक बार में भी एक गुच्छा का प्रबंधन करने देता है।

श्रृंखला में पिछले लेखों को पढ़ना सुनिश्चित करें:

  • PowerShell के साथ विंडोज स्वचालित करने के लिए जानें
  • PowerShell में Cmdlets का उपयोग करना सीखना
  • PowerShell में ऑब्जेक्ट्स का उपयोग कैसे करें सीखना
  • PowerShell में स्वरूपण, फ़िल्टरिंग और तुलना करना सीखना

और पूरे सप्ताह श्रृंखला के बाकी हिस्सों के लिए देखते रहें।

रिमोटिंग क्या है?

आपके सर्वर का थोक प्रबंधन कठिन हो सकता है, और यदि आपको पहले 50 वेबसर्वर पर आईआईएस कॉन्फ़िगरेशन परिवर्तन करना पड़ा है, तो आपको पता चलेगा कि मेरा क्या मतलब है। ये ऐसी स्थितियां हैं जब पावरशेल रिमोटिंग और भाषा की स्क्रिप्टिंग क्षमताओं को बचाव में आ सकता है। HTTP या अधिक सुरक्षित HTTPS का उपयोग करके, PowerShell Remoting आपको अपने नेटवर्क पर रिमोट मशीन पर कमांड भेजने की अनुमति देता है। मशीन तब कमांड चलाती है और आउटपुट को वापस भेजती है, जो बदले में आपकी स्क्रीन पर प्रदर्शित होती है।

चलो तकनीकी जाओ

पावरशेल रीमोटिंग के मूल में एक एकल विंडोज सेवा, विंडोज रिमोट मैनेजमेंट, या विनआरएम सेवा है, जैसा कि यह ज्ञात हो गया है। WinRM का उपयोग करके, आप एक या अधिक सत्र कॉन्फ़िगरेशन (एंडपॉइंट्स के रूप में भी जाना जाता है) सेट कर सकते हैं, जो मूल रूप से उन फाइलें हैं जिनमें आपके रिमोट पावरशेल इंस्टेंस से कनेक्ट होने वाले व्यक्ति को जो अनुभव प्रदान करना है, उसके बारे में जानकारी शामिल है। अधिक विशेष रूप से, आप सत्र कॉन्फ़िगरेशन फ़ाइलों का उपयोग यह निर्धारित करने के लिए कर सकते हैं कि कौन से और कौन से कनेक्ट नहीं हो सकते हैं, कौन सी cmdlets और स्क्रिप्ट वे चला सकते हैं, साथ ही सत्र के संदर्भ में कौन सा सुरक्षा संदर्भ चलाना चाहिए। WinRM सेवा का उपयोग करके, आप "श्रोताओं" भी सेट करते हैं, जो आने वाले PowerShell अनुरोधों को सुनते हैं। ये "श्रोताओं" या तो HTTP या HTTPS हो सकते हैं और आपकी मशीन पर एक ही आईपी पते से बंधे जा सकते हैं। जब आप किसी अन्य मशीन पर पावरशेल कनेक्शन खोलते हैं (तकनीकी रूप से यह डब्लूएस-मैन प्रोटोकॉल का उपयोग करके किया जाता है, जो HTTP पर आधारित है), कनेक्शन इन "श्रोताओं" में से किसी एक से जुड़ता है। "श्रोताओं" तब उपयुक्त सत्र कॉन्फ़िगरेशन फ़ाइल से जुड़े एप्लिकेशन को यातायात भेजने का प्रभारी होते हैं; एप्लिकेशन (आमतौर पर पावरशेल लेकिन यदि आप चाहें तो अन्य होस्टिंग एप्लिकेशन हो सकते हैं) फिर कमांड चलाता है और परिणामों को नेटवर्क पर "श्रोता" के माध्यम से वापस ले जाता है और आपकी मशीन पर वापस आ जाता है।

मुझे दिखाओ कि कैसे

पहली चीज़ जो आपको करने की आवश्यकता होगी वह उस मशीन पर रिमोटिंग सक्षम करने के लिए सक्षम है जिसे आप कनेक्ट करना चाहते हैं। यह निम्नलिखित चलाकर किया जा सकता है:

Enable-PSRemoting

आपको सभी संकेतों के लिए हाँ का जवाब देना होगा। जब आप सक्षम-PSRemoting चलाते हैं, तो आपके पीसी में कुछ बदलाव किए जाते हैं:
आपको सभी संकेतों के लिए हाँ का जवाब देना होगा। जब आप सक्षम-PSRemoting चलाते हैं, तो आपके पीसी में कुछ बदलाव किए जाते हैं:
  • WinRM सेवा शुरू होती है।
  • WinRM सेवा मैन्युअल स्टार्टअप मोड से स्वचालित में बदल जाती है।
  • यह एक HTTP श्रोता बनाता है जो आपके सभी नेटवर्क कार्ड से जुड़ा हुआ है।
  • यह डब्ल्यूएस-मैन प्रोटोकॉल के लिए एक इनबाउंड फ़ायरवॉल अपवाद भी बनाता है।
  • कुछ डिफ़ॉल्ट सत्र विन्यास बनाए जाते हैं

यदि आप विंडोज 7 चला रहे हैं और आपके नेटवर्क कार्ड का स्थान सार्वजनिक पर सेट है, तो PowerShell Remoting को सक्षम करने में विफल रहेगा। इसे ठीक करने के लिए, बस होम या वर्क नेटवर्क स्थान पर स्विच करें। वैकल्पिक रूप से, आप निम्न का उपयोग कर नेटवर्क जांच को छोड़ सकते हैं:

Enable-PSRemoting –SkipNetworkProfileCheck

हालांकि, हम आपको अपने नेटवर्क स्थान को बदलने की सलाह देते हैं।
हालांकि, हम आपको अपने नेटवर्क स्थान को बदलने की सलाह देते हैं।

PowerShell का उपयोग कर किसी अन्य मशीन से कनेक्ट करने के दो तरीके हैं। एक विधि में से एक है, जो एसएसएच का उपयोग करने के समान ही है, और फिर कई तरीकों में से एक है।

PowerShell सत्र का उपयोग करना

PowerShell का उपयोग कर रिमोट मशीन से कनेक्ट करने का पहला तरीका PowerShell सत्र नामक किसी चीज़ का उपयोग कर रहा है। बस एक सत्र डालने के लिए आप रिमोट मशीन पर कमांड को एक इंटरेक्टिव फैशन में चलाने की अनुमति देता है जितना आप अपनी मशीन पर करेंगे। सत्र खोलने के लिए बस निम्न टाइप करें:

Enter-PSSession –ComputerName “Darlah”

प्रॉम्प्ट एक उपसर्ग प्राप्त करेगा जो मशीन को इंगित करता है कि आप cmdlets के खिलाफ चल रहे हैं।
प्रॉम्प्ट एक उपसर्ग प्राप्त करेगा जो मशीन को इंगित करता है कि आप cmdlets के खिलाफ चल रहे हैं।
यहां से आप वास्तव में संकेत का इलाज कर सकते हैं जैसे कि आप रिमोट मशीन पर बैठे थे। उदाहरण के लिए, यदि आप सी: ड्राइव पर सभी फाइलें देखना चाहते हैं तो आप एक सरल कर सकते हैं:
यहां से आप वास्तव में संकेत का इलाज कर सकते हैं जैसे कि आप रिमोट मशीन पर बैठे थे। उदाहरण के लिए, यदि आप सी: ड्राइव पर सभी फाइलें देखना चाहते हैं तो आप एक सरल कर सकते हैं:

Get-ChildItem –Path C:

यदि आप लिनक्स पृष्ठभूमि से आते हैं, तो आप एसएसएच के पावरशेल विकल्प के रूप में रीमोटिंग के एक तरीके से इसका उपयोग करने के बारे में सोच सकते हैं।
यदि आप लिनक्स पृष्ठभूमि से आते हैं, तो आप एसएसएच के पावरशेल विकल्प के रूप में रीमोटिंग के एक तरीके से इसका उपयोग करने के बारे में सोच सकते हैं।

Invoke-Command का उपयोग करना

रिमोट मशीन पर PowerShell का उपयोग करने का दूसरा तरीका Invoke-Command का उपयोग कर है। Invoke-Command का उपयोग करने का लाभ इस तथ्य से आता है कि आप एक साथ कई मशीनों पर एक ही कमांड निष्पादित कर सकते हैं। जैसा कि आप कल्पना कर सकते हैं, यह विशेष रूप से उपयोगी होता है जब आप कुछ करना चाहते हैं जैसे कि अपने सर्वर से इवेंट लॉग इकट्ठा करना। Invoke-Command निम्न वाक्यविन्यास का पालन करता है:

Invoke-Command -ComputerName Darlah,localhost -ScriptBlock {Get-EventLog Application -Newest 2}

Image
Image

चूंकि कमांड को सभी मशीनों में समानांतर में निष्पादित किया जाता है, इसलिए आपको यह देखने के लिए कुछ तरीका चाहिए कि कौन सी पीसी से दिया गया परिणाम आया है। आप PSComputerName प्रॉपर्टी को देख कर ऐसा कर सकते हैं।

जब आप Invoke-Command का उपयोग करते हैं, तो आपके पास अब ऐसी ऑब्जेक्ट्स नहीं हैं जिन्हें आप पाइपलाइन में उम्मीद कर सकते हैं। आप पावरशेल को रिमोट मशीन से अपनी मशीन पर जानकारी प्राप्त करने के लिए देखते हैं, उन्हें ऑब्जेक्ट्स का प्रतिनिधित्व करने के कुछ तरीके की आवश्यकता होती है जो आपके द्वारा रिमोट मशीन आउटपुट पर चलने वाले कमांड की आवश्यकता होती है। इन दिनों ऐसा लगता है कि एक पदानुक्रमित डेटा संरचना का प्रतिनिधित्व करने का चुना गया तरीका एक्सएमएल का उपयोग करना है, जिसका अर्थ है कि जब आप Invoke-Command का उपयोग करके कमांड जारी करते हैं, तो परिणाम पहले आपकी मशीन पर वापस भेजने से पहले एक्सएमएल में क्रमबद्ध होते हैं।एक बार जब वे आपकी मशीन पर वापस आ जाएंगे, तो वे एक वस्तु में वापस deserialized हैं; यहां गॉचाचा यह है कि जब वे deserialized हैं, तो ToString () विधि को छोड़कर सभी विधियों, कि वस्तु से दूर छीन लिया गया था।
जब आप Invoke-Command का उपयोग करते हैं, तो आपके पास अब ऐसी ऑब्जेक्ट्स नहीं हैं जिन्हें आप पाइपलाइन में उम्मीद कर सकते हैं। आप पावरशेल को रिमोट मशीन से अपनी मशीन पर जानकारी प्राप्त करने के लिए देखते हैं, उन्हें ऑब्जेक्ट्स का प्रतिनिधित्व करने के कुछ तरीके की आवश्यकता होती है जो आपके द्वारा रिमोट मशीन आउटपुट पर चलने वाले कमांड की आवश्यकता होती है। इन दिनों ऐसा लगता है कि एक पदानुक्रमित डेटा संरचना का प्रतिनिधित्व करने का चुना गया तरीका एक्सएमएल का उपयोग करना है, जिसका अर्थ है कि जब आप Invoke-Command का उपयोग करके कमांड जारी करते हैं, तो परिणाम पहले आपकी मशीन पर वापस भेजने से पहले एक्सएमएल में क्रमबद्ध होते हैं।एक बार जब वे आपकी मशीन पर वापस आ जाएंगे, तो वे एक वस्तु में वापस deserialized हैं; यहां गॉचाचा यह है कि जब वे deserialized हैं, तो ToString () विधि को छोड़कर सभी विधियों, कि वस्तु से दूर छीन लिया गया था।
Image
Image

नोट: इस नियम के कुछ अपवाद हैं, उदाहरण के लिए पूर्णांक जैसे अधिकांश आदिम प्रकारों को इसके तरीकों के साथ deserialized किया जा सकता है। रिहाइड्रेशन नामक एक प्रक्रिया भी है जहां कुछ विधियों को deserialized वस्तुओं में वापस जोड़ा जा सकता है। तो बस सावधान रहें और याद रखें कि गेट-सदस्य आपका मित्र है।

घर का पाठ

डॉन जोन्स द्वारा पावरशेल रिमोटिंग ईबुक के रहस्य पढ़ें।

सिफारिश की: