Windows PowerShell को स्थापित और कॉन्फ़िगर करना। विंडोज पॉवरशेल - उपयोगी नोट्स पॉवरशेल स्थापित करना

0
उपयुक्त:
पेशेवरों और छोटे व्यवसायों के लिए Office 365, उद्यमों के लिए Office 365, [ईमेल संरक्षित]
विंडोज एक्सपी, विंडोज विस्टा, विंडोज सर्वर 2003, विंडोज 7 और विंडोज सर्वर 2008

इससे पहले कि आप Windows PowerShell का उपयोग शुरू करें, सुनिश्चित करें कि आपके पास अपने कंप्यूटर पर Windows PowerShell और Windows Remote Management (WinRM) के सही संस्करण स्थापित और कॉन्फ़िगर किए गए हैं। आपको Windows प्रबंधन फ्रेमवर्क का उपयोग करना चाहिए, जिसमें Windows PowerShell v2 और WinRM 2.0 के सही संस्करण शामिल हैं।

यदि आपका कंप्यूटर Windows 7 या Windows Server 2008 R2 चला रहा है, तो आपको कुछ भी स्थापित करने की आवश्यकता नहीं है। Windows प्रबंधन फ्रेमवर्क पहले से ही स्थापित है।

यदि आपका कंप्यूटर निम्न में से कोई एक ऑपरेटिंग सिस्टम चला रहा है, तो आप विंडोज मैनेजमेंट फ्रेमवर्क को डाउनलोड और इंस्टॉल कर सकते हैं:

    Windows Vista सर्विस पैक 1 (SP1) या 2 (SP2);

    Windows Server 2008 सर्विस पैक 1 (SP1) या 2 (SP2);

    विंडोज सर्वर 2003 सर्विस पैक 2 (SP2);

    Windows XP सर्विस पैक 3 (SP3)।

चलो काम पर लगें:

1. अपने कंप्यूटर से विंडोज पावरशेल के पिछले संस्करणों को हटा दें

Windows प्रबंधन फ़्रेमवर्क स्थापित करने से पहले, आपको Windows PowerShell के किसी भी मौजूदा संस्करण को निकालना होगा।

1.1 Windows Vista से Windows PowerShell की स्थापना रद्द करना

    कंट्रोल पैनल के प्रोग्राम्स ग्रुप में, प्रोग्राम्स और फीचर्स सेक्शन खोलें और विंडोज पॉवरशेल के किसी भी इंस्टेंस को अनइंस्टॉल करें जो इंस्टॉल किए गए प्रोग्राम्स की सूची में मौजूद हैं। उदाहरण के लिए, Windows PowerShell v2 का CTP संस्करण "Windows PowerShell (TM) V2" के रूप में प्रकट हो सकता है।

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

1.2 Windows PowerShell को Windows Server 2008 सिस्टम से हटाना

    सर्वर प्रबंधक लॉन्च करें और "घटक" अनुभाग खोलें।

    1. "सुविधाएँ निकालें" चुनें।

      Windows PowerShell मान का चयन करें और स्थापना रद्द करने के लिए निर्देशों का पालन करें।

    कंट्रोल पैनल में, प्रोग्राम्स ग्रुप में, प्रोग्राम्स और फीचर्स आइटम खोलें और विंडोज पॉवरशेल के किसी भी इंस्टेंस को अनइंस्टॉल करें जो इंस्टॉल किए गए प्रोग्राम्स की सूची में हैं।

    कार्य समूह में, स्थापित अद्यतन देखें चुनें। स्थापित अद्यतनों के रूप में सूचीबद्ध Windows PowerShell के किसी भी उदाहरण को हटा दें।

1.3 Windows Server 2003 या Windows XP से Windows PowerShell को हटाना

    नियंत्रण कक्ष में प्रोग्राम जोड़ें/निकालें खोलें और स्थापित प्रोग्राम के रूप में सूचीबद्ध Windows PowerShell के किसी भी इंस्टेंस की स्थापना रद्द करें।

    प्रोग्राम जोड़ें/निकालें अनुभाग में, अपडेट दिखाएँ चुनें। स्थापित अद्यतनों के रूप में सूचीबद्ध Windows PowerShell के किसी भी उदाहरण को हटा दें। उदाहरण के लिए, Windows PowerShell V1 Microsoft ज्ञानकोष में निम्न आलेख संख्या के साथ Windows अद्यतन के रूप में प्रकट हो सकता है: KB926139।

2. अपने कंप्यूटर से WinRM के पिछले संस्करणों को हटा दें

Windows प्रबंधन फ्रेमवर्क स्थापित करने से पहले आपको WinRM के किसी भी मौजूदा संस्करण की स्थापना रद्द करनी होगी।

2.1 Windows Vista या Windows Server 2008 से WinRM की स्थापना रद्द करना

    कंट्रोल पैनल के प्रोग्राम्स ग्रुप में, प्रोग्राम्स और फीचर्स सेक्शन खोलें और विंडोज रिमोट कंट्रोल सर्विस के किसी भी इंस्टेंस को हटा दें जो इंस्टॉल किए गए प्रोग्राम्स की सूची में मौजूद हैं।

    कार्य समूह में, स्थापित अद्यतन देखें चुनें। स्थापित अद्यतनों की सूची में मौजूद Windows रिमोट कंट्रोल सेवा के किसी भी उदाहरण को हटा दें। उदाहरण के लिए, WinRM 2.0 का CTP संस्करण Microsoft नॉलेज़ बेस में निम्न आलेख संख्याओं में से एक के साथ "WindowsRemoteManagement" के रूप में प्रकट हो सकता है:

2.2 Windows Server 2003 या Windows XP से Windows PowerShell को हटाना

    कंट्रोल पैनल में प्रोग्राम जोड़ें/निकालें खोलें और विंडोज रिमोट कंट्रोल के किसी भी इंस्टेंस को अनइंस्टॉल करें जो इंस्टॉल किए गए प्रोग्राम के रूप में सूचीबद्ध हैं।

    प्रोग्राम जोड़ें/निकालें अनुभाग में, अपडेट दिखाएँ चुनें। स्थापित अद्यतनों की सूची में मौजूद Windows रिमोट कंट्रोल सेवा के किसी भी उदाहरण को हटा दें। उदाहरण के लिए, WinRM Microsoft ज्ञानकोष में निम्न आलेख संख्या के साथ Windows अद्यतन के रूप में प्रकट हो सकता है: KB936059.

3. विंडोज मैनेजमेंट फ्रेमवर्क इंस्टाल करना

    विंडोज मैनेजमेंट फ्रेमवर्क को डाउनलोड और इंस्टॉल करें। Windows PowerShell v2 और WinRM 2.0 वाले पैकेज का चयन करें जो आपके ऑपरेटिंग सिस्टम, सिस्टम आर्किटेक्चर और भाषा के लिए उपयुक्त हो।

    WinRM और Windows PowerShell को स्थापित करने के बाद, सॉफ़्टवेयर को कॉन्फ़िगर करें ताकि यह निम्न चरणों में बताए अनुसार सही ढंग से काम करे।

टिप्पणी

4. Windows PowerShell में स्क्रिप्ट चलाने की क्षमता की जाँच करना

    क्रम में स्टार्ट, ऑल प्रोग्राम्स, एक्सेसरीज, विंडोज पॉवरशेल चुनें।

    Windows PowerShell खोलने के लिए, निम्न में से कोई एक कार्य करें:

    • यदि आप Windows Vista, Windows 7, या Windows Server 2008 R2 चला रहे हैं, तो Windows PowerShell पर राइट-क्लिक करें और व्यवस्थापक के रूप में चलाएँ चुनें। जब उपयोगकर्ता खाता नियंत्रण संकेत आपको जारी रखने के लिए कहता है, तो जारी रखें बटन पर क्लिक करें।

      यदि आप Windows XP या Windows Server 2003 चला रहे हैं, तो Windows PowerShell क्लिक करें.

    निम्न आदेश चलाएँ:

    मिल-executionpolicy

    यदि लौटाया गया मान RemoteSigned से भिन्न है, तो आपको मान को RemoteSigned में बदलना होगा।

    टिप्पणी

    यदि स्क्रिप्ट निष्पादन नीति RemoteSigned पर सेट है, तो केवल उपयोगकर्ता के कंप्यूटर पर बनाई गई या किसी विश्वसनीय स्रोत द्वारा हस्ताक्षरित स्क्रिप्ट ही चल सकती हैं।

Windows PowerShell में स्क्रिप्ट चलाने की तैयारी

व्यवस्थापक के रूप में खोले गए Windows PowerShell सत्र में, निम्न आदेश चलाएँ:

सेट-निष्पादन नीति रिमोट हस्ताक्षरित

5. सत्यापित करें कि WinRM के पास Windows PowerShell को कनेक्ट करने की अनुमति है

    क्रम में "प्रारंभ", "सभी कार्यक्रम", "सहायक उपकरण" चुनें।

    कमांड प्रॉम्प्ट खोलने के लिए निम्न में से कोई एक कार्य करें:

    • यदि आप Windows Vista, Windows 7, या Windows Server 2008 R2 चला रहे हैं, तो कमांड प्रॉम्प्ट पर राइट-क्लिक करें और व्यवस्थापक के रूप में चलाएँ चुनें। जब उपयोगकर्ता खाता नियंत्रण संकेत आपको जारी रखने के लिए कहता है, तो जारी रखें बटन पर क्लिक करें।

      यदि आप Windows XP या Windows Server 2003 चला रहे हैं, तो कमांड प्रॉम्प्ट चुनें।

    कमांड लाइन पर, निम्न कमांड चलाएँ:

    winrm प्राप्त करें winrm/config/client/auth

    टिप्पणी

    यदि WinRM सेवा पहले से चल रही है, तो आपको इसे प्रारंभ करने की आवश्यकता नहीं है। WinRM सेवा की स्थिति को sc query winrm कमांड चलाकर जाँचा जा सकता है।

परिणामों में मूल = मान देखें। यदि मूल = असत्य निर्दिष्ट है, तो इसे मूल = सत्य में बदलना होगा।

टिप्पणी

    यदि WinRM सेवा चल रही है और आपको मूल मान बदलने की आवश्यकता नहीं है, तो WinRM सेवा को रोकने के लिए नेट स्टॉप winrm कमांड चलाएँ।

WinRM में मूल प्रमाणीकरण सक्षम करना

    व्यवस्थापक के रूप में खोली गई कमांड प्रॉम्प्ट विंडो में, निम्न कमांड चलाएँ: कर्ली ब्रेसिज़ ( ) में मान केस-संवेदी है:

    winrm सेट winrm/config/client/auth @(Basic="true")

    कमांड के आउटपुट में बेसिक = ट्रू चेक करें।

    टिप्पणी

    यदि WinRM सेवा चल रही है, तो इसे रोकने के लिए नेट स्टॉप winrm कमांड चलाएँ।

अगला कदम।

Microsoft से नवीनतम ऑपरेटिंग सिस्टम के अंतिम रिलीज़ के लॉन्च के बाद से कुछ समय बीत चुका है, और न केवल उत्साही लोग जो इंटरमीडिएट बिल्ड का परीक्षण कर रहे हैं, बल्कि वे उपयोगकर्ता भी हैं जिन्होंने लंबे समय से प्रतीक्षित अपडेट डाउनलोड किया है, वे पहले से ही इससे परिचित होने में कामयाब रहे हैं। नई व्यवस्था ठीक है या नहीं? क्या यह नवीनतम नवीन उत्पाद है या केवल G8 जो उस समय सामने आने वाला था? ये ऐसे प्रश्न हैं जिनका उत्तर वैसे भी स्पष्ट रूप से नहीं दिया जा सकता है। स्पष्ट नवाचारों के अलावा, जिसमें सिस्टम में दिखाई देने वाला स्टार्ट मेनू, माइक्रोसॉफ्ट एज ब्राउज़र, एक्सबॉक्स संगतता, कॉर्टाना-एकीकृत खोज और कार्य दृश्य शामिल हैं, ऐसे कई नवाचार हैं जिनके बारे में हर विंडोज 10 उपयोगकर्ता नहीं जानता है।

और इन नवाचारों में से एक विंडोज पॉवरशेल शेल का उपयोग करके सीधे सॉफ्टवेयर उत्पादों को स्थापित करने की क्षमता है, जिस पर इस लेख में बाद में चर्चा की जाएगी। इस तथ्य के बावजूद कि यह कार्यक्षमता अप्रैल 2014 में विंडोज मैनेजमेंट फ्रेमवर्क 5.0 पूर्वावलोकन के रिलीज के साथ वापस दिखाई दी, यह केवल "दसियों" की अंतिम रिलीज के साथ ही मूल बन सकती है। तो, आइए देखें कि इस कार्यक्षमता के लिए कौन सा मॉड्यूल जिम्मेदार है और आप इंस्टॉलेशन फ़ाइलों को डाउनलोड किए बिना सॉफ़्टवेयर उत्पादों को कैसे स्थापित कर सकते हैं।

विंडोज पावरशेल वनगेट मॉड्यूल

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

विंडोज नेटवर्क स्विच के लिए प्रमाणित के मामले में, कई विंडोज पावरशेल सीएमडीलेट जोड़े गए हैं जो विंडोज-प्रमाणित नेटवर्क स्विच के प्रबंधन के लिए जिम्मेदार हैं। यानी, 19 नए cmdlets हैं जिन्हें आप PowerShell शेल में "Get-Command *-NetworkSwitch*" कमांड चलाकर पा सकते हैं। चूंकि तकनीक काफी गंभीर है और विशेष ध्यान देने योग्य है, इस लेख में मैं खुद को एक छोटे से विवरण तक सीमित रखूंगा और इस तकनीक पर अधिक विस्तार से विचार नहीं करूंगा।

लेकिन दूसरी तकनीक पर अधिक विस्तार से चर्चा की जानी चाहिए। यदि आप विंडोज मैनेजमेंट फ्रेमवर्क 5 या विंडोज 10 ऑपरेटिंग सिस्टम स्थापित कर रहे हैं, तो आप एक ऐसे टूल का उपयोग कर सकते हैं जो आपके कंप्यूटर पर सॉफ़्टवेयर को ढूंढना और इंस्टॉल करना बहुत आसान बनाता है। वनगेट एक ऐसा टूल है। OneGet एक पैकेज प्रबंधन एग्रीगेटर है, जो एक मॉड्यूल है जो विशेष रिपॉजिटरी का उपयोग करता है ताकि सॉफ़्टवेयर की खोज, स्थापना और इन्वेंट्री के लिए एकल इंटरफ़ेस प्रदान किया जा सके। दूसरे शब्दों में, यह तकनीक एक ओर cmdlets का एक सेट प्रदान करती है जो अंतिम उपयोगकर्ता को संस्थापन पैकेजों का प्रबंधन करने की अनुमति देता है (जिस पर हम थोड़ी देर बाद चर्चा करेंगे), और दूसरी ओर, यह विक्रेता पैकेज लिखने के लिए एक इंटरफ़ेस प्रदान करता है। .

इससे पहले कि हम मॉड्यूल से निपटना शुरू करें, आपको कई परिभाषाओं पर ध्यान देना चाहिए जो इस तकनीक से निकटता से संबंधित हैं, अर्थात्:

  • पैकेट. संक्षेप में, एक पैकेज एक प्रोग्राम है जो किसी भी उपलब्ध पैकेज प्रबंधन प्रणाली का उपयोग करके एक विशिष्ट स्रोत से बनाया और स्थापित किया जाता है। आमतौर पर, एक पैकेज अतिरिक्त मेटा जानकारी के साथ संकलित कोड प्रदान करता है, जिसमें पैकेज का विवरण, उसका संस्करण, या "निर्भरता" शामिल हो सकता है। एक पैकेज प्रबंधन प्रणाली, उदाहरण के लिए, एक नए संस्करण में सॉफ़्टवेयर उत्पाद का स्वचालित अपग्रेड करने के लिए, यह सुनिश्चित करने के लिए कि सभी पैकेज निर्भरताएं स्थापित की जाएंगी, ऐसी मेटा जानकारी को संसाधित करना होगा और यदि आवश्यक हो, तो स्वचालित रूप से सभी लापता को स्थापित करना होगा पैकेज;
  • कोष. विकिपीडिया के अनुसार, रिपॉजिटरी वे स्थान हैं जहाँ डेटा संग्रहीत और रखरखाव किया जाता है। अक्सर, भंडार में डेटा नेटवर्क पर आगे वितरण के लिए उपलब्ध फाइलों के रूप में संग्रहीत किया जाता है। रिपॉजिटरी मूल रूप से लिनक्स सिस्टम द्वारा उपयोग की जाती थी, जिससे आप सिस्टम को अन्य स्थानों से चलाने के लिए आवश्यक पैकेज स्थापित कर सकते हैं। अधिकांश रिपॉजिटरी मुफ्त हैं, लेकिन कुछ कंपनियां सशुल्क सदस्यता के लिए अपने स्वयं के रिपॉजिटरी तक पहुंच प्रदान करती हैं। हम थोड़ी देर बाद वनगेट रिपॉजिटरी के बारे में बात करेंगे;
  • पैकेज प्रबंधक. यह सॉफ्टवेयर टूल्स का एक सेट है जो सॉफ्टवेयर पैकेजों को स्थापित करने, अपडेट करने, कॉन्फ़िगर करने और हटाने की प्रक्रिया को स्वचालित करने के लिए जिम्मेदार है। आमतौर पर, पैकेज में एक डेटाबेस शामिल होता है जो सॉफ़्टवेयर की पूर्वापेक्षाएँ और निर्भरताएँ सूचीबद्ध करता है, साथ ही गैर-कार्यशील सॉफ़्टवेयर उत्पादों को उपयोग किए जाने से रोकने के लिए उत्पाद संस्करण की जानकारी भी देता है। पैकेज प्रबंधकों में Linux apt-get या NuGet शामिल है, जो बाद में विंडोज सिस्टम पर दिखाई दिया। बदले में, ओनेटगेट, नुगेट का एक तार्किक विस्तार है, जो सभी उपलब्ध पैकेज प्रबंधकों के लिए एक एग्रीगेटर के रूप में कार्य करता है, जिन्हें प्रदाता कहा जाता है।

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

  • बूटस्ट्रैप- एक प्रदाता जो अन्य प्रदाताओं को खोजने की अनुमति देता है;
  • एमएसआई- एक प्रदाता जिसे एमएसआई फाइलों को संसाधित करने के लिए डिज़ाइन किया गया है;
  • एमएसयू- बदले में, Microsoft अद्यतन फ़ाइलों को संभालने के लिए जिम्मेदार विक्रेता;
  • एआरपी(प्रोग्राम जोड़ें/निकालें) - सिस्टम के "प्रोग्राम निकालें या बदलें" घटक में पंजीकृत किसी भी सॉफ़्टवेयर उत्पाद के बारे में इन्वेंट्री डेटा के लिए ज़िम्मेदार प्रदाता;
  • पावरशेलगेट- एक प्रदाता जो आपको विभिन्न पावरशेल मॉड्यूल प्रबंधित करने की अनुमति देता है।

आप वनगेट प्रदाताओं की पूरी सूची उनके संक्षिप्त विवरण के साथ निम्न लिंक पर पा सकते हैं।

OneGet मॉड्यूल में स्वयं 10 Windows PowerShell cmdlets शामिल हैं, जिनमें से अधिकांश को इस लेख के अगले भाग में शामिल किया जाएगा। इन cmdlets में शामिल हैं:

  • ढूँढें-पैकेज - संकुल के लिए खोजें;
  • गेट-पैकेज - कंप्यूटर पर स्थापित सभी पैकेजों की सूची देता है;
  • Get-PackageProvider - उन प्रदाताओं की सूची देता है जो इस कंप्यूटर पर OneGet से जुड़े हैं;
  • Get-PackageSource - पैकेज स्रोतों की एक सूची देता है जो किसी विशेष पैकेज प्रदाता के साथ पंजीकृत हैं।
  • इंस्टॉल-पैकेज - आपको एक या अधिक सॉफ़्टवेयर उत्पाद स्थापित करने की अनुमति देता है;
  • रजिस्टर-पैकेजसोर्स - निर्दिष्ट पैकेज प्रदाता के लिए पैकेज स्रोत जोड़ना;
  • सेव-पैकेज - आपको बाद की स्थापना के बिना पैकेज को स्थानीय कंप्यूटर पर सहेजने की अनुमति देता है;
  • सेट-पैकेजसोर्स - निर्दिष्ट पैकेज प्रदाता के लिए पैकेज का स्रोत बदलें;
  • अनइंस्टॉल-पैकेज - एक या अधिक सॉफ्टवेयर पैकेजों को हटाना;
  • अपंजीकृत-पैकेज स्रोत - एक पंजीकृत पैकेज स्रोत निकालें।
    • OneGet का उपयोग करके सॉफ़्टवेयर इंस्टॉल करना

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

      चॉकलेटी पैकेज प्रदाता स्थापित करना

  1. Windows PowerShell खोलें और स्थानीय कंप्यूटर पर OneGet के साथ पंजीकृत पैकेज स्रोतों की सूची प्रदर्शित करने के लिए, कमांड चलाएँ प्राप्त-पैकेज स्रोत. ध्यान दें कि यदि आप कमांड में एक विशिष्ट पैकेज प्रदाता निर्दिष्ट करते हैं, तो Get-PackageSource cmdlet आपको केवल आपके द्वारा निर्दिष्ट प्रदाता से जुड़े स्रोत दिखाएगा। अन्यथा, आदेश सभी पैकेज स्रोत देता है जो OneGet के साथ पंजीकृत हैं। चूंकि हमें सभी प्रदाताओं के लिए पैकेज स्रोत देखने की आवश्यकता है, कमांड बिना किसी अतिरिक्त पैरामीटर के चलेगा। यह नोट करना सुनिश्चित करें कि इस स्तर पर आपने अभी तक एक अतिरिक्त पैकेज प्रदाता स्थापित नहीं किया है जिसका उपयोग सॉफ़्टवेयर उत्पादों को स्थापित करने के लिए किया जाएगा। आप निम्न छवि में कमांड का आउटपुट देख सकते हैं:

  2. जैसा कि आप पिछले उदाहरण में देख सकते हैं, हमारे स्थानीय मशीन पर चॉकलेटी प्रदाता स्थापित नहीं है। इसलिए, इसे ठीक करने की जरूरत है। ध्यान दें कि पैकेज प्रदाता जोड़ने के लिए, पावरशेल की निष्पादन नीति को सेट किया जाना चाहिए अप्रतिबंधित. अन्यथा, आप आपूर्तिकर्ता को जोड़ने में सक्षम नहीं होंगे। मैं आपको याद दिला दूं कि cmdlet मिल-executionpolicyआपको वर्तमान सत्र के लिए निष्पादन नीतियों को प्रदर्शित करने की अनुमति देता है। निष्पादन नीति Windows PowerShell सुरक्षा नीति का हिस्सा है जो यह निर्धारित करती है कि क्या कॉन्फ़िगरेशन फ़ाइलें लोड की जा सकती हैं और स्क्रिप्ट निष्पादित की जा सकती हैं, और कौन सी स्क्रिप्ट को चलाने के लिए डिजिटल हस्ताक्षर की आवश्यकता होती है। डिफ़ॉल्ट मान है " प्रतिबंधित"(कॉन्फ़िगरेशन फ़ाइलों को लोड नहीं करता है और स्क्रिप्ट निष्पादित नहीं करता है), इसलिए यदि आपने अपने लिए निष्पादन नीति का मूल्य नहीं बदला है, तो कमांड चलाएँ सेट-निष्पादन नीति अप्रतिबंधित. चूंकि डिफ़ॉल्ट निष्पादन नीति का दायरा LocalMachine है, इसलिए नीति सेटिंग्स केवल वर्तमान उपयोगकर्ता पर लागू होती हैं, आप पैरामीटर को लागू कमांड में भी जोड़ सकते हैं -दायराअर्थ के साथ तात्कालिक प्रयोगकर्ता. इन दो आदेशों के आउटपुट को निम्नलिखित उदाहरण में देखा जा सकता है:

  3. इस स्तर पर, हम उन प्रदाताओं की सूची देख सकते हैं जो वर्तमान कंप्यूटर पर OneGet के साथ पंजीकृत हैं। ऐसा करने के लिए, आप cmdlet का उपयोग कर सकते हैं Get-PackageProvider. यह cmdlet, जैसा कि मैंने पहले ही थोड़ा ऊपर उल्लेख किया है, पैकेज प्रदाताओं की एक सूची देता है जो पहले से ही OneGet से जुड़े हुए हैं। वैकल्पिक रूप से, आप सभी या एक (कई) विक्रेता नामों के हिस्से के आधार पर परिणामों को फ़िल्टर कर सकते हैं। उदाहरण के लिए, यह देखने के लिए कि वर्तमान में कौन से प्रदाता जुड़े हुए हैं, आप cmdlet चलाएंगे Get-PackageProviderबिना किसी अतिरिक्त विकल्प के। जैसा कि आप निम्नलिखित दृष्टांत में देख सकते हैं, शुरू में मेरे पास 4 ऐसे प्रदाता थे जो मेरे कंप्यूटर से जुड़े थे, जिनके बारे में मैंने आपको पहले ही बता दिया था। अब, अपने कंप्यूटर पर चॉकलेटी प्रदाता को स्थापित करने के लिए, आपको कमांड चलाने की आवश्यकता है Get-PackageProvider -Name Chocolatey -ForceBootstrap, जहां -ForceBootstrap पैरामीटर प्रदाता को स्वचालित रूप से स्थापित करने के लिए जिम्मेदार है। ध्यान दें कि, एक सामान्य नियम के रूप में, जब आप चॉकलेटी प्रदाता स्थापित करते हैं, तो NuGet प्रदाता भी स्थापित होना चाहिए। जैसा कि आप निम्न उदाहरण में देख सकते हैं, cmdlet का पुन: उपयोग करने के बाद Get-PackageProvider, जिस प्रदाता को हम स्थापित कर रहे हैं वह पहले से ही सूची में दिखाई देना चाहिए:

अब हम प्रदाताओं में उपलब्ध सभी पैकेजों की एक पूरी सूची तैयार कर सकते हैं और इसे cmdlet में पाइप कर सकते हैं निर्यात-क्लीएक्सएमएलवस्तुओं का एक एक्सएमएल प्रतिनिधित्व बनाने और उन्हें एक एक्सएमएल फ़ाइल में सहेजने के लिए। ध्यान रखें कि आपके द्वारा निर्यात की जाने वाली सूची लगातार बदलती रहेगी और समय के साथ आपके द्वारा उपयोग की जाने वाली रिपॉजिटरी में अधिक से अधिक पैकेज जोड़े जाएंगे। तदनुसार, समय-समय पर आपके द्वारा निर्यात की जाने वाली फ़ाइल को बदलना न भूलें। संकुल की सूची को निर्यात करने और इस सूची को C:\TestPosh फ़ोल्डर में सहेजने के लिए, आपको निम्न आदेश चलाने की आवश्यकता है: खोज-पैकेज | Export-CliXML C:\TestPosh\Test.xml

कृपया ध्यान दें कि निर्यात प्रक्रिया में निश्चित रूप से आपको कुछ समय लगेगा। कमांड के निष्पादन के बाद और आपके कंप्यूटर पर एक XML फ़ाइल बन जाने के बाद, इसे आयात करें और, देखने में आसानी के लिए, पाइपलाइन और कमांड का उपयोग करके जाली देखना, जो एक इंटरेक्टिव टेबल के रूप में एक विंडो में कमांड के परिणामों को प्रदर्शित करने के लिए जिम्मेदार है, आप देख सकते हैं कि कौन से पैकेज इंस्टॉलेशन के लिए उपलब्ध होंगे। स्वाभाविक रूप से, आप किसी भी एप्लिकेशन का उपयोग करके पैकेजों की इस सूची को खोल सकते हैं जो एक्सएमएल फाइलों को संसाधित कर सकता है, उदाहरण के लिए, उसी एक्सेल का उपयोग करके। यह आदेश, जैसा कि आप निम्नलिखित उदाहरण में देख सकते हैं, इस तरह दिखता है: आयात-क्लीएक्सएमएल सी:\TestPosh\Test.xml | आउट ग्रिड व्यू

चूंकि प्रदाता पहले से ही स्थापित है, आप इस प्रक्रिया के अगले भाग पर आगे बढ़ सकते हैं, जो है

PowerShell का उपयोग करके सॉफ़्टवेयर स्थापित करना

सॉफ़्टवेयर उत्पादों को स्थापित करने से पहले, हमें यह देखना चाहिए कि कंप्यूटर पर पहले से क्या स्थापित है। इस कार्य को पूरा करने के लिए, आप cmdlet का उपयोग कर सकते हैं गेट-पैकेज, जो स्थानीय मशीन पर स्थापित सभी सॉफ़्टवेयर पैकेजों की एक सूची देता है, या तो OneGet या अन्य एप्लिकेशन इंस्टॉलेशन टूल के माध्यम से। वैकल्पिक रूप से, आप cmdlet भी चला सकते हैं गेट-पैकेजऔर दूरस्थ कंप्यूटरों पर इसे एक Invoke-Command, एक Enter-PSSession कमांड, या एक स्क्रिप्ट के भाग के रूप में चलाकर।

उस स्थिति में जब आप विशिष्ट सॉफ़्टवेयर के बारे में जानकारी प्राप्त करना चाहते हैं, उदाहरण के लिए, स्थापित Microsoft Office 2013 उत्पादों पर, आप उपयुक्त मान के साथ इस cmdlet के साथ –Name पैरामीटर का उपयोग कर सकते हैं, उदाहरण के लिए, पैकेज प्राप्त करें -नाम "कार्यालय 2013". इस cmdlet का आउटपुट नीचे दिखाई दे रहा है:

सॉफ़्टवेयर स्थापित करने से पहले, आइए यह तय करने का प्रयास करें कि हमें क्या स्थापित करना है। चूंकि मशीन पर केवल Office 2013 और कुछ अन्य एप्लिकेशन इंस्टॉल किए गए हैं, आगे मैं आपको दिखाऊंगा कि आप Adobe Creative Cloud, Adobe Reader, Notepad ++, साथ ही प्रोसेस एक्सप्लोरर, प्रोसेस मॉनिटर और WinRar जैसे सॉफ़्टवेयर उत्पादों को कैसे स्थापित कर सकते हैं।

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

उदाहरण के लिए, आरंभ करने के लिए, आइए Adobe अनुप्रयोगों को खोजने का प्रयास करें जो हमारे द्वारा जोड़े गए चॉकलेटी प्रदाता से स्थापना के लिए उपलब्ध हैं। ऐसा करने के लिए, cmdlet के अलावा, यह पैरामीटर निर्दिष्ट करने के लिए पर्याप्त है -नामऔर वांछित सॉफ़्टवेयर उत्पाद को उसके मान के रूप में दर्ज करें। चूंकि इंस्टॉलेशन पैकेज में Adobe शब्द के बाद उत्पाद का नाम हो सकता है, इसलिए उत्पाद का नाम निम्नानुसार दर्ज करें: एडोब*जैसा कि निम्नलिखित चित्रण में दिखाया गया है। जैसा कि आप देख सकते हैं, OneGet मॉड्यूल को रिपॉजिटरी में निम्नलिखित इंस्टॉलेशन पैकेज मिला: एडोब क्रिएटिव क्लाउडसंस्करण 1.0। सिद्धांत रूप में, यह उन उत्पादों में से एक है जिसे आप ढूंढ रहे हैं, जिसका अर्थ है कि इसे स्थापित किया जाना चाहिए। ऐसा करने के लिए, जैसा कि आप निम्नलिखित उदाहरण में भी देख सकते हैं, आपको cmdlet की क्षमताओं का उपयोग करने की आवश्यकता है पैकेज स्थापित करे. क्रिएटिव क्लाउड स्थापित करने के लिए निम्न कमांड चलाएँ इंस्टॉल-पैकेज-नाम एडोब-क्रिएटिव-क्लाउड-फोर्स, जहां फोर्स पैरामीटर, जैसा कि पावरशेल में प्रथागत है, उन प्रतिबंधों को ओवरराइड करता है जो कमांड को तब तक निष्पादित होने से रोकते हैं जब तक कि सुरक्षा आवश्यकताओं का उल्लंघन करना शुरू न हो जाए। इन आदेशों का आउटपुट निम्न उदाहरण में देखा जा सकता है:

अब, पहला सॉफ़्टवेयर उत्पाद स्थापित होने के बाद, आइए Adobe Reader के विशिष्ट संस्करण की खोज करने का प्रयास करें। ऐसा करने के लिए, पहले से ही ज्ञात कमांड के अलावा ढूँढें-पैकेज -नाम AdobeReaderपैरामीटर जोड़ा जाना चाहिए -सभी संस्करण, जो एक पैकेज के सभी उपलब्ध संस्करण, या एक पैकेज के सभी संस्करणों को लौटाता है जो विकल्पों में निर्दिष्ट सीमा में हैं न्यूनतम संस्करणतथा अधिकतम संस्करण. कृपया ध्यान दें कि यह पैरामीटर वैकल्पिक है, क्योंकि खोज प्रारंभ में सॉफ़्टवेयर उत्पाद का नवीनतम संस्करण प्रदर्शित करती है। अब, सभी उपलब्ध संस्करणों में से, हमें वह चुनना चाहिए जिसे कंप्यूटर पर स्थापित किया जाना चाहिए, उदाहरण के लिए, इसे संस्करण होने दें 2015.007.20033 . पाठक के इस विशेष संस्करण को स्थापित करने के लिए, आपको कमांड के लिए चाहिए इंस्टॉल-पैकेज -नाम AdobeReaderपैरामीटर जोड़ें -आवश्यक संस्करणअर्थ के साथ 2015.007.20033 , जो उस पैकेज के सटीक संस्करण को निर्दिष्ट करता है जिसे आप स्थापित करना चाहते हैं। आप पैरामीटर जोड़कर उत्पाद का अधिकतम उपलब्ध संस्करण भी सेट कर सकते हैं अधिकतम संस्करणसंबंधित मूल्य के साथ। इन आदेशों का आउटपुट निम्नलिखित चित्रण में दिखाया गया है:

यदि आपको किसी सॉफ़्टवेयर उत्पाद का नवीनतम संस्करण स्थापित करने की आवश्यकता है और साथ ही पावरशेल में कई कमांड टाइप नहीं करना चाहते हैं, तो आप पाइपलाइन का उपयोग करके पैकेज की खोज और स्थापना को सामान्यीकृत कर सकते हैं। उदाहरण के लिए, नोटपैड ++ टेक्स्ट एडिटर के नवीनतम संस्करण को स्थापित करने के मामले में, आप निम्न कमांड चला सकते हैं: फाइंड-पैकेज -नाम नोटपैडप्लसप्लस | इंस्टाल-पैकेज-फोर्स. इस प्रकार, आप रिपॉजिटरी में एक पैकेज की खोज करते हैं और यदि आपको कोई परिणाम मिलता है, तो इसे तुरंत साइलेंट मोड में स्थापित करें। इस सॉफ़्टवेयर उत्पाद की स्थापना प्रक्रिया नीचे दिखाई गई है:

अब, चूंकि उपरोक्त कार्य के अनुसार, यह प्रोसेस एक्सप्लोरर, प्रोसेस मॉनिटर और विनरार को स्थापित करना बाकी है, आइए एक साथ कई सॉफ्टवेयर पैकेज स्थापित करने का प्रयास करें। ऐसा करने के लिए, यह जानना वांछनीय है कि इन पैकेजों को रिपॉजिटरी में ही कैसे कहा जाता है। जैसा कि मैंने पहले लिखा था, इसे cmdlet का उपयोग करके चेक किया जा सकता है खोज-पैकेज | आउट ग्रिड व्यू. एक बार पैकेज के नाम ज्ञात हो जाने के बाद, आप स्थापना के साथ आगे बढ़ सकते हैं। ऐसा करने के लिए, आप निम्न आदेश चला सकते हैं: ढूँढें-पैकेज -नाम procexp, procmon, winrar | पैकेज स्थापित करे. इस उदाहरण में, जैसा कि आप निम्नलिखित उदाहरण में देख सकते हैं, मैं विशेष रूप से पैरामीटर निर्दिष्ट नहीं करता ताकतताकि आप एक ही समय में कई सॉफ्टवेयर पैकेज स्थापित करने की पूरी प्रक्रिया पर ध्यान दे सकें।

प्रोग्राम सहेजना और हटाना

इस आलेख में चर्चा की जाने वाली अंतिम दो cmdlets संस्थापन पैकेज को सहेजने और संस्थापित प्रोग्राम को हटाने के लिए जिम्मेदार हैं। चलो बचत के साथ शुरू करते हैं।

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

जैसा कि आप निम्नलिखित दृष्टांत में देख सकते हैं, कमांड सहेजें-पैकेज -नाम Procexp -पथ C:\TestPoshप्रोसेस एक्सप्लोरर के नवीनतम संस्करण को C:\TestPosh फ़ोल्डर में सहेजें:

यदि आपने गलती से गलत पैकेज स्थापित कर लिया है, तो आप इसे OneGet मॉड्यूल का उपयोग करके हमेशा हटा सकते हैं। ऐसा करने के लिए, cmdlet का उपयोग करें स्थापना रद्द करें-पैकेज. इस मॉड्यूल में बाकी cmdlets के साथ, आपको प्रोग्राम को हटाने के लिए उपयुक्त एप्लिकेशन नाम के साथ नाम पैरामीटर निर्दिष्ट करने की आवश्यकता है, और आप प्रोग्राम को चुपचाप निकालने के लिए फोर्स पैरामीटर का भी उपयोग कर सकते हैं। उदाहरण के लिए, अपने कंप्यूटर से पहले से स्थापित WinRAR को हटाने के लिए, आपको निम्न आदेश चलाने की आवश्यकता है: अनइंस्टॉल-पैकेज-नाम WinRAR-Forceनीचे के अनुसार:

निष्कर्ष

इस लेख में, आपने Microsoft से नए ऑपरेटिंग सिस्टम की विशेषताओं में से एक के बारे में सीखा, अर्थात् Windows PowerShell कमांड शेल का उपयोग करके सॉफ़्टवेयर उत्पादों की स्थापना। मैंने आपको OneGet मॉड्यूल के बारे में, इस तकनीक के साथ उपयोग की जाने वाली मूल शब्दावली के बारे में, और पहले से स्थापित पैकेज प्रदाताओं के बारे में बताया। आपने सीखा कि आप किसी तृतीय-पक्ष पैकेज प्रदाता को OneGet से कैसे कनेक्ट कर सकते हैं और सॉफ़्टवेयर उत्पादों को खोजने, स्थापित करने, सहेजने और निकालने के लिए आप इसका उपयोग कैसे कर सकते हैं।

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

वीएन: एफ

रेटिंग: 9.9/ 10 (18 वोट डाले गए)

Windows 10 में PowerShell का उपयोग करके प्रोग्राम इंस्टॉल करना, 10 में से 9.9 18 रेटिंग के आधार पर

आज मैं आपको दिखाऊंगा कि विंडोज पावरशेल के लिए सक्रिय निर्देशिका व्यवस्थापन मॉड्यूल को कैसे स्थापित और उपयोग किया जाए। विभिन्न AD ऑब्जेक्ट और सेटिंग्स के बारे में जानकारी प्राप्त करने और उन्हें प्रबंधित करने के लिए आप इस मॉड्यूल में cmdlets का उपयोग कर सकते हैं। यह मॉड्यूल सर्वर ऑपरेटिंग सिस्टम में एक अलग घटक के रूप में स्थापित है। डेस्कटॉप ओएस (विंडोज 10, 8.1, 7) पर, आपको रिमोट सर्वर एडमिनिस्ट्रेशन टूल्स (आरएसएटी) पैकेज स्थापित करना होगा, जिसमें पावरशेल से एडी के साथ बातचीत करने के लिए एक मॉड्यूल शामिल है। इस मॉड्यूल के अलावा, आरएसएटी में विंडोज़ और एडी प्रशासन के लिए सभी आवश्यक प्रबंधन ग्राफिकल स्नैप-इन, कमांड लाइन यूटिलिटीज और विंडोज पावरशेल मॉड्यूल शामिल हैं। आपको इस पैकेज को अपने OS संस्करण के लिए Microsoft वेबसाइट से स्वयं डाउनलोड करना होगा।

Windows PowerShell के लिए सक्रिय निर्देशिका मॉड्यूल स्थापित करना

Windows PowerShell के लिए सक्रिय निर्देशिका मॉड्यूल पहली बार Windows Server 2008 R2 में दिखाई दिया। यह स्वचालित रूप से पर सेट हो जाता है। AD मॉड्यूल से PowerShell cmdlets का उपयोग करने के लिए, डोमेन में कम से कम एक नियंत्रक होना चाहिए जो Windows Server 2008 R2 या बाद का संस्करण चला रहा हो। यदि आपके नेटवर्क में केवल Windows Server 2003 और 2008 DC हैं, तो आपको सक्रिय निर्देशिका प्रबंधन गेटवे सेवा को डाउनलोड और स्थापित करना होगा। सक्रिय निर्देशिका मॉड्यूल से PowerShell cmdlets एक वेब सेवा के साथ इंटरैक्ट करता है जो ADDS भूमिका वाले डोमेन नियंत्रक का हिस्सा है।

आप न केवल किसी डोमेन नियंत्रक पर, बल्कि किसी भी डोमेन सदस्य सर्वर या कार्य केंद्र पर Windows PowerShell के लिए सक्रिय निर्देशिका मॉड्यूल स्थापित कर सकते हैं। Windows Server 2016 पर, आप भूमिकाएँ और सुविधाएँ जोड़ें विज़ार्ड का उपयोग करके सर्वर प्रबंधक ग्राफ़िकल कंसोल से Windows PowerShell के लिए सक्रिय निर्देशिका मॉड्यूल स्थापित कर सकते हैं। यह विज़ार्ड शुरू करने के लिए पर्याप्त है और घटकों के चयन के चरण में, रिमोट सर्वर एडमिनिस्ट्रेशन टूल्स -> रोल एडमिनिस्ट्रेशन टूल्स -> एडी डीएस और एडी एलडीएस टूल्स का चयन करें -> Windows PowerShell के लिए सक्रिय निर्देशिका मॉड्यूल(रिमोट सर्वर एडमिनिस्ट्रेशन टूल्स> रोल एडमिनिस्ट्रेशन टूल्स> एडी डीएस और एडी एलडीएस टूल्स -> विंडोज पावरशेल के लिए सक्रिय निर्देशिका मॉड्यूल)।

यह मॉड्यूल पावरशेल का उपयोग करके भी स्थापित किया जा सकता है। व्यवस्थापक अधिकारों के साथ एक PowerShell कंसोल खोलें और कमांड चलाएँ:

आयात-मॉड्यूल सर्वर प्रबंधक
ऐड-विंडोज फीचर-नाम "आरएसएटी-एडी-पावरशेल" -सभी सबफीचर शामिल करें

विंडोज 10, विंडोज 8.1 और विंडोज 10 में, आरएसएटी-एडी-पावरशेल मॉड्यूल को स्थापित करने के लिए, आपको पहले आरएसएटी का उपयुक्त संस्करण स्थापित करना होगा, उसके बाद मॉड्यूल को कंट्रोल पैनल (कंट्रोल पैनल -> प्रोग्राम्स -> प्रोग्राम्स) में सक्षम होना चाहिए। और सुविधाएँ और "Windows सुविधाएँ चालू करें" पर क्लिक करें -> दूरस्थ सर्वर व्यवस्थापन उपकरण -> भूमिका व्यवस्थापन उपकरण -> AD DS और AD LDS उपकरण -> Windows PowerShell घटक के लिए सक्रिय निर्देशिका मॉड्यूल को सक्षम करें।

या आप PowerShell का उपयोग करके मॉड्यूल स्थापित कर सकते हैं:

सक्षम करें-WindowsOptionalFeature -ऑनलाइन -FeatureName RSATClient-Roles-AD-Powershell

सक्रिय निर्देशिका पावरशेल मॉड्यूल का आयात और उपयोग करना

Windows 7 और Windows Server 2008 R2 पर PowerShell 2.0 के साथ स्थापित, AD मॉड्यूल का उपयोग शुरू करने के लिए, आपको इसे कमांड के साथ अपने PowerShell सत्र में आयात करना होगा:

वैकल्पिक रूप से, आप एक दूरस्थ मशीन से एक मॉड्यूल निर्यात कर सकते हैं जहां यह पहले से स्थापित है और इसे अपने पावरशेल सत्र में आयात करें:

$MySession = नया-PSSession -ComputerName MyDomainController
निर्यात-PSsession-सत्र $MySession-मॉड्यूल ActiveDirectory-OutputModule RemoteADPosh
निकालें-PSSession-सत्र $MySession
आयात-मॉड्यूल रिमोटएडीपोश

Windows Server 2012 R2/2016 और Windows 8.1/Windows 10 में, मॉड्यूल (यदि स्थापित है) स्वचालित रूप से सत्र में आयात किया जाता है।

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

पीएस सी:\> सीडी एडी:
पीएस एडी:\> डीआईआर

PS AD:\> cd "DC=vmblog,DC=ru"

आप सक्रिय निर्देशिका के साथ काम करने के लिए उपलब्ध मॉड्यूल cmdlets की सूची निम्नानुसार प्रदर्शित कर सकते हैं:

Get-Command -Module ActiveDirectory

विंडोज़ के विभिन्न संस्करणों में अलग-अलग संख्या में cmdlets उपलब्ध हैं:

  • विंडोज सर्वर 2008 R2 - 76 cmdlets।
  • विंडोज सर्वर 2012 - 135 cmdlets
  • विंडोज सर्वर 2012 R2 / 2016 - 147 cmdlets।

तो अब आप AD को प्रशासित करने के लिए PowerShell cmdlets का उपयोग कर सकते हैं। हमारी साइट पर आप PowerShell के AD मॉड्यूल से निम्नलिखित cmdlets के उपयोग से परिचित हो सकते हैं: , .

विंडोज पॉवरशेल एक कमांड-लाइन शेल और स्क्रिप्टिंग भाषा है जिसमें सिस्टम प्रशासन के लिए महान शक्ति और सुंदर सिंटैक्स है। विंडोज पावरशेल विंडोज ऑपरेटिंग सिस्टम के प्रशासन के प्रबंधन और स्वचालित करने के साथ-साथ विंडोज़ पर चलने वाले अनुप्रयोगों के लिए एक उत्कृष्ट उपकरण है।

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

हालांकि वीबीएस खराब नहीं है, इसके उत्तराधिकारी पावरशेल में बहुत अधिक कार्यक्षमता है।

मेरे पास एक वीबीएस स्क्रिप्ट है जो स्वचालित रूप से किसी एक ब्लॉग पर छवियां पोस्ट करती है। जोड़ी गई छवि के रिज़ॉल्यूशन के आधार पर, छवि को चौड़ाई या ऊंचाई में संरेखित करने की आवश्यकता थी। और इसलिए मुझे वीबीएस स्क्रिप्ट का उपयोग करके छवियों का संकल्प नहीं मिला, लेकिन पावरशेल के माध्यम से यह बहुत ही सरलता से किया जाता है।

यदि एक विंडोज 7 से शुरू होकर, पावरशेल विंडोज के साथ ही बंडल में आता है, फिर विंडोज एक्सपी में आपको इसे डाउनलोड और इंस्टॉल करना होगा - Windows XP SP3 के लिए PowerShell V2 डाउनलोड करें.

Powershell का 5वां संस्करण लिंक से डाउनलोड किया जा सकता है: microsoft.com, यह यह भी बताता है कि वांछित OS के लिए कौन सी फ़ाइल डाउनलोड करनी है और कैसे स्थापित करना है।

स्थानीय पावरशेल स्क्रिप्ट को चलाने की अनुमति कैसे दें?

डिफ़ॉल्ट रूप से, Windows सुरक्षा कारणों से आपको PowerShell स्क्रिप्ट चलाने की अनुमति नहीं देगा। आपको स्थानीय लिपियों के निष्पादन की अनुमति देनी चाहिए। कंसोल में कमांड चलाएँ (यह आपको एक विश्वसनीय प्रमाणपत्र के साथ हस्ताक्षरित स्थानीय स्क्रिप्ट और डाउनलोड की गई स्क्रिप्ट चलाने की अनुमति देगा):

पॉवरशेल -कमांड सेट-एक्ज़ीक्यूशनपॉलिसी रिमोटसाइनड

अन्यथा, जब आप अपनी स्क्रिप्ट चलाने का प्रयास करते हैं, तो आपको निम्न पाठ दिखाई देगा:

फ़ाइल C:\ImageSize.ps1 लोड नहीं कर सकता क्योंकि इस सिस्टम पर स्क्रिप्टिंग की अनुमति नहीं है। अधिक जानकारी के लिए "get-help about_signing" टाइप करें।
+ श्रेणीइन्फो: निर्दिष्ट नहीं: (:), पेरेंटकंटेन्सएरर रिकॉर्ड अपवाद
+ FullQualifiedErrorId: रनटाइम अपवाद

इस सुरक्षा नीति को वापस लाने के लिए, लिखें:

पॉवरशेल -कमांड सेट-एक्ज़ीक्यूशन पॉलिसी प्रतिबंधित

हस्ताक्षर सत्यापन के बिना किसी भी स्क्रिप्ट को चलाने की अनुमति देने के लिए, लिखें:

पॉवरशेल -कमांड सेट-एक्ज़ीक्यूशन पॉलिसी अप्रतिबंधित

यदि स्क्रिप्ट चलाते समय आपको निम्न संदेश दिखाई देता है:

सुरक्षा चेतावनी केवल वही स्क्रिप्ट चलाएँ जिस पर आपको विश्वास हो। जबकि इंटरनेट से स्क्रिप्ट उपयोगी हो सकती है, यह स्क्रिप्ट संभावित रूप से आपके कंप्यूटर को नुकसान पहुंचा सकती है। क्या आप \server\scripts\my.ps1 चलाना चाहते हैं? [डी] रन न करें [आर] एक बार चलाएं [एस] सस्पेंड [?] हेल्प (डिफ़ॉल्ट "डी" है): डी

और यदि आप इससे छुटकारा पाना चाहते हैं, तो जब आप स्क्रिप्ट चलाते हैं, तो -ExecutionPolicy Bypass पैरामीटर का उपयोग करें

पॉवरशेल - एक्ज़ीक्यूशनपॉलिसी बायपास -फ़ाइल "\\server\scripts\my.ps1"

पावरशेल स्क्रिप्ट कैसे चलाएं?

कमांड लाइन पर कमांड दर्ज करें

पॉवरशेल -अपनी-स्क्रिप्ट-नाम फ़ाइल करें।ps1

जहाँ your-script-name.ps1 आपकी स्क्रिप्ट का नाम है। पावरशेल स्क्रिप्ट फाइलों में *.ps1 एक्सटेंशन है

Windows PowerShell के साथ सहायता या सहायता

इस या उस सहायता को प्राप्त करने के लिए PowerShell के पास विभिन्न cmdlets हैं। लेकिन सबसे महत्वपूर्ण है: Get-Help

कंसोल में कमांड दर्ज करें:

पॉवरशेल -कमांड गेट-हेल्प

पॉवरशेल -कमांड गेट-हेल्प -?

और दो अलग-अलग विवरण प्राप्त करें जो सहायता का उपयोग करने के तरीके पर एक दूसरे के पूरक हों।

रूसी में उदाहरणों और विस्तृत विवरणों के साथ सहायता सुविधाएँ काफी व्यापक हैं। इसलिए, आप इसे विभिन्न स्वरूपों में आउटपुट कर सकते हैं।

उदाहरण के लिए:

  • पॉवरशेल -कमांड गेट-हेल्प गेट-हेल्प - गेट-हेल्प के लिए सामान्य मदद cmdlet
  • पॉवरशेल -कमांड गेट-हेल्प गेट-हेल्प -उदाहरण - आप गेट-हेल्प cmdlet का उपयोग कैसे कर सकते हैं, इसके उदाहरण
  • पॉवरशेल -कमांड गेट-हेल्प गेट-हेल्प -विस्तृत - गेट-हेल्प cmdlet के लिए विस्तृत सहायता
  • पॉवरशेल -कमांड गेट-हेल्प गेट-हेल्प -फुल - गेट-हेल्प cmdlet पर सबसे पूर्ण सहायता

winintro.ru/windowspowershellhelp.ru/ - एचटीएमएल-बुक के रूप में मदद

विंडोज पॉवरशेल नोट्स:

तुलना ऑपरेटर

  • -ईक - समान
  • -ने - बराबर नहीं - बराबर नहीं
  • -ge - इससे बड़ा या बराबर - इससे बड़ा या बराबर
  • -gt इससे बड़ा
  • -lt - इससे कम - से कम
  • -ले - कम या बराबर - कम या बराबर
  • -जैसे - वाइल्डकार्ड तुलना - पैटर्न से मिलान करने के लिए वाइल्डकार्ड का उपयोग करें
  • -नॉटलाइक - वाइल्डकार्ड तुलना - वाइल्डकार्ड विसंगतियों को खोजने के लिए वाइल्डकार्ड का उपयोग करें
  • -मैच - रेगुलर एक्सप्रेशन तुलना - पैटर्न से मेल खाने के लिए रेगुलर एक्सप्रेशन का उपयोग करें
  • -नॉटमैच - रेगुलर एक्सप्रेशन तुलना - पैटर्न की विसंगतियों को खोजने के लिए रेगुलर एक्सप्रेशन का उपयोग करें
  • -बदलें - ऑपरेटर बदलें - ऑपरेटर के बाईं ओर भाग या सभी मान बदलें
  • -कंटेन्स - कंटेनर ऑपरेटर - निर्धारित करें कि क्या ऑपरेटर के बाईं ओर के मान में दाईं ओर का मान है। परिणाम एक बूलियन मान है
  • -notcontains - कंटेनर ऑपरेटर - निर्दिष्ट करता है कि ऑपरेटर के बाईं ओर के मान में दाईं ओर का मान नहीं है। परिणाम एक बूलियन मान है

डिफ़ॉल्ट रूप से, तुलना ऑपरेटर केस संवेदी नहीं होते हैं।
केस-संवेदी तुलना के लिए, कमांड "c" के साथ उपसर्ग करता है। उदाहरण के लिए, केस सेंसिटिव -eq ऑपरेटर को "-ceq" में बदल दिया जाता है।
एक स्पष्ट केस-असंवेदनशील तुलना के लिए, कमांड "i" के साथ उपसर्ग करता है। उदाहरण: -replace ऑपरेटर केस-असंवेदनशील है -ireplace

  • -is - एक प्रकार है
  • -isnot - एक प्रकार नहीं
  • -as - प्रकार के रूप में, रूपांतरण विफल होने पर कोई त्रुटि नहीं

पावरशेल लॉजिकल ऑपरेटर्स:

  • -और - व्यंजक के सत्य होने के लिए दोनों शर्तें सत्य होनी चाहिए
  • -या - व्यंजक के सत्य होने के लिए एक या दोनों शर्ते सही होनी चाहिए
  • -xor - व्यंजक के सत्य होने के लिए एक शर्त सत्य होनी चाहिए और दूसरी असत्य होनी चाहिए
  • -नहीं - व्यंजक के सही होने के लिए निर्दिष्ट शर्तों का मूल्यांकन "गलत" होना चाहिए
  • ! - व्यंजक के सही होने के लिए निर्दिष्ट शर्त का मूल्यांकन "गलत" होना चाहिए

$myVar -is "String" $myVar -eq 123 $myVar -ceq $myVar2 "abcdef" -like "abc*" "abcdef" -replace "dEf",,"xyz" $myVar1 -is "String" -and $myVar2 -इस "इंट" (1 -ईक्यू 1) -और -नहीं (2 -जीटी 2)

स्ट्रिंग ऑपरेशंस

#स्ट्रिंग को रिक्त स्थान से विभाजित करें: $string = "टेस्ट स्ट्रिंग" $string.split(" ") $string.IndexOf(" ") #Search $string for first space # की पहली घटना का शून्य-आधारित सूचकांक लौटाता है PS> "abcdeabcde" indexOf("cde") 2 # निर्दिष्ट वर्ण PS> "abcdeabcde.lastIndexOf("c") 7 की अंतिम घटना से सूचकांक स्थिति लौटाता है। abcdefgh.Substring(1) bcdefgh # पोजीशन 1 और 4 कैरेक्टर लंबे PS> "abcdefgh" से शुरू होने वाला सबस्ट्रिंग लौटाता है। सबस्ट्रिंग(1,4) bcde # पोजिशन 0 PS> "abcdefgh"insert(0," से सबस्ट्रिंग डालें। X") Xabcdeabcde # स्थिति से निकालें 0 लंबाई 2 PS> "abcdefgh.remove(0,2) cdeabcde # ऑब्जेक्ट गुण - स्ट्रिंग लंबाई PS> "abcdefgh.length 8 # रिटर्न सही है यदि स्ट्रिंग में सबस्ट्रिंग "cde" है PS> "abcdefgh" .Contains("cde") True # रिटर्न सही है अगर स्ट्रिंग सबस्ट्रिंग "abc" PS> "abcdefgh" से शुरू होती है। startsWith ("abc") ट्रू # रिटर्न सही है अगर स्ट्रिंग सबस्ट्रिंग के साथ समाप्त होती है " fgh" PS> "abcdefgh"। समाप्त होता है ("fgh") सच e # रिटर्न सही है अगर स्ट्रिंग में सबस्ट्रिंग "cde" PS> $"abcdefgh" -like "*cde*" True # एक ऐरे देता है जहां "d" डिलीमीटर है PS> "abcdefgh" -split "d" abc efgh # दो ":" - विभाजक PS> "abcdefgh", "xyz" -join ";" से संयुक्त रिटर्न स्ट्रिंग abcdefgh;xyz # एक स्ट्रिंग देता है जहां "abc" को "XYZ" PS> "abcdefgh" से बदल दिया जाएगा। बदलें ("abc", "XYZ") XYZdefgh # एक स्ट्रिंग देता है जहां वर्ण UPPER केस PS> "abcdefgh" में परिवर्तित हो जाते हैं ".ToUpper( ) ABCDEFGH # एक स्ट्रिंग देता है जहां वर्ण लोअरकेस PS> "ABCDEFGH" में परिवर्तित हो जाते हैं। ToLower () abcdefgh

पूर्वनिर्धारित चर

$घर- उपयोगकर्ता निर्देशिका
$NULL- खाली
$सत्य- सत्य
$झूठा- झूठ
$DebugPreference- "जारी रखें" आउटपुट डिबगिंग, "चुपचाप जारी रखें" डिबगिंग जानकारी आउटपुट नहीं करते हैं। देखें-लिखें-डीबग कमांड

फाइलों के साथ काम करना

$स्ट्रिंग | आउट-फाइल $file -Append #Append $string फ़ाइल में एक नई लाइन के साथ $file $string = get-content -Path $file # $string $file $jokes = :: ReadAllText($file) में फ़ाइल की सामग्री प्राप्त करें ) #पूरी फाइल को एक लाइन में पढ़ें टेस्ट-पथ "C:\test.txt" #जांचें कि फाइल मौजूद है या नहीं

किसी निर्देशिका और उपनिर्देशिका में विशिष्ट फ़ाइल नाम एक्सटेंशन वाली सभी फ़ाइलें खोजें।
फिर इन फ़ाइलों को दूसरी निर्देशिका में कॉपी करें।

$flist = get-childitem e:\doc\* -include *.pdf -recurse $flist | ForEach-Object($_.CopyTo("e:\doc\all_pdf\" + $_.PSChildName)) ls d:\ | ?($_.psicontainer) | पूरा नाम चुनें #केवल निर्देशिका दिखाएं ls d:\ | ?(!$_.psicontainer) | पूरा नाम चुनें #केवल फ़ाइलें दिखाएं $स्थानीय = प्राप्त-स्थान .ड्राइव.नि:शुल्क #डिस्क पर नि:शुल्क

ड्राइव D पर फ़ाइलों का पूरा नाम प्रदर्शित करना: जो 1 जून 2014 और 20 सितंबर 2014 के बीच बदल गए हैं:

एलएस डी:\ -रिकर्स | ?(!$_.psicontainer) | पूरा नाम चुनें, LastWriteTime | कहाँ-वस्तु ($_.LastWriteTime -ge "06/01/2014" -और $_.LastWriteTime -le "09/20/2014")

स्क्रीन पर टेक्स्ट प्रदर्शित करना

# ध्यान देने के लिए पाठ। पीले रंग से चिह्नांकित किया गया। लिखें-चेतावनी ("पाठ पर ध्यान देने की आवश्यकता है") # बस आउटपुट टेक्स्ट लिखें-होस्ट ("बस टेक्स्ट") # डिबग आउटपुट सक्षम करें $DebugPreference = "जारी रखें" # डिबग जानकारी प्रिंट करें लिखें-डीबग "फ़ाइल नहीं खोल सकता।" # अक्षम डीबग आउटपुट $DebugPreference = "चुपचाप जारी रखें"

कुछ सेकंड के लिए रुकें

प्रारंभ-नींद - 15 # 15 सेकंड के लिए रुकें

एंटर दबाए जाने तक कंसोल में रुकें

रीड-होस्ट "प्रेस एंटर"

प्रक्रियाओं के साथ काम करना

#कार्य: नोटपैड नामक सभी प्रक्रियाओं को मारें # विधि # 1 प्राप्त-प्रक्रिया नोटपैड | स्टॉप-प्रोसेस # मेथड # 2 (केवल एक प्रोसेस के साथ काम करता है) $plist = गेट-प्रोसेस नोटपैड $plist.Kill() # मेथड #3 (2 के समान, लेकिन सभी प्रोसेस) $plist = गेट-प्रोसेस नोटपैड $ plist | ForEach-Object ($_.Kill()) #प्रक्रियाएं और उनकी आरंभ तिथियां प्राप्त करें: Get-Process| प्रारूप-तालिका का नाम, प्रारंभ समय-स्वतः आकार

वेतन वृद्धि

$i++ - कॉल करने के समय मेरे पास पुराना मान होता है, लेकिन उसके बाद यह 1++ बढ़ जाता है

++$i - कॉल के समय, i में 1 . की वृद्धि की जाती है

सरणियों

$array = 17,15,160 # तीन तत्वों की एक सरणी बनाई गई है सरणी से $array = @ ("adsf",,"adf",,"erge") $array = $array |? ($_ -ne "adf") # केवल अद्वितीय सरणी तत्व प्राप्त करें $a = @(1,2,3,4,5,5,6,7,8,9,0,0) $a = $a | सरणी में तत्व की पहली घटना का चयन -uniq #index $array.indexOf("cde")

अगर Elseif Else कंस्ट्रक्शन

अगर ($i -eq 0) (लिखें-होस्ट ("i शून्य है")) ElseIf ($i -eq 1) (लिखें-होस्ट ("i एक के बराबर है")) अन्य (लिखें-होस्ट ("i है") शून्य या एक के बराबर नहीं है")

प्रत्येक लूप के लिए

$services = प्रत्येक के लिए सेवा प्राप्त करें ($services में $service) ($service.Stop() ) 65 #ASCII कोड को वर्ण "A" में बदलें #वर्ण को ASCII कोड में बदलें "हैलो" #स्ट्रिंग को ASCII कोड में बदलें

किसी भी कुंजी के दबाए जाने की प्रतीक्षा में:

$HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | आउट-नल $HOST.UI.RawUI.Flushinputbuffer() $host.ui.RawUI.WindowTitle = "(!LANG:elimS विंडो शीर्षक" #задаем заголовок окна !}

पावरशेल में डेटा प्रकार

सबसे आम प्रकार:

यूनिकोड वर्णों की निश्चित-लंबाई वाली स्ट्रिंग एक यूनिकोड 16-बिट वर्ण एक 8-बिट अहस्ताक्षरित वर्ण 32-बिट हस्ताक्षरित पूर्णांक 64-बिट हस्ताक्षरित पूर्णांक बूलियन सही/गलत मान एक 128-बिट दशमलव मान एकल-सटीक 32-बिट फ़्लोटिंग पॉइंट संख्या डबल -सटीक 64-बिट फ्लोटिंग पॉइंट नंबर दिनांक और समय एक्सएमएल ऑब्जेक्ट मूल्यों की एक सरणी हैशटेबल ऑब्जेक्ट

अंतर्निहित स्थिरांक भी हैं: $true,$झूठा, $null

यूनिकोड:पावरशेल स्ट्रिंग में यूनिकोड वर्ण को एन्कोड करने के लिए, यूनिकोड को 0x के साथ उपसर्ग करें और इसे System.Char पर डालें:

पीएस> 0x263a

डेटा प्रकार रूपांतरण

किसी विशिष्ट डेटाटाइप में रूपांतरण को बाध्य करने के लिए, वर्ग कोष्ठक में प्रकार के साथ मान या चर का उपसर्ग करें, इसे एक के रूप में जाना जाता है कास्ट ऑपरेटरऔर चुने हुए डेटा प्रकार को बाध्य करता है:

PS C:\> "0064" 64 PS C:\> $false 0 PS C:\> ("0x" + "FF") 255

परीक्षण डेटा प्रकार

पीएस सी:\> 32 -is
ट्रू PS C:\> $true -is
सत्य

पॉवरशेल में कार्य

फ़ंक्शन एलिम्स ( #a फ़ंक्शन जिसमें कई इनपुट पैरामीटर हैं param($string = "डिफ़ॉल्ट", $integer = 7) #input पैरामीटर राइट-होस्ट "स्ट्रिंग =" $string " | पूर्णांक = " $integer ) elimS # एक फ़ंक्शन को कॉल करें पैरामीटर परिभाषाओं के बिना, पैरामीटर डिफ़ॉल्ट मान लेंगे $string = "test string" $integer = 911 elimS $string $integer # यह है कि फ़ंक्शन को सही तरीके से कैसे कॉल करें - हम पैरामीटर को एक स्पेस के साथ अलग करते हैं elimS -integer $integer - स्ट्रिंग $string #this भी सही है $global:var1 = "test" एक ग्लोबल वैरिएबल है, इसलिए आप फंक्शन्स से वेरिएबल का मान पास कर सकते हैं।

किसी फ़ंक्शन में एकाधिक पैरामीटर पास करने के तरीके के बारे में अधिक जानकारी:

विश्राम

get-host #show powerhell version Clear-RecycleBin c: -Force #खाली ट्रैश कंप्रेस-आर्काइव-पाथ C:\test\* -DestinationPath C:\archive\test1.zip #zip फोल्डर एक्सपैंड-आर्काइव -पाथ C:\temp \test1.zip "C:\test\नया फ़ोल्डर\" #अनपैक आर्काइव (Get-CimInstance Win32_operatingSystem).lastbootuptime #show सिस्टम बूट टाइम राइट-होस्ट $sleep_array.GetType().FullName #शो वेरिएबल टाइप स्विच ($a) ( #केस - मल्टीपल अगर 1 ($b = $b+10) 2 ($b = $b+20) 3 ($b = $b+30) 4 ($b = $b+40) डिफ़ॉल्ट ($b) = $b+50) ) Get-Content -Path "C:\scripts\test.txt" - प्रतीक्षा करें #linux में टेल के समान

पॉवरशेल cmdlets

सॉर्ट-ऑब्जेक्ट- वस्तु गुण मूल्यों के आधार पर वस्तुओं को आरोही या अवरोही क्रम में क्रमबद्ध करता है। आप एक गुण या एकाधिक गुण सेट कर सकते हैं (एकाधिक कुंजियों द्वारा क्रमबद्ध करें), और आप केस-संवेदी या केस-असंवेदनशील छँटाई चुन सकते हैं। आप सॉर्ट-ऑब्जेक्ट cmdlet को केवल किसी विशेष गुण के लिए अद्वितीय मान वाले ऑब्जेक्ट प्रदर्शित कर सकते हैं।

कॉपी आइटम- नेमस्पेस में एक स्थान से दूसरे स्थान पर एक तत्व की प्रतिलिपि बनाता है। कॉपी-आइटम cmdlet कॉपी किए गए आइटम को नहीं हटाता है। एक cmdlet कॉपी कर सकने वाले तत्वों के प्रकार Windows PowerShell प्रदाताओं की उपस्थिति से निर्धारित होते हैं। उदाहरण के लिए, फ़ाइल सिस्टम प्रदाता के साथ cmdlet का उपयोग करना फाइलों और फ़ोल्डरों की प्रतिलिपि बनाता है, जबकि रजिस्ट्री प्रदाता का उपयोग करते समय रजिस्ट्री कुंजियों और प्रविष्टियों की प्रतिलिपि बनाता है।

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

वस्तु निकालो- एक या अधिक तत्वों को हटाता है। यह cmdlet कई विक्रेताओं द्वारा समर्थित है, इसलिए यह फ़ाइलों, निर्देशिकाओं, रजिस्ट्री कुंजियों, चरों, उपनामों और कार्यों सहित विभिन्न प्रकार की वस्तुओं को हटा सकता है।

Get-ChildItem- दिए गए स्थानों से तत्व प्राप्त करता है। यदि तत्व एक कंटेनर है, तो यह cmdlet कंटेनर से तत्वों को पुनः प्राप्त करता है, जिन्हें चाइल्ड एलिमेंट कहा जाता है। आप सभी चाइल्ड कंटेनर से आइटम पुनर्प्राप्त करने के लिए रिकर्स विकल्प का उपयोग कर सकते हैं। स्थान फ़ाइल सिस्टम पर एक स्थान हो सकता है, जैसे कि कोई निर्देशिका, या किसी अन्य प्रदाता द्वारा प्रदान किया गया स्थान, जैसे रजिस्ट्री हाइव या प्रमाणपत्र स्टोर।

पॉवरशेल cmdlet विकल्प

-त्रुटिकार्रवाई- पैरामीटर सभी cmdlets में मौजूद है, आपको त्रुटि होने पर की जाने वाली क्रिया को सेट करने की अनुमति देता है:

  • जारी रखें - एक त्रुटि संदेश प्रदर्शित करें और निष्पादन जारी रखें
  • चुपचाप जारी रखें - त्रुटि पर ध्यान न दें और जारी रखें
  • रोकें - पहली त्रुटि पर निष्पादन रोकें
  • पूछताछ - जब कोई त्रुटि होती है, तो संकेत दें कि आगे क्या करना है

उदाहरण: कॉपी-आइटम "d:\test1\klbackup*" "d:\test2\" -ErrorAction stop

-क्या हो अगर- एक संदेश प्रदर्शित करता है जो वास्तव में इसे निष्पादित किए बिना कमांड के परिणाम का वर्णन करता है। सभी cmdlets में मौजूद है।

get-help about_CommonParameters- पैरामीटर का विवरण जो किसी भी cmdlet के साथ उपयोग किया जा सकता है।

Powershell के माध्यम से SSH

आप एसएसएच के माध्यम से कैसे काम कर सकते हैं इसका एक उदाहरण:

#SSH मॉड्यूल स्थापित करें, एक बार Find-Module Posh-SSH | इंस्टाल-मॉड्यूल # एक एसएसएच सत्र बनाएं: आयात-मॉड्यूल पॉश-एसएसएच $ कंप्यूटरनाम = "1.2.3.4" $ उपयोगकर्ता नाम = "उबंटू" $ कीफाइल = "सी: \ एसएसएच \ key.pem" $ nopasswd = नया-ऑब्जेक्ट सिस्टम। सुरक्षा .SecureString $Crendtial = New-Object System.Management.Automation.PSCredential ($UserName, $nopasswd) $SSHSession = New-SSHSession -ComputerName $ComputerName -Credential $Crendtial -KeyFile $KeyFile #एक शेल बनाएं: $SSH = $ एसएसएचसेशन | New-SSHShellStream # कमांड भेजें $SSH.WriteLine("ifconfig") # रीड रिस्पांस $SSH.read () #क्लोज़ सेशन: $sshSession | निकालें-एसएसएचएससत्र

टीमें:

  • Get-SSHTविश्वसनीय होस्ट - विश्वसनीय होस्ट देखें
  • Get-SSHSSession - खुले सत्रों की सूची देखें
  • निकालें-एसएसएचएससत्र - बंद सत्र

टिप्पणी।आप इस मॉड्यूल का उपयोग WMF 5.0 को स्थापित किए बिना कर सकते हैं। पीएस 4.0 और 3.0 के लिए मॉड्यूल पूर्वावलोकन अलग से उपलब्ध है - मार्च 2016, और हाल के लोगों के लिए, पैकेज प्रबंधन पावरशेल मॉड्यूल पूर्वावलोकन के लिए डाउनलोड केंद्र खोजें।

प्रोग्राम इंस्टॉल करना

यह उदाहरण चाकलेटी रिपॉजिटरी से चार प्रोग्राम और Sysinternals उपयोगिताओं का पूरा सेट स्थापित करता है। पहले तीन आदेशों को एक बार निष्पादित किया जाता है, और नीति परिवर्तन की पुष्टि की जानी चाहिए। चौथा आदेश चुपचाप सूचीबद्ध कार्यक्रमों को स्थापित करता है, और पांचवां बस समय बचाता है।

#इंटरनेट से हस्ताक्षरित पैकेजों की स्थापना की अनुमति दें सेट-एक्ज़ीक्यूशन पॉलिसी रिमोटसाइनड #सेट चॉकलेट प्रदाता गेट-पैकेजप्रोवाइडर-नाम चॉकलेटी-फोर्सबूटस्ट्रैप #चॉकलेटी विश्वसनीय सेट-पैकेज स्रोत-नाम चॉकलेटी बनाएं-विश्वसनीय #प्रोग्राम इंस्टॉल करें-पैकेज नोटपैडप्लस, वीएलसी, फायरफॉक्स, फाइलज़िला , sysinternals -Verbose -Force -ProviderName Chocolatey # पाथ सेटेक्स पाथ "$env:path;C:\Chocolatey\bin" -m में निष्पादन योग्य फ़ाइलों (sysinternals) में पथ जोड़ें

प्रदाता C:\Chocolatey\lib को ChocolateyInstall.ps1 स्क्रिप्ट के आधार पर एक पैकेज डाउनलोड करता है। यह प्रोग्राम इंस्टालर को आधिकारिक साइट से %temp%\Chocolatey फ़ोल्डर में डाउनलोड करता है और इसे साइलेंट इंस्टॉलेशन मोड में चलाता है। सबसे सरल उदाहरण नोटपैड ++ है।

इंस्टॉल-चॉकलेट पैकेज "नोटपैडप्लसप्लस" "एक्सई" "/ एस" "https://notepad-plus-plus.org/repository/6.x/6.9/npp.6.9.Installer.exe"

कार्यक्रम खोज

रिपॉजिटरी में कई कार्यक्रम हैं, सभी सबसे लोकप्रिय निश्चित रूप से हैं।

ढूँढें-पैकेज "*ज़िप*",,"*कमांडर*" -प्रदाता का नाम चॉकलेटी

इंस्टॉलर प्रकार और साइलेंट इंस्टॉलेशन कुंजियाँ

  • विंडोज ऑटोइंस्टॉल साइट और सॉफ्टवेयर ऑटोइंस्टॉल फोरम
  • Powershell के माध्यम से Windows अद्यतन स्थापित करना

    • माइक्रोसॉफ्ट वेबसाइट से विंडोज अपडेट पावरशेल मॉड्यूल डाउनलोड करें।
    • संग्रह को %WINDIR%\System32\WindowsPowerShell\v1.0\Modules फ़ोल्डर में अनपैक करें
    • यदि आपने अभी तक स्थानीय स्क्रिप्ट चलाने की अनुमति नहीं दी है, तो चलिए इसे करते हैं: "सेट-एक्ज़ीक्यूशनपॉलिसी रिमोटसाइन"।
      • आप "Get-ExecutionPolicy" कमांड से जांच कर सकते हैं: यह "प्रतिबंधित" के बजाय "RemoteSigned" होना चाहिए
    • डाउनलोड किए गए मॉड्यूल को कमांड के साथ आयात करें: "आयात-मॉड्यूल PSWindowsUpdate"
    • तैयार। अब आप कमांड का उपयोग कर सकते हैं:
      • उपलब्ध अपडेट की सूची देखें: Get-WUInstall -ListOnly
      • पुष्टि के लिए पूछे बिना सभी अपडेट इंस्टॉल करें: Get-WUInstall-AcceptAll
      • पुष्टि के लिए पूछे बिना सभी अपडेट इंस्टॉल करें और रिबूट में देरी करें: Get-WUInstall-AcceptAll-IgnoreReboot
      • उनकी संख्या जानकर कुछ अपडेट इंस्टॉल करें:"Get-WUInstall -KBArticleID KB3066441, KB3078676 -AcceptAll -IgnoreReboot" - अब आपको Microsoft साइट पर जाने और उन्हें मैन्युअल रूप से डाउनलोड करने की आवश्यकता नहीं है
      • मॉड्यूल के लिए विस्तृत सहायता: प्राप्त-सहायता प्राप्त करें-WUइंस्टॉल करें -विस्तृत
      • "भाषा पैक" श्रेणी, "स्काइप" शीर्षक और KB3012973 अद्यतन को छोड़कर उपलब्ध अद्यतनों की सूची देखें: Get-WUInstall -NotCategory "भाषा पैक" -NotTitle Skype -NotKBArticleID KB3012973 -ListOnly
      • "भाषा पैक" श्रेणी, "स्काइप" शीर्षकों को छोड़कर अद्यतन स्थापित करें और KB3012973 अपडेट करें: Get-WUInstall -NotCategory "Language Pack" -NotTitle Skype -NotKBArticleID KB3012973 -AcceptAll -IgnoreReboot

    नमस्ते। =)
    विंडोज सर्वर को प्रशासित करने के बारे में एक और ईशनिंदा लेख उपयोग के लिए ओएस की प्रारंभिक तैयारी के लिए समर्पित है। इस तथ्य से खराब है कि GUI (ग्राफिकल यूजर इंटरफेस) के साथ विंडोज सर्वर के मूल संस्करण में, साथ ही विंडोज सर्वर 2012 कोर और उच्चतर में, पॉवर्सशेल पहले से ही स्थापित है, मैं इस तथ्य से बहुत हैरान था कि विंडोज सर्वर 2008R2 कोर में यह इसकी तरह गंध नहीं करता है। इसलिये सेटअप बहुत स्पष्ट नहीं था और मुझे google और technet करना था, मैंने भविष्य के लिए एक छोटा नोट लिखने का फैसला किया।

    तो, पहले हम अपने निपटान में कम से कम पावरशेल 2.0 प्राप्त करेंगे (वास्तव में, इस कदम को नीचे वर्णित सभी चीजों को सीएमडी में करके छोड़ दिया जा सकता है, लेकिन मैंने इसके साथ शुरुआत की)। यह दो तरह से किया जा सकता है: कमांड लाइन पर sconfig.cmd उपयोगिता चलाकर या DISM के माध्यम से ( परिनियोजन छवि सेवा और प्रबंधन) वहां। पहला हमें एक छद्म ग्राफिकल इंटरफ़ेस प्रदान करता है, जहां बिंदु 4 के तहत हमें PS 2.0 स्थापित करने का अवसर मिलेगा।

    DISM के माध्यम से, यह निम्नानुसार किया जाता है:
    dism.exe /online /enable-feature:MicrosoftWindowsPowerShell

    PS स्थापित करने, रिबूट करने और हमारे पास थोड़ा अधिक पर्याप्त उपकरण होने के बाद, हम इसे वर्तमान संस्करण में अपडेट करने का प्रयास करेंगे। इस लेखन के समय, यह संस्करण 4.0 या पूर्वावलोकन संस्करण 5.0 है। मेरे लिए, संस्करण 3.0 न्यूनतम प्रयोग करने योग्य संस्करण है, जिसमें सर्वर भूमिकाओं और संसाधनों के प्रबंधन के लिए पहले से ही कई cmdlets हैं जो दूसरे संस्करण में नहीं हैं। Windows PowerShell 3.0 को सिस्टम पर .Net Framework 4.0 या बाद के संस्करण को स्थापित करने की आवश्यकता है।
    यदि हम अभी .Net 4.0 स्थापित करने का प्रयास करते हैं, तो हमें पता चलेगा कि इसके लिए हमें .Net 2.0 पहले से स्थापित होना चाहिए, जो किसी कारण से सर्वर कोर संस्करण में गायब है। यह मजाकिया है, लेकिन आदत से बाहर, इंस्टॉलर को डाउनलोड करने और इसे चलाने के लिए, हमें इंस्टॉल करने से इनकार कर दिया जाएगा और ध्यान दिया जाएगा कि हमें dism.exe का उपयोग करने की आवश्यकता है। >_< OK, dism, так dism. Уставливается по аналогии с PS:
    dism.exe /online /enable-feature:NetFx2-ServerCore
    dism.exe /online /enable-feature:NetFx2-ServerCore-WOW64

    अगला कदम .Net Framework को नवीनतम संस्करण में अपडेट करना है। यदि आप Powershell 3.0 का उपयोग करना चाहते हैं, तो .Net 4.0 स्थापित करें, और यदि आप नवीनतम संस्करण चाहते हैं, तो आपको .Net 4.5.1 और उच्चतर की आवश्यकता है। चुनाव आपका है, स्थापना अत्यंत सरल है। पकड़ केवल इंस्टॉलर पैकेज प्राप्त करने में हो सकती है - मैंने सर्वर से एक नेटवर्क ड्राइव कनेक्ट किया है, जिस पर मैंने सभी इंस्टॉलेशन फ़ाइलें अपलोड की हैं; आप अपने लिए सुविधाजनक किसी भी माध्यम का उपयोग कर सकते हैं।

    इसलिए, हमने PS संस्करण 3.0 और उच्चतर स्थापित करने के लिए आधार तैयार किया है। अगला कदम विंडोज मैनेजमेंट फ्रेमवर्क इंस्टॉलर को डाउनलोड करना और इसे इंस्टॉल करना है। हमें जिस आर्किटेक्चर की आवश्यकता है उसका KB2819745 डाउनलोड करें और चलाएं:

    परंपरागत रूप से, स्थापना के बाद, हमें रीबूट करने की आवश्यकता होती है, ऐसा करने के बाद, हमारे पास हमारे पास पावरशेल 4.0 होगा।

    वैसे, सर्वर भूमिकाओं को कॉन्फ़िगर करने के लिए Add-WindowsFeature cmdlet (बदला हुआ Install-WindowsFeature in Windows Server 2012) का उपयोग करने में सक्षम होने के लिए, आपको उसी DISM.EXE के माध्यम से सर्वर प्रबंधक घटकों को स्थापित करने की आवश्यकता होगी। यह इस तरह दिख रहा है:
    dism.exe /online /enable-feature:ServerManager-PSH-Cmdlet s
    सामान्य तौर पर, मैं PS, tk के नवीनतम संस्करणों से बहुत खराब हो गया हूं। मैंने इसे तीसरे संस्करण के जारी होने के बाद लिया, लेकिन जैसा कि यह निकला, dism.exe भी भूमिकाओं को स्थापित करने तक सीमित हो सकता है। और अगर आपको उस सुविधा का नाम नहीं पता है जिसकी आपको आवश्यकता है, तो आप हमेशा सभी उपलब्ध विकल्पों और उनकी स्थिति को /get-features पैरामीटर के माध्यम से देख सकते हैं। लेकिन मेरे लिए, Get-WindowsFeature अधिक जानकारीपूर्ण है। =)
    dism.exe /ऑनलाइन /गेट-फीचर्सबनाम Get-WindowsFeature