Powershell Cmdlets जो आपके Windows व्यवस्थापक कौशल में सुधार करेंगे

Powershell Cmdlets जो आपके Windows व्यवस्थापक कौशल में सुधार करेंगे

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





पॉवरशेल के साथ काम करना

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





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





Powershell इस मायने में अद्वितीय है कि यह पूरी तरह से कमांड से बना है, Microsoft उन्हें Cmdlets कहता है। यदि आप कमांड लाइन के माध्यम से काम कर रहे हैं या जटिल स्क्रिप्ट लिख रहे हैं तो ये कमांड समान हैं। इसलिए जब आप इन आदेशों का उपयोग करते हैं, तो आप सोच सकते हैं कि अपनी पहली स्क्रिप्ट बनाने के लिए उन्हें एक साथ कैसे जोड़ा जाए।

मूल बातें: गेट-कमांड, गेट-हेल्प, गेट-सदस्य

सभी Powershell कमांड Verb-Noun का रूप लेते हैं। क्रिया आमतौर पर हैं: प्राप्त करें, सेट करें, और नया .



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

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





का उपयोग करते हुए मदद लें cmdlet Get-Command के साथ cmdlet के बारे में अधिक जानकारी दिखाता है। हम निम्नलिखित सिंटैक्स के साथ cmdlet का उपयोग करते हैं:

Get-Help Get-Command

फिर आप मापदंडों के बारे में बुनियादी जानकारी देखते हैं। यदि आप पैरामीटर विवरण और कुछ उपयोग उदाहरण देखना चाहते हैं, तो -पूर्ण पैरामीटर जोड़ें।





यदि आप केवल उदाहरण देखना चाहते हैं, तो आप चला सकते हैं:

Get-Help Get-Command -Examples

यह cmdlet मदद फ़ाइल से केवल उदाहरण देता है। ये उदाहरण काफी मददगार हैं क्योंकि इनमें विवरण शामिल हैं। यह सहायता पाठ बताता है कि चलाते समय cmdlet और पैरामीटर क्या करते हैं।

यदि आप सहायता फ़ाइल को एक अलग विंडो में पॉप आउट करना चाहते हैं, तो आप इसका उपयोग कर सकते हैं -खिड़की दिखाएंं . तो यदि आप दौड़ते हैं:

Get-Help Get-Command -ShowWindow

Powershell पूर्ण सहायता फ़ाइल के साथ एक विंडो को पॉप आउट करता है। आपको यहां पूर्ण पैरामीटर का उपयोग करने की आवश्यकता नहीं है, क्योंकि विंडो पूरे लेख को खींचती है।

जैसे-जैसे आप Powershell के साथ और अधिक उन्नत होते जाते हैं, आप पाएंगे कि आप Get-Member का अधिक बार उपयोग करते हैं। यह देखने का एक आसान तरीका है कि लौटाए गए डेटा के साथ-साथ आपके द्वारा चलाए जा सकने वाले अन्य तरीकों से कौन से फ़ील्ड उपलब्ध हैं। अक्सर, cmdlets में a . होगा -संपत्ति पैरामीटर आपको उन्हें कॉल करने की अनुमति देता है।

फाइलों के साथ काम करना: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

अब जबकि आपको इस बात का अंदाजा हो गया है कि cmdlets कैसे काम करता है, और मदद कैसे प्राप्त करें, आइए बदलाव करते हैं। आप का उपयोग करके किसी भी फ़ोल्डर की सामग्री प्राप्त कर सकते हैं Get-ChildItem आदेश। उदाहरण के लिए, आप ड्राइव अक्षर का उपयोग करके संपूर्ण ड्राइव की फ़ाइलें प्राप्त कर सकते हैं। प्रवेश करना:

Get-ChildItem E:

जिसके लिए संक्षिप्त है:

Get-ChildItem -Path E:

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

  • सिफ़ पढ़िये
  • छिपा हुआ
  • प्रणाली
  • निर्देशिका
  • संग्रह
  • युक्ति
  • साधारण
  • अस्थायी
  • विरल फ़ाइल
  • ReparsePoint
  • दबा हुआ
  • ऑफलाइन
  • सामग्री अनुक्रमित नहीं
  • कूट रूप दिया गया

यदि आप पथ में सभी उप निर्देशिकाओं की सामग्री प्राप्त करना चाहते हैं, तो आप का उपयोग करना चाहते हैं -पुनरावृत्ति पैरामीटर। तो फिर दौड़ें:

Get-ChildItem -Path E: -Recurse

आपकी फ़ाइलें तब पथ में प्रत्येक फ़ोल्डर के लिए अलग सूचियों के रूप में सामने आती हैं।

लौटाए गए डेटा को सीमित करने के लिए आप कुछ अलग पैरामीटर का उपयोग कर सकते हैं: -फाइल , -छिपा हुआ , तथा -सिफ़ पढ़िये . यदि आप फ़ाइल के नामों को फ़िल्टर करना चाहते हैं, तो आप पथ पैरामीटर में वाइल्ड कार्ड का उपयोग कर सकते हैं। निर्देशिका में सभी .doc फ़ाइलों को वापस करने के लिए, दर्ज करें:

Get-ChildItem -Path E:*.doc

फिर से जोड़ें -पुनरावृत्ति यदि आप सबफ़ोल्डर से भी सब कुछ चाहते थे।

यदि आप किसी फ़ाइल का उपयोग हटाना चाहते हैं:

Remove-Item -Path E:OldFile.txt

प्रत्येक फ़ाइल की पुष्टि करना छोड़ने के लिए, पैरामीटर जोड़ें - $false . की पुष्टि करें (पावरशेल में बूलियन मानों के लिए दो स्थिरांक हैं: $true और $false)। केवल-पढ़ने के लिए या छिपी हुई फ़ाइलों को हटाने के लिए, का उपयोग करें -बल पैरामीटर।

फ़ाइलों को स्थानांतरित करना उतना ही आसान है। एक फ़ोल्डर में अपने फ्लैश ड्राइव से स्थानीय ड्राइव में सब कुछ स्थानांतरित करने के लिए:

Move-Item -Path E:* -Destination C:FlashDriveArchive

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

प्रक्रियाओं और सेवाओं के साथ निगरानी और कार्य करना

प्रत्येक विंडोज यूजर टास्क मैनेजर को जानता है . हालाँकि, Powershell से वर्तमान में चल रही प्रक्रियाओं को देखने का एक तेज़ तरीका है, प्राप्त-प्रक्रिया . यदि आप जानना चाहते हैं कि इस तालिका में सभी प्रविष्टियों का क्या अर्थ है, तो कमांड को पाइप करें प्राप्त सदस्यीय . सीएमडीलेट दर्ज करें:

Get-Process | Get-Member

गेट-सदस्य गेट-प्रोसेस से जुड़े तरीकों और गुणों की एक सूची आउटपुट करता है। शीर्ष पर जानकारी वह है जिसमें आप रुचि रखते हैं। आप देखते हैं कि विभिन्न प्रकार की मेमोरी में उपनाम होते हैं।

हम इस आउटपुट से यह भी देख सकते हैं कि हम प्राप्त कर सकते हैं उत्पाद संपत्ति प्रक्रियाओं के लिए एक मित्रवत नाम पाने के लिए। आइए आउटपुट बदलते हैं, इसलिए हमारे पास काम करने के लिए इसमें बेहतर जानकारी है:

इच्छा उत्पाद कहां से आते हैं
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(अगले भाग में सेलेक्ट-ऑब्जेक्ट और सॉर्ट-ऑब्जेक्ट के बारे में अधिक जानकारी है।)

अब जब आपके पास गेट-प्रोसेस कमांड से आईडी है, तो आप स्टॉप-प्रोसेस cmdlet का उपयोग करके इसे रोक सकते हैं। इसलिए यदि आप पाते हैं कि क्रोम प्रक्रिया आपके सभी संसाधनों को चबा रही है, तो पिछले आदेश में आईडी खोजें। फिर भागो:

Stop-Process -ID 45960

बदलने के 49560 अपने संसाधन हॉग की आईडी के साथ।

फ़ाइल पथ का उपयोग करके, आप Powershell का उपयोग करके एक प्रक्रिया प्रारंभ कर सकते हैं। क्रोम लॉन्च करने के लिए निम्नलिखित कमांड चलाएँ:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe'

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

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe' -ArgumentList '--incognito'

सेवाओं के साथ आप इनमें से अधिकांश समान कार्य कर सकते हैं। सेवा प्राप्त करें आपको आपके कंप्यूटर पर चल रही सभी सेवाओं की एक सूची दिखाता है। सेवाओं को शुरू करने और रोकने के साथ ही, आप इसका उपयोग कर सकते हैं सेवा शुरू करें तथा सेवा रोकें .

डेटा के साथ कार्य करना: सॉर्ट-ऑब्जेक्ट, सेलेक्ट-ऑब्जेक्ट, व्हेयर-ऑब्जेक्ट

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

कोष्ठक में कुछ भी पहले चलता है। इसके साथ एक साधारण सरणी बनाएं:

$(Get-Random), $(Get-Random), $(Get-Random)

मूल्यों को अलग करने वाले अल्पविरामों को नोटिस करना सुनिश्चित करें। तो यादृच्छिक संख्याओं को चलाने के लिए क्रमबद्ध देखने के लिए:

$(Get-Random), $(Get-Random), $(Get-Random) | Sort-Object

यदि आप इसे उलटना चाहते हैं तो cmdlet सबसे छोटी से सबसे बड़ी संख्याओं को आउटपुट करता है -अवरोही .

जब आप cmdlets को Get-Member में पाइप करते हैं, तो डिफ़ॉल्ट आउटपुट की तुलना में अधिक गुण होते हैं। आप का उपयोग करके विशिष्ट गुणों का चयन करें चयन-वस्तु .

सॉर्ट-ऑब्जेक्ट की तरह, आप पाइप किए गए cmdlet के माध्यम से सेलेक्ट-ऑब्जेक्ट का उपयोग करते हैं। उदाहरण के लिए, सेवाओं की तालिका और उनकी स्थिति का उपयोग करने के लिए:

Get-Service | Select-Object DisplayName, Status

यह सब डेटा आउटपुट करते समय अच्छा है, क्या होगा यदि आप केवल विशिष्ट डेटा देखना चाहते हैं? Get-ChildItem में कुछ अंतर्निर्मित फ़िल्टरिंग है, लेकिन अधिकांश आदेश नहीं हैं। उन मामलों में, आप उपयोग करते हैं कहाँ-वस्तु .

फिर से सर्विस में लौटकर इस बार आपको सिर्फ रनिंग सर्विस ही मिलने वाली है। सीएमडीलेट दर्ज करें:

Get-Service | Where-Object Status -eq 'Running'

उस -ईक्यू तुलना में Powershell for . है = . पॉवर्सशेल में, आप अक्षर संयोजनों के साथ तुलना करते हैं:

  • eq: बराबर
  • ne: बराबर नहीं
  • लेफ्टिनेंट: से कम
  • जीटी: से बड़ा
  • जीई: से बड़ा या उसके बराबर
  • ले: से कम या बराबर
  • जैसे: वाइल्डकार्ड तुलना में लाइक का उपयोग करें

स्वरूपण सहायता: प्रारूप-तालिका और प्रारूप-सूची।

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

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

कमांड लाइन से स्क्रिप्टिंग तक: अगले चरण

एक बार जब आप सहज हो जाते हैं, तो स्क्रिप्टिंग एक टेक्स्ट फ़ाइल में cmdlets दर्ज करने और उसे सहेजने का मामला है। यदि आप स्क्रिप्टिंग को आज़माने से घबराते हैं, तो ऐसा न करें। Microsoft के पास प्रत्येक cmdlet पर भारी मात्रा में दस्तावेज़ीकरण है। यह पहले से ही लंबे सहायता दस्तावेज़ीकरण से ऊपर और परे है, इसलिए Technet [अब उपलब्ध नहीं] की जाँच करना सुनिश्चित करें।

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

साझा करना साझा करना कलरव ईमेल डिस्क स्थान खाली करने के लिए इन विंडोज़ फ़ाइलों और फ़ोल्डरों को हटाएं

अपने Windows कंप्यूटर पर डिस्क स्थान साफ़ करने की आवश्यकता है? यहाँ विंडोज़ फ़ाइलें और फ़ोल्डर्स हैं जिन्हें डिस्क स्थान खाली करने के लिए सुरक्षित रूप से हटाया जा सकता है।

आगे पढ़िए
संबंधित विषय
  • खिड़कियाँ
  • प्रोग्रामिंग
  • पावरशेल
  • स्क्रिप्टिंग
लेखक के बारे में माइकल मैककोनेल(44 लेख प्रकाशित)

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

माइकल मैककोनेल की और फ़िल्में या टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें