गीक स्कूल: पावरशेल के साथ विंडोज स्वचालित करने के लिए जानें

विषयसूची:

गीक स्कूल: पावरशेल के साथ विंडोज स्वचालित करने के लिए जानें
गीक स्कूल: पावरशेल के साथ विंडोज स्वचालित करने के लिए जानें

वीडियो: गीक स्कूल: पावरशेल के साथ विंडोज स्वचालित करने के लिए जानें

वीडियो: गीक स्कूल: पावरशेल के साथ विंडोज स्वचालित करने के लिए जानें
वीडियो: Great Uni-Vibe Sounds, Signal Chain Considerations & Associated Tangents – That Pedal Show - YouTube 2024, मई
Anonim
गीक स्कूल के इस संस्करण में, हम आपको शक्तिशाली पावरशेल स्क्रिप्टिंग भाषा को समझने में मदद करेंगे जो कि विंडोज़ में बनाया गया है, और आईटी पर्यावरण में जानना बेहद उपयोगी है।
गीक स्कूल के इस संस्करण में, हम आपको शक्तिशाली पावरशेल स्क्रिप्टिंग भाषा को समझने में मदद करेंगे जो कि विंडोज़ में बनाया गया है, और आईटी पर्यावरण में जानना बेहद उपयोगी है।

हालांकि इस श्रृंखला को परीक्षा के चारों ओर संरचित नहीं किया गया है, लेकिन पावरशेल सीखना सबसे महत्वपूर्ण चीजों में से एक है जो आप नेटवर्क व्यवस्थापक के रूप में कर सकते हैं, इसलिए यदि कोई चीज है जो आप अपने आईटी कैरियर की मदद करना सीखना चाहते हैं, तो यह है। इसके अलावा, यह बहुत मजेदार है।

परिचय

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

कृपया ध्यान दें कि यह श्रृंखला PowerShell 3 पर आधारित है, जो विंडोज 8 और सर्वर 2012 के साथ जहाजों पर है। यदि आप विंडोज 7 चला रहे हैं तो कृपया जारी रखने से पहले PowerShell 3 अपडेट डाउनलोड करें।

कंसोल और आईएसई से मिलें

बॉक्स के बाहर PowerShell के साथ बातचीत करने के दो तरीके हैं, कंसोल और एकीकृत स्क्रिप्टिंग पर्यावरण - जिसे आईएसई भी कहा जाता है। आईएसई ने पावरशेल 2 के साथ भेजे गए भयानक संस्करण से काफी सुधार किया है और रन बॉक्स लाने के लिए Win + R कीबोर्ड संयोजन दबाकर खोला जा सकता है, फिर powerhell_ise टाइप कर और एंटर दबाकर।

जैसा कि आप आईएसई खेल को एक अलग दृश्य देख सकते हैं ताकि आप आईएसई के निचले हिस्से में परिणाम देखने में सक्षम होने के दौरान तेजी से लिपि कर सकें। आईएसई का निचला आधा, जहां आपकी लिपि के परिणाम मुद्रित होते हैं, को आरईपीएल प्रॉम्प्ट के रूप में भी इस्तेमाल किया जा सकता है - कमांड प्रॉम्प्ट की तरह। अंततः v3 आईएसई ने स्क्रिप्ट फलक के साथ-साथ इंटरैक्टिव कंसोल दोनों में इंटेलिजेंस के लिए समर्थन जोड़ा।
जैसा कि आप आईएसई खेल को एक अलग दृश्य देख सकते हैं ताकि आप आईएसई के निचले हिस्से में परिणाम देखने में सक्षम होने के दौरान तेजी से लिपि कर सकें। आईएसई का निचला आधा, जहां आपकी लिपि के परिणाम मुद्रित होते हैं, को आरईपीएल प्रॉम्प्ट के रूप में भी इस्तेमाल किया जा सकता है - कमांड प्रॉम्प्ट की तरह। अंततः v3 आईएसई ने स्क्रिप्ट फलक के साथ-साथ इंटरैक्टिव कंसोल दोनों में इंटेलिजेंस के लिए समर्थन जोड़ा।
Image
Image
वैकल्पिक रूप से, आप पावरशेल कंसोल का उपयोग कर पावरशेल के साथ बातचीत कर सकते हैं, जो कि मैं इस श्रृंखला के अधिकांश के लिए उपयोग कर रहा हूं। पावरशेल कंसोल कमांड प्रॉम्प्ट की तरह व्यवहार करता है - आप बस कमांड दर्ज करते हैं और यह परिणाम निकाल देता है। विंडोज पावरशेल कंसोल खोलने के लिए, फिर से रन बॉक्स खोलने के लिए Win + R कीबोर्ड संयोजन दबाएं और पावरहेल टाइप करें और फिर एंटर दबाएं।
वैकल्पिक रूप से, आप पावरशेल कंसोल का उपयोग कर पावरशेल के साथ बातचीत कर सकते हैं, जो कि मैं इस श्रृंखला के अधिकांश के लिए उपयोग कर रहा हूं। पावरशेल कंसोल कमांड प्रॉम्प्ट की तरह व्यवहार करता है - आप बस कमांड दर्ज करते हैं और यह परिणाम निकाल देता है। विंडोज पावरशेल कंसोल खोलने के लिए, फिर से रन बॉक्स खोलने के लिए Win + R कीबोर्ड संयोजन दबाएं और पावरहेल टाइप करें और फिर एंटर दबाएं।
इस तरह के आरईपीएल संकेत तत्काल संतुष्टि के लिए भयानक हैं: आप एक कमांड दर्ज करते हैं और आपको परिणाम मिलते हैं। जबकि कंसोल इंटेलिजेंस प्रदान नहीं करता है, यह टैब पूर्ण करने के लिए कुछ प्रदान करता है जो बहुत ही काम करता है - बस एक कमांड टाइप करना शुरू करें और संभावित मैचों के माध्यम से चक्र के लिए टैब दबाएं।
इस तरह के आरईपीएल संकेत तत्काल संतुष्टि के लिए भयानक हैं: आप एक कमांड दर्ज करते हैं और आपको परिणाम मिलते हैं। जबकि कंसोल इंटेलिजेंस प्रदान नहीं करता है, यह टैब पूर्ण करने के लिए कुछ प्रदान करता है जो बहुत ही काम करता है - बस एक कमांड टाइप करना शुरू करें और संभावित मैचों के माध्यम से चक्र के लिए टैब दबाएं।
Image
Image
Image
Image

सहायता प्रणाली का उपयोग करना

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

Update-Help

Image
Image
अपना पहला PowerShell कमांड चलाने पर बधाई! सच्चाई यह है कि अद्यतन-सहायता कमांड में बस इसे चलाने से बहुत अधिक विकल्प हैं, और उन्हें देखने के लिए हम कमांड के लिए सहायता देखना चाहेंगे। कमांड के लिए सहायता देखने के लिए आप बस उस कमांड का नाम पास करते हैं जिसे आप गेट-हेल्प कमांड के नाम पैरामीटर के साथ मदद करना चाहते हैं, उदाहरण के लिए:
अपना पहला PowerShell कमांड चलाने पर बधाई! सच्चाई यह है कि अद्यतन-सहायता कमांड में बस इसे चलाने से बहुत अधिक विकल्प हैं, और उन्हें देखने के लिए हम कमांड के लिए सहायता देखना चाहेंगे। कमांड के लिए सहायता देखने के लिए आप बस उस कमांड का नाम पास करते हैं जिसे आप गेट-हेल्प कमांड के नाम पैरामीटर के साथ मदद करना चाहते हैं, उदाहरण के लिए:

Get-Help –Name Update-Help

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

दूसरे प्रश्न का उत्तर देने के लिए, एक निश्चित वाक्यविन्यास है जो फ़ाइलों का पालन करने में सहायता करता है और यहां यह है:

  • एक पैरामीटर नाम और उसके प्रकार के चारों ओर स्क्वायर ब्रैकेट का मतलब है कि यह एक वैकल्पिक पैरामीटर है और कमांड इसके बिना ठीक काम करेगा।
  • पैरामीटर नाम के चारों ओर स्क्वायर ब्रैकेट का मतलब है कि पैरामीटर स्थितित्मक पैरामीटर है।
  • कोण वाले ब्रैकेट में पैरामीटर के दाईं ओर की चीज़ आपको पैरामीटर की अपेक्षा की जाने वाली डेटा प्रकार बताती है।

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

Get-Help –Name Update-Help –Full

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

Get-Help –Name *service*

निश्चित रूप से, यह सारी जानकारी बल्ले से आसान नहीं हो सकती है, लेकिन मेरा विश्वास करो, समय लें और सहायता प्रणाली का उपयोग कैसे करें। यह हर समय काम में आता है, यहां तक कि उन्नत स्क्रिप्टर्स जो वर्षों से ऐसा कर रहे हैं।
निश्चित रूप से, यह सारी जानकारी बल्ले से आसान नहीं हो सकती है, लेकिन मेरा विश्वास करो, समय लें और सहायता प्रणाली का उपयोग कैसे करें। यह हर समय काम में आता है, यहां तक कि उन्नत स्क्रिप्टर्स जो वर्षों से ऐसा कर रहे हैं।

सुरक्षा

यह सुरक्षा का जिक्र किए बिना उचित परिचय नहीं होगा। पावरशेल टीम के लिए सबसे बड़ी चिंता यह है कि पॉवरशेल स्क्रिप्ट किड्स के लिए नवीनतम और सबसे बड़ा हमला बिंदु बन गया है। उन्होंने यह सुनिश्चित करने के लिए कुछ सुरक्षा उपाय किए हैं कि ऐसा नहीं होता है, तो चलिए उन्हें देखें।

सुरक्षा का सबसे बुनियादी रूप इस तथ्य से आता है कि पीएस 1 फ़ाइल एक्सटेंशन (PowerShell स्क्रिप्ट को इंगित करने के लिए उपयोग किया जाने वाला एक्सटेंशन) PowerShell होस्ट के साथ पंजीकृत नहीं है, यह वास्तव में नोटपैड के साथ पंजीकृत है। इसका मतलब है कि यदि आप फ़ाइल पर डबल क्लिक करते हैं तो यह चलने के बजाए नोटपैड के साथ खुल जाएगा।

दूसरा, आप केवल स्क्रिप्ट के नाम टाइप करके खोल से स्क्रिप्ट नहीं चला सकते हैं, आपको स्क्रिप्ट के लिए पूरा पथ निर्दिष्ट करना होगा। तो यदि आप अपने सी ड्राइव पर एक स्क्रिप्ट चलाने के लिए चाहते हैं तो आपको टाइप करना होगा:

C:

unme.ps1

या यदि आप पहले से ही सी ड्राइव की जड़ पर हैं तो आप निम्न का उपयोग कर सकते हैं:

unme.ps1

अंत में, पावरशेल में निष्पादन नीतियां कहलाती हैं, जो आपको किसी पुरानी लिपि को चलाने से रोकती हैं। असल में, डिफ़ॉल्ट रूप से, आप किसी भी स्क्रिप्ट को नहीं चला सकते हैं और यदि आप उन्हें चलाने की अनुमति देना चाहते हैं तो अपनी निष्पादन नीति को बदलने की आवश्यकता है। 4 उल्लेखनीय निष्पादन नीतियां हैं:

  • वर्जित: यह PowerShell में डिफ़ॉल्ट कॉन्फ़िगरेशन है। इस सेटिंग का अर्थ है कि इसके हस्ताक्षर के बावजूद कोई स्क्रिप्ट नहीं चल सकती है। इस सेटिंग के साथ PowerShell में चलने वाली एकमात्र चीज एक व्यक्तिगत कमांड है।
  • AllSigned: यह सेटिंग PowerShell में स्क्रिप्ट चलाने की अनुमति देती है। लिपि में एक विश्वसनीय प्रकाशक से संबंधित डिजिटल हस्ताक्षर होना चाहिए। विश्वसनीय प्रकाशकों से स्क्रिप्ट चलाने से पहले एक संकेत मिलेगा।
  • RemoteSigned: यह सेटिंग स्क्रिप्ट को चलाने की अनुमति देती है, लेकिन यह आवश्यक है कि इंटरनेट से डाउनलोड की गई स्क्रिप्ट और कॉन्फ़िगरेशन फ़ाइलों में एक विश्वसनीय प्रकाशक से संबंधित डिजिटल हस्ताक्षर हो। स्थानीय कंप्यूटर से चलने वाली लिपियों पर हस्ताक्षर करने की आवश्यकता नहीं है। स्क्रिप्ट चलाने से पहले कोई संकेत नहीं है।
  • अप्रतिबंधित: यह अनचाहे स्क्रिप्ट को चलाने की अनुमति देता है, जिसमें इंटरनेट से डाउनलोड की गई सभी स्क्रिप्ट और कॉन्फ़िगरेशन फ़ाइलें शामिल हैं। इसमें Outlook और Messenger से फ़ाइलें शामिल होंगी। यहां कोई जोखिम हस्ताक्षर या सुरक्षा के बिना स्क्रिप्ट चल रहा है। हमने पुनः संयोजित किया कि आप कभी भी यह सेटिंग नहीं करते हैं।

यह देखने के लिए कि आपकी वर्तमान निष्पादन नीति क्या सेट है, पावरशेल कंसोल खोलें और टाइप करें:

Get-ExecutionPolicy

इस पाठ्यक्रम और अन्य परिस्थितियों के लिए, दूरस्थ हस्ताक्षरित नीति सर्वोत्तम है, इसलिए आगे बढ़ें और निम्नलिखित का उपयोग करके अपनी नीति बदलें।
इस पाठ्यक्रम और अन्य परिस्थितियों के लिए, दूरस्थ हस्ताक्षरित नीति सर्वोत्तम है, इसलिए आगे बढ़ें और निम्नलिखित का उपयोग करके अपनी नीति बदलें।

नोट: इसे एक उन्नत पावरशेल कंसोल से किया जाना चाहिए।

Set-ExecutionPolicy RemoteSigned

इस समय लोगों के लिए यह सब कुछ है, कल आप कुछ और PowerShell मज़ा के लिए देखें।
इस समय लोगों के लिए यह सब कुछ है, कल आप कुछ और PowerShell मज़ा के लिए देखें।

अस्वीकरण: PowerShell कमांड के लिए उचित शब्द एक cmdlet है, और अब से हम इस सही शब्दावली का उपयोग करेंगे। इस परिचय के लिए उन्हें आदेशों को कॉल करने के लिए बस इतना उचित लगा।

यदि आपके कोई प्रश्न हैं, तो आप मुझे @taybgibb ट्वीट कर सकते हैं, या बस एक टिप्पणी छोड़ सकते हैं।

सिफारिश की: