पॉवरशेल में स्टेटमेंट का उपयोग करना

Povarasela Mem Stetamenta Ka Upayoga Karana



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

यह आलेख PowerShell में 'उपयोग' कथन के विभिन्न पहलुओं का पता लगाएगा, जिसमें इसके वाक्यविन्यास, उद्देश्य और व्यावहारिक अनुप्रयोग शामिल हैं।







कथन का 'उपयोग' करने का उद्देश्य

'उपयोग' कथन आपको यह निर्दिष्ट करने देता है कि सत्र में कौन से नामस्थान का उपयोग किया जाता है। नेमस्पेस जोड़कर, आप स्क्रिप्ट मॉड्यूल और असेंबली से कक्षाएं आयात कर सकते हैं और .NET कक्षाओं और सदस्यों के उपयोग को सरल बना सकते हैं।



कथन का 'उपयोग' करना आवश्यक है

  • 'उपयोग' कथन किसी अन्य स्क्रिप्ट या मॉड्यूल कथन से पहले दिखना चाहिए। इसके पहले पैरामीटर सहित कोई भी टिप्पणी न किया गया कथन नहीं हो सकता।
  • कोई भी चर 'उपयोग' कथन में मौजूद नहीं होना चाहिए।
  • 'उपयोग' कथन को चर के लिए 'उपयोग:' स्कोप संशोधक के साथ भ्रमित नहीं किया जाना चाहिए। वे दोनों अपने उद्देश्य और अर्थ में भिन्न हैं।

'उपयोग' कथन का सिंटैक्स



'उपयोग' कथन का सिंटैक्स है:





नेमस्पेस का उपयोग करना < .NET-नेमस्पेस >

आइए निम्नलिखित उदाहरण का अवलोकन करें:



नेमस्पेस System.IO का उपयोग करना

$बाइट्स = [ फ़ाइल ] ::सभी बाइट्स पढ़ें ( 'D:\c शार्प\Linuxhint1.txt' )
[ फाइल के बारे में ] ::नया ( 'D:\c शार्प\Linuxhint1.txt' )

उपरोक्त कोड में, हमने पहले नेमस्पेस 'System.IO' निर्दिष्ट किया था। प्रोग्राम की दूसरी पंक्ति, [फ़ाइल]::रीडऑलबाइट्स('डी:सी शार्पलिनक्सहिंट1.txt'), आपूर्ति की गई फ़ाइल से प्रत्येक बाइट को पढ़ती है और उन्हें $बाइट्स वेरिएबल में रखती है। तीसरी पंक्ति में, [FileInfo]::new('D:c शार्पLinuxhint1.txt') FileInfo वर्ग का एक नया उदाहरण बनाता है और FileInfo ऑब्जेक्ट लौटाता है।

मॉड्यूल के लिए 'उपयोग' कथन

हम मॉड्यूल की कक्षाओं को लोड करने के लिए 'उपयोग' कथन का भी उपयोग कर सकते हैं।

वाक्य - विन्यास

मॉड्यूल का उपयोग करना < मोड्यूल का नाम >

इस सिंटैक्स में, '<मॉड्यूल-नाम>', एक पूर्ण मॉड्यूल विनिर्देश, या मॉड्यूल फ़ाइल के पथ का उपयोग 'मॉड्यूल नाम' के मान के रूप में किया जा सकता है।

जब 'मॉड्यूल-नाम>' एक पथ हो तो आप पूरी तरह से योग्य या सापेक्ष पथ का उपयोग कर सकते हैं। जब किसी स्क्रिप्ट में 'उपयोग' कथन मौजूद होता है, तो उस स्क्रिप्ट में एक सापेक्ष पथ हल हो जाता है।

PowerShell PSModulePath में आपूर्ति किए गए मॉड्यूल की तलाश करता है जब '<मॉड्यूल-नाम>' एक नाम या मॉड्यूल विनिर्देश है। निम्नलिखित कुंजियाँ हैशटेबल बनाती हैं जो एक मॉड्यूल विनिर्देश है:

मोड्यूल का नाम - आवश्यक। विचाराधीन मॉड्यूल का नाम बताएं.

वैकल्पिक गाइड - मॉड्यूल की GUID निर्दिष्ट करता है।

इसके अतिरिक्त, आपको नीचे सूचीबद्ध तीन कुंजियों में से एक को निर्दिष्ट करना होगा।

मॉड्यूल संस्करण - मॉड्यूल का न्यूनतम स्वीकार्य संस्करण 'मॉड्यूलवर्जन' संपत्ति के माध्यम से निर्दिष्ट किया गया है।

अधिकतमसंस्करण - मॉड्यूल के उच्चतम स्वीकार्य संस्करण को परिभाषित करता है।

आवश्यक संस्करण - 'RequiredVersion' का उपयोग करके मॉड्यूल का सटीक, आवश्यक संस्करण निर्धारित करता है। इसके साथ अन्य संस्करण कुंजियों का उपयोग नहीं किया जा सकता है।

बाइनरी मॉड्यूल या स्क्रिप्ट मॉड्यूल का रूट मॉड्यूल (ModuleToProcess) 'उपयोग' मॉड्यूल घोषणा द्वारा आयात किया जाता है। नेस्टेड मॉड्यूल या स्क्रिप्ट में निर्दिष्ट कक्षाएं जो मॉड्यूल में डॉट-सोर्स की गई हैं, विश्वसनीय रूप से आयात नहीं की जाती हैं। कोई भी वर्ग जिसे आप मॉड्यूल के बाहर के उपयोगकर्ताओं के लिए उपलब्ध कराना चाहते हैं, उसे रूट मॉड्यूल में निर्दिष्ट किया जाना चाहिए।

यहाँ एक उदाहरण है:

मॉड्यूल PSReadline का उपयोग करना

असेंबली के लिए कथन का 'उपयोग' करना

'उपयोग' कथन का उपयोग .NET असेंबली से प्रकारों को प्रीलोड करने के लिए भी किया जा सकता है।

वाक्य - विन्यास

असेंबली का उपयोग करना < .NET-असेंबली-पथ >

इस सिंटैक्स में, जब एक असेंबली लोड की जाती है, तो उस असेंबली से .NET प्रकार को पार्स करने से पहले स्क्रिप्ट में प्रीलोड किया जाता है। परिणामस्वरूप, नई पॉवरशेल कक्षाएं विकसित करना संभव है जो प्रीलोडेड असेंबली प्रकारों का उपयोग करती हैं।

'असेंबली' के साथ 'उपयोग' कथन को लागू करने का एक उदाहरण देखें:

असेंबली System.Windows.Forms का उपयोग करना

इस कमांड में, हमने असेंबली लोड की है ' सिस्टम.विंडोज.फॉर्म” PowerShell में 'उपयोग' कथन का उपयोग करके।

हैशटेबल कुंजियों के लिए 'उपयोग' कथन

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

स्ट्रिंग के लिए क्रिप्टोग्राफ़िक हैश ' लिनक्ससंकेत! 'निम्नलिखित स्क्रिप्ट के माध्यम से प्राप्त किया गया है:

नेमस्पेस System.Text का उपयोग करना
नेमस्पेस System.IO का उपयोग करना [ डोरी ] $स्ट्रिंग = 'लिनक्सहिंट!'
[ डोरी ] $एल्गोरिदम = 'SHA1'

[ बाइट [ ] ] $स्ट्रिंगबाइट्स = [ यूनिकोड एन्कोडिंग ] ::यूनिकोड.गेटबाइट्स ( $स्ट्रिंग )

[ धारा ] $मेमोरीस्ट्रीम = [ मेमोरीस्ट्रीम ] ::नया ( $स्ट्रिंगबाइट्स )
$हैशफ्रॉमस्ट्रीम = Get-FileHash -आगत प्रवाह $मेमोरीस्ट्रीम `
-कलन विधि $एल्गोरिदम
$हैशफ्रॉमस्ट्रीम .हैश.टूस्ट्रिंग ( )

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

बाइट सरणी की सामग्री का उपयोग तब 'बनाने के लिए किया जाता है' मेमोरीस्ट्रीम ”। मेमोरीस्ट्रीम से हैश मान की गणना 'SHA1' एल्गोरिदम का उपयोग करके की जाती है Get-FileHash “सी.एम.डी.लेट. स्क्रिप्ट प्राप्त हैश मान को आउटपुट में एक स्ट्रिंग के रूप में प्रिंट करके समाप्त होती है।

उत्पादन

निष्कर्ष

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