होम उपयोगकर्ताओं के लिए पॉवरशेल का उपयोग करना - एक शुरुआती गाइड
कौन नहीं चाहता है कि वे एक जादूगर हो और जादुई बातें होने के लिए कुछ शब्दों का उच्चारण करें? ठीक है, हम आपको यह दिखाने में सक्षम नहीं हैं कि विज़ार्ड कैसे हो सकता है, लेकिन हम आपको दिखा सकते हैं कि थोड़ा कंप्यूटर जादू कैसे किया जाता है।
अगर आपको इस पर विंडोज 7 वाला विंडोज कंप्यूटर नहीं मिला है, तो आपको पावरशेल मिल जाएगा। इसके अलावा, यदि आपके पास इस पर विंडोज 7 वाला कंप्यूटर है, तो कृपया इसे सुरक्षा के लिए अपडेट करें।
<आंकड़ा वर्ग = "lazy aligncenter">
लेकिन यह लेख सिर्फ विंडोज लोगों के लिए नहीं है। PowerShell का नवीनतम संस्करण मुफ़्त है और इसे Mac और Linux कंप्यूटर पर स्थापित और उपयोग किया जा सकता है।
यह महत्वपूर्ण है क्योंकि आप PowerShell के बारे में जो सीखते हैं उसका उपयोग अब लगभग किसी भी कंप्यूटर पर किया जा सकता है। कौन जाने? आप इस कौशल को अगले स्तर तक ले जा सकते हैं और सूचना प्रौद्योगिकी के क्षेत्र में करियर बना सकते हैं।
क्या है PowerShell?
Microsoft का उच्च-तकनीकी उत्तर है कि यह एक है, " ... कमांड-लाइन शेल विशेष रूप से सिस्टम प्रशासक के लिए डिज़ाइन किया गया है। लेकिन ऐसा नहीं है। क्या आप अपने कंप्यूटर का ख्याल रखते हैं? हां, तब आप अपने घर में सिस्टम एडमिनिस्ट्रेटर हैं।
क्या आप अपने कंप्यूटर को बताते हैं कि क्लिक और कीस्ट्रोक्स के साथ क्या करना है? हां, इसलिए कमांड-लाइन शेल को सिर्फ एक और खिड़की के रूप में सोचें जो आप अपने कंप्यूटर को क्या करना है, यह बताने के लिए चीजें टाइप करते हैं। आप ऐसा कर सकते हैं।
In_content_1 all: [300x250] / dfp: [640x360]->
PowerShell एक प्रोग्रामिंग भाषा की तरह है, लेकिन अधिकांश के रूप में गूढ़ नहीं है। यह वास्तव में नियमित अंग्रेजी की तरह बहुत कुछ पढ़ता है, जो कि माइक्रोसॉफ्ट के लिए कुछ था, ताकि इसे गैर-प्रोग्रामर द्वारा उठाया जा सके।
यह विंडोज ऑपरेटिंग सिस्टम को कुछ ऐसा करने के लिए आदेशों की कुछ पंक्तियों को लिखने का एक तरीका है, जिसे एक स्क्रिप्ट कहा जाता है, जो आप करना चाहते हैं। फिर, आप उन पंक्तियों को एक फ़ाइल में सहेज सकते हैं और इसे एक क्लिक के साथ चला सकते हैं या इसे समय-समय पर चलाने के लिए शेड्यूल कर सकते हैं।
आप PowerShell के साथ क्या कर सकते हैं?
का उच्च-स्तरीय बिंदु PowerShell कार्यों को स्वचालित करने में सक्षम है, इसलिए आपको बार-बार सांसारिक चीजों को करने में अपना समय बर्बाद करने की आवश्यकता नहीं है। एक पेशेवर सिस्टम प्रशासक के लिए, जो नए उपयोगकर्ता बनाने, उनके लिए पासवर्ड बनाने और उनके नए पर्यवेक्षक को विवरण के साथ ई-मेल भेजने जैसा कुछ हो सकता है।
मैन्युअल रूप से किए गए, क्लिक और टाइपिंग के साथ, उस प्रक्रिया में एक घंटे या अधिक से अधिक 5 मिनट लग सकते हैं। सही स्क्रिप्ट के साथ, सिस्टम एडमिनिस्ट्रेटर को भी इसका कोई हिस्सा नहीं करना पड़ सकता है।
लेकिन आप जानना चाहते हैं कि आप घर पर पॉवरशेल के साथ क्या कर सकते हैं। बहुत कुछ जो आप बार-बार करने की तरह नहीं करते हैं। अपनी हार्ड ड्राइव पर स्थान खाली करने के लिए इसका उपयोग अस्थायी और लॉग फ़ाइलों को हटाकर करें जिनकी आपको आवश्यकता नहीं है।
अपने बच्चे के कंप्यूटर पर कर्फ्यू लगाएं। फ़ाइलों का एक समूह का नाम बदलें या व्यवस्थित करें। यह PowerShell की सुंदरता है। लगभग कुछ भी आप अपने कंप्यूटर पर कर सकते हैं, आप एक क्लिक पर या एक कार्यक्रम के साथ स्वचालित और चलाने के लिए एक पॉवरशेल स्क्रिप्ट बना सकते हैं।
मैं PowerShell का उपयोग कैसे करूं?
PowerShell के साथ काम करने का सबसे आसान तरीका PowerShell एकीकृत स्क्रिप्टिंग वातावरण (ISE)है। आप इसे विंडोज 10 में सर्च बार में स्टार्ट और टाइपिंग powerhell iseपर क्लिक करके पा सकते हैं। आपको इसे नीचे दिखाए गए अनुसार देखना चाहिए।
<आंकड़ा वर्ग =" आलसी संरेखण ">आकृति>
पहली बार जब हम इसका उपयोग करते हैं, तो हम इसे व्यवस्थापक के रूप में चलाने जा रहे हैं। ऐसा करने के लिए, आपको पहले अपने कंप्यूटर पर व्यवस्थापक अधिकार होना चाहिए। अपने प्रारंभ मेनूमें, PowerShell ISEपर राइट-क्लिक करें, फिर व्यवस्थापक के रूप में चलाएँपर क्लिक करें।
<आंकड़ा वर्ग = "आलसी संरेखण">
आपको एक <मिल सकता है। मजबूत>UserAccess नियंत्रण(UAC) पॉप-अप को चेतावनी देते हुए पूछ रहा है कि क्या आप सुनिश्चित हैं कि आप डॉथिस करना चाहते हैं। हां।
<आंकड़ा वर्ग = "आलसी संरेखण">figure div>
अब आप PowerShell IDE देख रहे हैं। विंडो का शीर्ष फलक (1)स्क्रिप्टिंग फलक है। यह वह जगह है जहाँ आप अपनी स्क्रिप्ट लिखेंगे। विंडो का निचला फलक (2)कंसोल क्षेत्र है। जब आप अपनी स्क्रिप्ट का परीक्षण करते हैं, तो आपको इस फलक में आउटपुट दिखाई देगा।
यह वह जगह है जहाँ आप त्रुटि संदेश देखेंगे और इस तरह से आपको ठीक करने और आपकी स्क्रिप्ट को बेहतर बनाने में मदद मिलेगी। विंडो के दाईं ओर फलक (3)कमांड ऐड-ऑन है। इसे आप के लिए उपलब्ध सभी पॉवरशेल कमांड के शब्दकोश के रूप में सोचें।
<आंकड़ा वर्ग = "lazy aligncenter">/ आंकड़ा>
PowerShell थिसली के अलावा विंडोज के एक भाग के अलावा किसी भी स्क्रिप्ट को चलाने के लिए सेट नहीं है। आपको इसे बदलने की आवश्यकता होगी ताकि आप यूनो स्क्रिप्ट को चला सकें।
स्क्रिप्टिंग विंडो में, निम्नलिखित को कॉपी और पेस्ट करें:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
सेट-एक्ज़ीक्यूशन Policyइसके हिस्से को cmdlet (उच्चारण कमांडलेट) कहा जाता है। Cmdlets शक्तिशाली चीजें हैं। उन्हें छोटे कमांड के रूप में सोचें जो आप विंडोज दे सकते हैं, और विंडोज आपके कमांड को संतुष्ट करने के लिए अधिक जटिल सामान का एक गुच्छा करेगा।
एक सादृश्य अपने बच्चे को अपने कमरे को साफ करने के लिए कह रहा होगा। संक्षिप्त एवं सटीक। यदि आपका बच्चा कमरे की सफाई में अच्छी तरह से वाकिफ है, तो वे जाकर अपना बिस्तर बनाएंगे, अपने कपड़े धोने की टोकरी में रखेंगे, अपने खिलौनों और किताबों को आश्रय देंगे, और शायद फर्श को भी खाली कर देंगे। वे समझते हैं कि cmdlet Clean-YourRoom का मतलब सब कुछ है।
विंडो के शीर्ष पर, आपको एक हरा तीर दिखाई देगा। कमांड चलाने के लिए उस पर क्लिक करें।
<आंकड़ा वर्ग = "आलसी संरेखण">
- ExecutionPolicyहिस्सा बता रहा है Set-ExecutionPolicyक्या पॉलिसी सेट करनी है। यह एक पैरामीटर है। यह कह रहा है, "मैं चाहता हूं कि आप इन दिशानिर्देशों के भीतर काम करें और विशेष रूप से ऐसा करें। यह इसे RemoteSigned की विशिष्ट नीति का उपयोग करने के लिए कहता है।
RemoteSignedनीति में कहा गया है कि PowerShell किसी भी स्क्रिप्ट को तब तक निष्पादित या चला नहीं सकता है, जब तक कि उसे किसी विश्वसनीय प्रकाशक द्वारा हस्ताक्षरित न कर दिया गया हो।
एक राउंडअबाउट तरीके से, यह पॉवरशेल को बताता है कि स्थानीय रूप से बनाई गई किसी भी स्क्रिप्ट को चलाने के लिए यह ठीक है, क्योंकि उन लोगों को दूरस्थ विश्वसनीय प्रकाशक द्वारा हस्ताक्षरित करने की आवश्यकता नहीं है। अब, आपकी PowerShell स्क्रिप्ट आपके कंप्यूटर पर आपके द्वारा लिखी गई किसी भी स्क्रिप्ट को चलाने में सक्षम होगी।
अस्थायी फ़ाइलों को हटाने के लिए स्क्रिप्ट पर नजर डालें। यह CCleaner के रूप में शक्तिशाली या पूरी तरह से नहीं है, लेकिन CCleaner अपने स्वयं के सेट के साथ आता है।
अपने हार्ड ड्राइव पर स्थान बनाने के लिए PowerShell का उपयोग करें
हम इस स्क्रिप्ट को तोड़ देंगे, लाइन से लाइन, ताकि आप देख सकते हैं यह काम करता है। अंत में, स्क्रिप्ट पूरी तरह से दिखाई जाएगी, इसलिए यदि आप चाहें, तो आप इसे कॉपी पेस्ट कर सकते हैं।
इसके सामने एक डॉलर चिह्न के साथ कुछ भी एक चर नाम है । बहुमूल्य सामान लगाने के लिए एक वॉलेट की तरह सोचें। वॉलेट हमें डॉलर के संकेत की याद दिलाता है, कीमती सामान चर की तरह लगता है, इसलिए हमें वह भी याद होगा। हम $ TempFileLocationनाम से एक वॉलेट या चर बना रहे हैं। समान चिह्न PowerShell को बताता है कि उस चर में क्या डाला जाना है।
इस मामले में, हम Windows के अस्थायी फ़ाइलों के स्थान में डाल रहे हैं - C: \ Users \ उपयोगकर्ता नाम \ AppData \ स्थानीय \ अस्थायी \ *। हम दो कारणों से ऐसा कर रहे हैं; यह वह स्थान है जो फ़ाइलों को हटाने के लिए हमेशा सुरक्षित होता है, और हम इसका उपयोग PowerShell को बताने के लिए करने के लिए जा रहे हैं, जहाँ इसे फ़ाइलों को हटाने के लिए जाना चाहिए।
जहाँ यह उपयोगकर्ता को उपयोगकर्ता नाम से कहता है, इसे अपने उपयोगकर्ता के लिए स्वैप करें। नाम। उपयोगकर्ता का वह नाम जिसे आप अपने कंप्यूटर पर लॉगिन करने के लिए उपयोग करते हैं। टिट के अंत में तारांकन (*) एक वाइल्ड कार्ड है। यह फ़ोल्डर में सब कुछ का प्रतिनिधित्व करता है Temp, क्योंकि Temp फ़ोल्डर में सब कुछ अस्थायी है जिसे हम इसे हटाना चाहते हैं।
स्थान के आसपास दोहरे उद्धरण भी महत्वपूर्ण है। Thattells PowerShell कि इसमें क्या स्ट्रिंग है। स्ट्रिंग को एक स्ट्रिंगो अक्षर और वर्ण के रूप में सोचें। यदि यह सामान्य संख्याएँ होतीं, तो हम thequotes का उपयोग नहीं करते।
हम दूसरा चर बना रहे होते हैं। इस बार हम $ TempFileचर में डालने के लिए कुछ के साथ आने के लिए एक कमांड का उपयोग करने जा रहे हैं।
Get-ChildItem
एक और बात आप करेंगे। cmdlets जैसे Get-ChildItemके बारे में सूचना यह है कि यह पूरी तरह से पठनीय है। देखें कि पहला शब्द एक क्रिया कैसे है? Cmdlets सभी क्रिया शब्दों से शुरू होती है, इसलिए आप तुरंत जानते हैं कि यह क्या कर रहा है। ChildItem दो संज्ञाएं हैं।
cmdlet का दूसरा भाग हमेशा हमें यह बताने वाला है कि PowerShell क्या कार्रवाई लागू करेगा। चाइल्डइम का अर्थ होता है, मूल स्थान के सभी बच्चे। यह कहने की तरह है कि एक फ़ोल्डर में सभी फाइलें प्राप्त करें, जिसमें बच्चे हैं और फ़ोल्डर माता-पिता हैं।
cmdlet किस बच्चे की वस्तुएं प्राप्त कर रहा है? चर $ TempFileLocationमें सब कुछ। PowerShell उस स्थान पर जाने वाला है, जिसे हमने पहले TempFileLocation में रखा था और वहां मौजूद सभी बाल वस्तुओं को प्राप्त किया। फिर, यह उन्हें चर $ TempFileमें डाल देगा।
तो, -Recurseभाग के साथ क्या है? उस स्थान में हर चीज से गुजरने के लिए यह कहना गेट-चाइल्ड इटहै। केवल मूल फ़ोल्डर के अंदर तुरंत फ़ाइलें प्राप्त न करें। यदि उस फ़ोल्डर में फ़ोल्डर हैं, तो उनके सभी बच्चों को भी प्राप्त करें, और उनके बच्चों को और इसी तरह। हम उन सभी को प्राप्त करने जा रहे हैं।
$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 \ *"। अंत में पैरामीटर, - फ़ोरग्राउंडरक्लोरपाठ को हरा बनाने के लिए पॉवरशेल को बताता है। यह सिर्फ एक त्रुटि संदेश से अंतर करना आसान बनाता है जो सामान्य रूप से लाल होता है।
Else
आप जानते हैं कि और क्या मतलब है। यह है कि, "आपका कमरा बेहतर साफ है या फिर ..." अगर आपके बच्चे ने अपने कमरे को साफ किया है तो जाँच का हिस्सा है। यदि $ TempFileCountशून्य नहीं है तो यह क्या होगा।
यह कहता है कि वर्तमान स्थान पर जाएं $ TempFile। इसके बाद की खड़ी रेखा को पाइप कहा जाता है। यह एक वास्तविक जीवन पाइप की तरह कार्य करता है क्योंकि यह PowerShell को cmdlet में $ TempFile की सामग्री को फ़नल करने के लिए कहता है, जैसे कि यह पानी को वाशिंग मशीन में पाइप किया जा रहा था। फिर cmdlet निकालें-आइटमजो कहता है वह करता है; यह उस स्थान पर जो कुछ भी है उसे हटा देता है। इस चरण में
-WhatIfपैरामीटर बहुत महत्वपूर्ण है। यह PowerShell को कमांड चलाने के लिए कहता है, लेकिन केवल इसे आज़माएं, कुछ भी न निकालें। बस हमें दिखाओ कि अगर वास्तव में हमने ऐसा किया तो क्या होगा।
यह आपको अपने कंप्यूटर पर कुछ भी बदले बिना कमांड का परीक्षण करने की अनुमति देता है। जब तक आप सहज नहीं हो जाते, तब तक वहां क्या-क्या छोड़ें। स्क्रिप्ट वह करने जा रही है जो आप करना चाहते हैं और कुछ नहीं। फिर बस उसे हटा दें और स्क्रिप्ट अपना काम करेगी।
<आंकड़ा वर्ग = "आलसी एलाइनकेंटर">>
पैरामीटर -Confirm: $ falseस्क्रिप्ट को यह पूछने से रोकता है कि क्या आप वास्तव में फ़ाइल को हटाना चाहते हैं। आप जानते हैं कि -Recurseक्या करता है। -Forceका अर्थ है कि उस चीज़ को हटा दें, जो कुछ भी हो। -WarningActionSilentlyContinueपर सेट है।
यह स्क्रिप्ट को आपको चेतावनी देने से रोकता है कि आप क्या हटा रहे हैं। -ErrorActionको SilentlyContinueपर सेट किया जाता है ताकि यदि प्रक्रिया में किसी भी प्रकार की त्रुटि हो, तो यह बस साथ-साथ चलता रहता है।
अब हम यहां हैं। अंतिम पंक्ति।
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}
ठीक वैसे ही जैसे लिखो-मेजबानने पहली बार किया, यह निम्नलिखित वाक्य को आउटपुट करने वाला है, इसलिए हम जानते हैं कि क्या हुआ है । यह हमें बताएगा कि इसे संसाधित किए गए फ़ोल्डर से कितनी फ़ाइलों को हटा दिया गया है और इसे हरे रंग में करना है ताकि इसे आसानी से स्पॉट किया जा सके।
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 में कॉपी और पेस्ट कर सकते हैं और इसे कुछ इस तरह से सहेज सकते हैं जैसे delete-TemporaryFiles.ps1। अब आप cmdlets के नामकरण सम्मेलन के साथ चिपक सकते हैं, जिसे आप उन्हें समझते हैं।
यदि कोड आपके लिए किसी कारण से काम नहीं कर रहा है, तो आप भी बना सकते हैं। बस इसे चलाओ। स्क्रिप्ट फ़ाइल देखने के लिए पहले इसे अनज़िप करें।
जब भी आप इस स्क्रिप्ट को चलाना चाहते हैं, तो बस उस पर राइट-क्लिक करें और चुनें PowerShell के साथ चलाएँ। एक PowerShell कंसोल एक या दो सेकंड के लिए पॉप अप होगा, जबकि आपकी स्क्रिप्ट अपना काम करती है, और फिर कोई त्रुटि नहीं होने पर गायब हो जाएगी।
<आंकड़ा वर्ग = "आलसी एलाइनकेंटर">
मैं अधिक पावरस् लेल कहां सीख सकता हूं?
जो बहुत कुछ लगता है! आपकी पहली PowerShell स्क्रिप्ट के लिए यह एक उचित बिट है। यदि आपने इसे अभी तक बनाया है, तो अपने आप को सराहें। आपने आज बहुत कुछ सीखा है, लेकिन अब आप और अधिक सीखना चाहते हैं। एक दम बढ़िया!