होम उपयोगकर्ताओं के लिए पावरशेल का उपयोग करना - एक शुरुआती गाइड

कौन नहीं चाहता कि वे एक जादूगर बनें और जादुई चीजें होने के लिए कुछ शब्द बोलें? ठीक(Well) है, हम आपको यह दिखाने में सक्षम नहीं हैं कि एक जादूगर कैसे बनें, लेकिन हम आपको दिखा सकते हैं कि थोड़ा कंप्यूटर जादू कैसे करें।

यदि आपके पास विंडोज 7 के साथ (Windows 7)विंडोज(Windows) कंप्यूटर है, तो आपके पास पावरशेल(PowerShell) है। साथ ही, यदि आपके पास विंडोज 7(Windows 7) वाला कंप्यूटर है, तो कृपया सुरक्षा के लिए इसे अपडेट करें।

लेकिन यह लेख सिर्फ विंडोज(Windows) लोगों के लिए नहीं है। पावरशेल(PowerShell) का नवीनतम संस्करण मुफ़्त है और इसे मैक और लिनक्स(Linux) कंप्यूटरों पर स्थापित और उपयोग किया जा सकता है ।

यह महत्वपूर्ण है क्योंकि आप पावरशेल(PowerShell) के बारे में जो सीखते हैं उसका उपयोग अब लगभग किसी भी कंप्यूटर पर किया जा सकता है। कौन जाने? आप इस कौशल को अगले स्तर तक ले जा सकते हैं और सूचना प्रौद्योगिकी(Information Technology) में अपना करियर बना सकते हैं ।

पावरशेल क्या है?

Microsoft का उच्च-तकनीकी उत्तर यह है कि यह एक "कमांड-लाइन शेल है जिसे विशेष रूप से सिस्टम प्रशासकों के लिए डिज़ाइन किया गया है। एक €(” Sounds) डराने लगता है। लेकिन ऐसा नहीं है। क्या आप अपने कंप्यूटर की देखभाल करते हैं? हां, तो आप अपने घर के सिस्टम एडमिनिस्ट्रेटर हैं।

क्या आप अपने कंप्यूटर को बताते हैं कि क्लिक और कीस्ट्रोक्स का क्या करना है? हां, इसलिए कमांड-लाइन शेल को एक अन्य विंडो के रूप में सोचें जिसमें आप अपने कंप्यूटर को यह बताने के लिए चीजें टाइप करते हैं कि क्या करना है। तुम यह केर सकते हो।

पावरशेल(PowerShell) एक प्रोग्रामिंग भाषा की तरह है, लेकिन अधिकांश के रूप में गुप्त नहीं है। यह वास्तव में नियमित अंग्रेजी(English) की तरह बहुत कुछ पढ़ता है , जो कुछ ऐसा था जिसके लिए माइक्रोसॉफ्ट(Microsoft) ने प्रयास किया ताकि इसे गैर-प्रोग्रामर द्वारा उठाया जा सके।

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

आप पावरशेल के साथ क्या कर सकते हैं?

पावरशेल(PowerShell) का उच्च-स्तरीय बिंदु कार्यों को स्वचालित करने में सक्षम होना है, इसलिए आपको बार-बार सांसारिक चीजों को करने में अपना समय बर्बाद नहीं करना पड़ेगा। एक पेशेवर सिस्टम प्रशासक(Systems Administrator) के लिए , यह कुछ ऐसा हो सकता है जैसे नए उपयोगकर्ता बनाना, उनके लिए पासवर्ड बनाना, और उनके नए पर्यवेक्षक को विवरण के साथ एक ई-मेल भेजना।

मैन्युअल रूप से किया गया, क्लिक और टाइपिंग के साथ, उस प्रक्रिया में 5 मिनट से लेकर एक घंटे या अधिक तक का समय लग सकता है। सही स्क्रिप्ट के साथ, सिस्टम प्रशासक(Systems Administrator) को उसका कोई भाग करना भी नहीं पड़ सकता है।

लेकिन आप जानना चाहते हैं कि आप घर पर पावरशेल(PowerShell) के साथ क्या कर सकते हैं । बहुत कुछ ऐसा है जिसे आप बार-बार करना पसंद नहीं करते हैं। अस्थायी और लॉग फ़ाइलों को हटाकर अपनी हार्ड ड्राइव पर स्थान खाली करने के लिए इसका उपयोग करें जिनकी आपको आवश्यकता नहीं है।

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

मैं पावरशेल का उपयोग कैसे करूं?

पावरशेल(PowerShell) के साथ काम करने का सबसे आसान तरीका पावरशेल इंटीग्रेटेड स्क्रिप्टिंग एनवायरनमेंट (आईएसई)(PowerShell Integrated Scripting Environment (ISE)) है। आप इसे विंडोज 10(Windows 10) में सर्च बार में स्टार्ट(Start) और टाइपिंग पावरशेल आईएसई(powershell ise ) पर क्लिक करके पा सकते हैं । आपको इसे नीचे दिखाए अनुसार देखना चाहिए।

पहली बार जब हम इसका उपयोग करते हैं, हम इसे व्यवस्थापक(Administrator) के रूप में चलाने जा रहे हैं । ऐसा करने के लिए, आपके पास पहले आपके कंप्यूटर पर व्यवस्थापकीय अधिकार होने चाहिए। अपने प्रारंभ मेनू में, (Start Menu)PowerShell ISE पर राइट-क्लिक करें , फिर व्यवस्थापक के रूप में चलाएँ(Run as Administrator) पर क्लिक करें ।

आपको एक यूजर एक्सेस कंट्रोल(User Access Control) ( यूएसी(UAC) ) चेतावनी पॉप-अप मिल सकती है जिसमें पूछा गया है कि क्या आप सुनिश्चित हैं कि आप ऐसा करना चाहते हैं। हाँ(Yes) क्लिक करें ।

अब आप पावरशेल आईडीई(PowerShell IDE) देख रहे हैं । विंडो का शीर्ष फलक (1) स्क्रिप्टिंग फलक है। यह वह जगह है जहाँ आप अपनी स्क्रिप्ट लिखेंगे। विंडो (2) का निचला फलक कंसोल क्षेत्र है। जब आप अपनी स्क्रिप्ट का परीक्षण करते हैं, तो आप इस फलक में आउटपुट देखेंगे।

यह वह जगह भी है जहां आपको त्रुटि संदेश दिखाई देंगे और इससे आपको अपनी स्क्रिप्ट को ठीक करने और बेहतर बनाने में मदद मिलेगी। विंडो (3)((3)) के दाईं ओर का फलक ऐड-ऑन कमांड है। इसे आपके लिए उपलब्ध सभी पावरशेल(PowerShell) कमांड के शब्दकोश के रूप में सोचें ।

पावरशेल(PowerShell) उन स्क्रिप्ट के अलावा किसी अन्य स्क्रिप्ट को नहीं चलाने के लिए तैयार है जो पहले से ही विंडोज(Windows) का एक हिस्सा है । आपको इसे बदलना होगा ताकि आप अपनी स्क्रिप्ट चला सकें।

स्क्रिप्टिंग विंडो में, निम्नलिखित को कॉपी और पेस्ट करें:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

इसके Set-ExecutionPolicy भाग को cmdlet (उच्चारण कमांडलेट) कहा जाता है। Cmdlets शक्तिशाली चीजें हैं। उन्हें छोटे कमांड के रूप में सोचें जो आप (Think)विंडोज(Windows) दे सकते हैं , और विंडोज(Windows) आपके कमांड को संतुष्ट करने के लिए अधिक जटिल सामान का एक गुच्छा करेगा।

एक सादृश्य आपके बच्चे को अपना कमरा साफ करने के लिए कह रहा होगा। लघु(Short) और बिंदु तक। यदि आपका बच्चा कमरे की सफाई में अच्छी तरह से वाकिफ है, तो वे जाकर अपना बिस्तर बनाएंगे, अपने कपड़े धोने की टोकरी में रखेंगे, अपने खिलौने और किताबें रख देंगे, और शायद फर्श भी खाली कर देंगे। वे समझते हैं कि cmdlet Clean-YourRoom का मतलब वह सब है।

विंडो के शीर्ष पर, आपको एक हरा तीर का सिरा दिखाई देगा। कमांड चलाने के लिए उस पर क्लिक करें ।(Click)

-ExecutionPolicy भाग सेट-निष्पादन नीति को बता रहा है कि कौन सी नीति सेट (Set-ExecutionPolicy)करनी(-ExecutionPolicy) है। यह एक पैरामीटर है। यह कह रहा है, "मैं चाहता हूं कि आप इन दिशानिर्देशों के भीतर काम करें और विशेष रूप से ऐसा करें। यह इसे RemoteSigned(RemoteSigned) की विशिष्ट नीति का उपयोग करने के लिए कहता है ।

रिमोटसाइन(RemoteSigned ) की गई नीति बताती है कि पावरशेल (PowerShell)इंटरनेट(Internet) से डाउनलोड की गई किसी भी स्क्रिप्ट को तब तक निष्पादित या चला नहीं सकता है जब तक कि उस पर किसी विश्वसनीय प्रकाशक द्वारा हस्ताक्षर नहीं किया गया हो।

गोल चक्कर में, यह पॉवरशेल(PowerShell) को बताता है कि स्थानीय रूप से बनाई गई किसी भी स्क्रिप्ट को चलाना ठीक है, क्योंकि उन पर किसी दूरस्थ विश्वसनीय प्रकाशक द्वारा हस्ताक्षर करने की आवश्यकता नहीं है। अब, आपकी पावरशेल(PowerShell) स्क्रिप्ट आपके कंप्यूटर पर आपके द्वारा लिखी गई किसी भी स्क्रिप्ट को चलाने में सक्षम होगी।

आइए अस्थायी फ़ाइलों को हटाने के लिए एक स्क्रिप्ट देखें। यह CCleaner(CCleaner) जितना शक्तिशाली या संपूर्ण नहीं है , लेकिन CCleaner अपनी समस्याओं के सेट के साथ आता है।

(Use PowerShell)अपनी हार्ड ड्राइव(Your Hard Drive) पर जगह बनाने(Create Space) के लिए पावरशेल का उपयोग करें

हम इस स्क्रिप्ट को लाइन दर लाइन तोड़ देंगे, ताकि आप देख सकें कि यह कैसे काम करता है। अंत में, स्क्रिप्ट पूरी तरह से दिखाई जाएगी ताकि आप चाहें तो इसे कॉपी और पेस्ट कर सकें।

$TempFileLocation = "C:\Users\username\Appdata\Local\Temp\*"

किसी भी चीज़ के सामने डॉलर का चिन्ह एक चर नाम होता है। इसे मूल्यवान सामान रखने के लिए एक वॉलेट की तरह समझें। वॉलेट(Wallet) हमें डॉलर के संकेत की याद दिलाता है, कीमती सामान परिवर्तनशील लगता है, इसलिए हम उसे भी याद रखेंगे। $TempFileLocation नाम का एक वॉलेट या वेरिएबल बना रहे हैं । बराबर चिह्न पावरशेल(PowerShell) को बताता है कि उस चर में क्या रखा जाए।

C:\Users\username\AppData\Local\Temp\* के स्थान में डाल रहे हैं । हम ऐसा दो कारणों से कर रहे हैं; यह एक ऐसा स्थान है जहां से फ़ाइलों को हटाना हमेशा सुरक्षित होता है, और हम इसका उपयोग पावरशेल(PowerShell) को यह बताने के लिए करने जा रहे हैं कि उसे फ़ाइलों को हटाने के लिए कहाँ जाना चाहिए।

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

स्थान के आसपास के दोहरे उद्धरण भी महत्वपूर्ण हैं। यह पॉवरशेल(PowerShell) को बताता है कि इसमें क्या है एक स्ट्रिंग है। स्ट्रिंग को अक्षरों और वर्णों की एक स्ट्रिंग के रूप में सोचें । (Think)यदि यह सामान्य संख्याएँ होतीं, तो हम उद्धरण चिह्नों का उपयोग नहीं करते।

$TempFile = Get-ChildItem $TempFileLocation -Recurse

हम एक और वैरिएबल बना रहे हैं। इस बार हम $TempFile वैरिएबल में कुछ डालने के लिए एक कमांड का उपयोग करने जा रहे हैं।

Get-ChildItem 

Get-ChildItem जैसे cmdlets के बारे में एक और बात जो आपने नोटिस की है, वह यह है कि यह पूरी तरह से पठनीय है। देखें कि पहला शब्द क्रिया कैसे है? Cmdlets सभी क्रिया शब्दों से शुरू होते हैं, ताकि आप तुरंत जान सकें कि यह क्या कर रहा है। चाइल्डआइटम(ChildItem) दो संज्ञाएं हैं।

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

सीएमडीलेट किस बच्चे की वस्तुओं को प्राप्त कर रहा है? चर $TempFileLocation में सब कुछ । पावरशेल(PowerShell) उस स्थान पर जाने वाला है जिसे हमने पहले $ TempFileLocation में रखा था और वहां मौजूद सभी चाइल्ड आइटम प्राप्त करेंगे। $TempFile में डाल देगा ।

तो, -Recurse भाग के साथ क्या है? वह Get-ChildItem(Get-ChildItem) को उस स्थान की हर चीज से गुजरने के लिए कह रहा है। फ़ाइलों को तुरंत मूल फ़ोल्डर के अंदर प्राप्त न करें। अगर उस फोल्डर में फोल्डर हैं, तो उनके सभी बच्चे और उनके बच्चे वगैरह भी ले लें। हम उन सभी को प्राप्त करने जा रहे हैं।

$TempFileCount = ($TempFile).count

हां, हम एक तीसरा वैरिएबल बना रहे हैं जिसे $TempFileCount कहा जाता है , और हम उस वेरिएबल में एक नंबर डालने जा रहे हैं। नंबर कहां है? खैर, ( $TempFile).count हमें वह नंबर मिलने वाला है। आपको शायद पता चल गया होगा कि .count हिस्सा उन सभी फाइलों की गिनती करने वाला है, जिन्हें हमने अभी-अभी $ TempFile में स्टोर किया है ।

हमने ऐसा क्यों किया? ज्यादातर इसलिए क्योंकि यह जानना अच्छा है कि हम बाकी स्क्रिप्ट के साथ कितनी बेकार फाइलें साफ कर रहे हैं ताकि हम बता सकें कि यह कितना प्रभावी था।

if($TempFileCount -eq 0)

अब हम एक कंडीशनल स्टेटमेंट सेट कर रहे हैं। आप देख सकते हैं कि यह "if" पूछ रहा है। अगर? यदि कोष्ठक में दी गई बात सत्य या असत्य है। कोष्ठक महत्वपूर्ण हैं, अन्यथा अगर को नहीं पता कि क्या तुलना करनी है। $TempFileCount में संग्रहीत संख्या शून्य के बराबर है।

-eq बराबरी का शॉर्टहैंड है। यह एक प्रकार का तुलना ऑपरेटर है। यह आपके बच्चों को यह बताने जैसा है, "यदि आपका कमरा साफ है, बढ़िया है, तो हम कुछ करने जा रहे हैं" यह कथन कह रहा है कि यदि $ TempFileCount में संग्रहीत संख्या -शून्य के बराबर है अगली वस्तु।

{Write-Host "There are no files in the folder $TempFileLocation" -ForegroundColor Green}

अगर $TempFileCount शून्य है तो यही होगा। घुंघराले कोष्ठक महत्वपूर्ण हैं। वे पावरशेल(PowerShell) को केवल वही करने के लिए कहते हैं जो उनके अंदर है यदि $ TempFileCount शून्य के बराबर है।

यह होस्ट या स्क्रीन को लिखेगा, "C:\Users\username\Appdata\Local\Temp\*†फोल्डर में कोई फाइल नहीं है। अंत में पैरामीटर, " ForegroundColor टेक्स्ट को हरा बनाने के लिए PowerShell को बताता है । यह केवल एक त्रुटि संदेश से अंतर करना आसान बनाता है जो सामान्य रूप से लाल होता है।

Else

आप जानते हैं कि और क्या मतलब है। यह है, "आपका कमरा बेहतर साफ हो या नहीं" यह जाँच का हिस्सा है कि क्या आपके बच्चे ने अपना कमरा साफ किया है। $TempFileCount शून्य नहीं है तो क्या होगा ।

{$TempFile | Remove-Item -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

$TempFile में संग्रहीत वर्तमान स्थान पर जाएं । इसके बाद की खड़ी रेखा को पाइप कहा जाता है। यह एक वास्तविक जीवन पाइप की तरह कार्य करता है क्योंकि यह पावरशेल(TempFile) को $ TempFile की सामग्री को cmdlet में फ़नल करने के लिए कहता(PowerShell) है, जैसे कि यह पानी को वॉशिंग मशीन में पाइप किया जा रहा था। फिर cmdlet निकालें-आइटम( Remove-Item ) वही करता है जो वह कहता है; यह उस स्थान पर जो कुछ भी है उसे हटा देता है।

इस स्तर पर -WhatIf पैरामीटर बहुत महत्वपूर्ण है। यह पॉवरशेल(PowerShell) को कमांड चलाने के लिए कहता है, लेकिन केवल इसे आज़माएं, कुछ भी न हटाएं। बस(Just) हमें दिखाओ कि अगर हम वास्तव में ऐसा करते तो क्या होता।

यह आपको अपने कंप्यूटर पर कुछ भी बदले बिना कमांड का परीक्षण करने की अनुमति देता है। जब तक आप सहज महसूस न करें कि स्क्रिप्ट वही करने जा रही है जो आप करना चाहते हैं और कुछ नहीं। फिर बस उसे हटा दें और स्क्रिप्ट अपना काम करेगी।

पैरामीटर -Confirm:$false स्क्रिप्ट को यह पूछने से रोकता है कि क्या आप वास्तव में फ़ाइल को हटाना चाहते हैं। आप जानते हैं कि -Recurse क्या करता है। -बल( -Force) का मतलब है कि उस चीज़ को हटा दें चाहे कुछ भी हो। -WarningAction को SilentlyContinue पर सेट किया गया है ।

यह स्क्रिप्ट को आपको इस बारे में चेतावनी देने से रोकता है कि आप क्या हटा रहे हैं। -ErrorAction को SilentlyContinue पर सेट किया गया है ताकि यदि प्रक्रिया में किसी प्रकार की त्रुटि हो, तो यह बस साथ ही चलती रहे।

अब हम अंतिम पंक्ति में हैं।

Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}

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

आइए स्क्रिप्ट को पूरी तरह से देखें:

$TempFileLocation = "C:\Users\guymcd\Appdata\Local\Temp\*"
$TempFile = Get-ChildItem $TempFileLocation -Recurse
$TempFileCount = ($TempFile).count

if($TempFileCount -eq "0") {
Write-Host "There are no files in the folder $TempFileLocation" - ForegroundColor Green
}
Else {
$TempFile | Remove-Item -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green
}

आप इसे अपने PowerShell ISE(PowerShell ISE) में कॉपी और पेस्ट कर सकते हैं और इसे delete-TemporaryFiles.ps1 जैसी किसी चीज़ के रूप में सहेज सकते हैं । अब आप cmdlets के नामकरण परिपाटी से चिपके रह सकते हैं जब आप उन्हें समझ गए हों।

यदि किसी कारण से कोड आपके लिए काम नहीं कर रहा है, तो आप हमारे द्वारा बनाई गई PowerShell स्क्रिप्ट को भी डाउनलोड कर सकते हैं और उसे चला सकते हैं। स्क्रिप्ट फ़ाइल देखने के लिए बस(Just) इसे पहले अनज़िप करें।

जब भी आप इस स्क्रिप्ट को चलाना चाहते हैं, तो बस उस पर राइट-क्लिक करें और रन विथ पॉवरशेल(Run with PowerShell) चुनें । एक पावरशेल(PowerShell) कंसोल एक या दो सेकंड के लिए पॉप अप होगा, जबकि आपकी स्क्रिप्ट अपना काम करती है, और फिर कोई त्रुटि नहीं होने पर गायब हो जाएगी।

मैं और अधिक पॉवरशेल कहाँ से सीख सकता हूँ?

ऐसा बहुत लगता है! आपकी पहली पावरशेल(PowerShell) स्क्रिप्ट के लिए यह एक उचित सा है। यदि आपने इसे इतना आगे कर दिया है, तो अपने आप की सराहना करें। आपने आज बहुत कुछ सीखा है, लेकिन अब आप और सीखना चाहते हैं। यह बहुत अच्छा है!

पावरशेल(PowerShell) के बारे में अधिक जानने के लिए इंटरनेट(Internet) पर बहुत सारे संसाधन हैं । शुरू करने के लिए एक अच्छी जगह हमारा लेख है, " कमांड लाइन या पावरशेल के माध्यम से स्टार्टअप प्रोग्राम की एक सूची तैयार करें(Generate a List of Startup Programs via Command Line or PowerShell) "। फिर इन अन्य संसाधनों की जाँच करें:



About the author

मैं 10 से अधिक वर्षों के अनुभव के साथ एक सॉफ्टवेयर डेवलपर हूं। मैं मैक प्रोग्रामिंग में विशेषज्ञ हूं और विभिन्न मैक अनुप्रयोगों के लिए कोड की कई हजार लाइनें लिखी हैं, जिनमें शामिल हैं, लेकिन इन तक सीमित नहीं हैं: टेक्स्टएडिट, गैराजबैंड, आईमूवी और इंकस्केप। मुझे लिनक्स और विंडोज विकास का भी अनुभव है। एक डेवलपर के रूप में मेरे कौशल ने मुझे विभिन्न सॉफ़्टवेयर विकास प्लेटफ़ॉर्म के लिए उच्च-गुणवत्ता, व्यापक ट्यूटोरियल लिखने की अनुमति दी है - macOS से Linux तक - मेरे ट्यूटोरियल को उन लोगों के लिए सही विकल्प बनाता है जो उनके द्वारा उपयोग किए जा रहे टूल के बारे में अधिक जानना चाहते हैं।



Related posts