मुखपृष्ठ » कैसे » Geek स्कूल जानें कैसे PowerShell का विस्तार करने के लिए

    Geek स्कूल जानें कैसे PowerShell का विस्तार करने के लिए

    शेल को विस्तारित करने के लिए PowerShell आपके लिए दो तरीके प्रदान करता है। आप या तो स्नैपइन का उपयोग कर सकते हैं, जो केवल बाइनरी हैं और पूरी तरह से प्रोग्रामिंग भाषा में सी # की तरह विकसित हैं, या आप मॉड्यूल का उपयोग कर सकते हैं, जो बाइनरी और साथ ही स्क्रिप्ट आधारित हो सकता है।.

    श्रृंखला के पिछले लेखों को अवश्य पढ़ें:

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

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

    Snapins

    Snapins तो पिछले साल हैं। एक तरफ सभी चुटकुले, Snapins वास्तव में PowerShell समुदाय के बीच कभी नहीं पकड़े गए क्योंकि अधिकांश स्क्रिप्टर्स डेवलपर्स नहीं हैं और आप केवल C # जैसी भाषा में स्नैपशॉट लिख सकते हैं। फिर भी अभी भी कुछ उत्पाद हैं जो स्नैप का उपयोग करते हैं, उदाहरण के लिए वेब डिप्लॉय। निम्नलिखित कमांड का उपयोग करने के लिए शेल में उपयोग करने के लिए आपके लिए कौन से स्नैपिन्स उपलब्ध हैं, यह देखने के लिए:

    Get-PSSnapin -Registered

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

    Add-PSSnapin -Name WDeploySnapin3.0

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

    Get-Command -Module WDeploy *

    नोट: तकनीकी रूप से यह एक मॉड्यूल नहीं है, लेकिन किसी कारण से आपको अभी भी मॉड्यूल पैरामीटर का उपयोग करना होगा.

    मॉड्यूल

    मॉड्यूल नए हैं और आगे बढ़ने के रास्ते हैं। वे दोनों को PowerShell के साथ-साथ C # जैसी भाषा में कोडित करके स्क्रिप्ट किया जा सकता है। अधिकांश अंतर्निहित कमांड मॉड्यूल में भी व्यवस्थित होते हैं। अपने सिस्टम पर मॉड्यूल की सूची देखने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं:

    गेट-मॉड्यूल -ListAvailable

    जैसे-जैसे उत्पादों को अद्यतन किया जाता है, उनके पावरशेल समकक्षों को मॉड्यूल में स्थानांतरित किया जा रहा है। उदाहरण के लिए, एसक्यूएल में एक स्नैपइन हुआ करता था, लेकिन अब यह मॉड्यूल से बना है.

    मॉड्यूल का उपयोग करने के लिए, आपको पहले इसे आयात करने की आवश्यकता है.

    आयात-मॉड्यूल -Name SQLASCMDLETS

    आप उसी ट्रिक का उपयोग कर सकते हैं जिसका उपयोग हमने स्नैप के साथ प्रयोग करके उन सभी कमांड्स को देखने के लिए किया था जो मॉड्यूल शेल में जोड़ा गया था.

    तो यह सवाल छोड़ देता है: कैसे PowerShell को पता है कि आपके सिस्टम पर आपके पास क्या स्नैप और मॉड्यूल हैं? ठीक है, स्नैपशॉट एक दर्द का एक सा है और स्थापित किया जाना है। इंस्टॉलेशन प्रक्रिया के भाग में कुछ रजिस्ट्री प्रविष्टियाँ शामिल हैं जो PowerShell स्नैपइन जानकारी खोजने के लिए देखती हैं। दूसरी ओर, मॉड्यूल, उन्हें केवल PSModulePP परिवेश चर में किसी एक स्थान पर रखकर शेल के साथ पंजीकृत किया जा सकता है। वैकल्पिक रूप से, आप केवल पर्यावरण चर के लिए मॉड्यूल में पथ जोड़ सकते हैं.

    ($ Env: PSModulePath) .Split ( ",")

    यह चर की सामग्री को थूक देगा। ध्यान दें कि यदि आपके पास SQL ​​जैसा कोई मॉड्यूल स्थापित है, तो उसने SQL मॉड्यूल के स्थान को शामिल करने के लिए चर को कैसे संशोधित किया.

    मॉड्यूल ऑटो लोड हो रहा है

    PowerShell 3 ने एक भयानक नई सुविधा शुरू की जो कुछ नामों से जानी जाती है। उनमें से कोई भी आधिकारिक नहीं है, लेकिन "मॉड्यूल ऑटो लोडिंग" इसका सबसे अच्छा विवरण है। मूलतः, यह आपको cmdlets का उपयोग करने की अनुमति देता है जो आयात-मॉड्यूल cmdlet का उपयोग करके मॉड्यूल को स्पष्ट रूप से आयात किए बिना एक बाहरी मॉड्यूल से संबंधित हैं। इसे देखने के लिए, पहले निम्नलिखित कमांड का उपयोग करके अपने शेल से सभी मॉड्यूल निकालें:

    जाओ-मॉड्यूल | निकालें-मॉड्यूल

    आप तब जाँच सकते हैं कि आपके पास निम्न का उपयोग करके कोई मॉड्यूल लोड नहीं है:

    Get-मॉड्यूल

    अब एक cmdlet का उपयोग करें जो मुख्य पुस्तकालय में नहीं है। टेस्ट-कनेक्शन एक अच्छा है:

    टेस्ट-कनेक्शन लोकलहोस्ट

    यदि आप अपने लोड किए गए मॉड्यूल को फिर से जांचते हैं, तो आप देखेंगे कि यह वास्तव में मॉड्यूल को लोड करता है.

    आज के दोस्तों के लिए बस इतना ही, कल के लिए हमसे जुड़ें.