गीक स्कूल: पावरशेल में ऑब्जेक्ट्स का उपयोग कैसे करें सीखना

विषयसूची:

गीक स्कूल: पावरशेल में ऑब्जेक्ट्स का उपयोग कैसे करें सीखना
गीक स्कूल: पावरशेल में ऑब्जेक्ट्स का उपयोग कैसे करें सीखना

वीडियो: गीक स्कूल: पावरशेल में ऑब्जेक्ट्स का उपयोग कैसे करें सीखना

वीडियो: गीक स्कूल: पावरशेल में ऑब्जेक्ट्स का उपयोग कैसे करें सीखना
वीडियो: How to check the RAM type DDR3 or DDR4 in Windows 10 - YouTube 2024, मई
Anonim
वस्तुओं को समझना PowerShell "प्राप्त करने" के लिए मौलिक अवधारणाओं में से एक है। हमारे साथ जुड़ें क्योंकि हम ऑब्जेक्ट्स का पता लगाते हैं और आज वे किसी अन्य शेल की तुलना में पावरशेल को बेहतर कैसे बनाते हैं।
वस्तुओं को समझना PowerShell "प्राप्त करने" के लिए मौलिक अवधारणाओं में से एक है। हमारे साथ जुड़ें क्योंकि हम ऑब्जेक्ट्स का पता लगाते हैं और आज वे किसी अन्य शेल की तुलना में पावरशेल को बेहतर कैसे बनाते हैं।

श्रृंखला में पिछले लेखों को पढ़ना सुनिश्चित करें:

  • PowerShell के साथ विंडोज स्वचालित करने के लिए जानें
  • PowerShell में Cmdlets का उपयोग करना सीखना

और पूरे सप्ताह श्रृंखला के बाकी हिस्सों के लिए देखते रहें।

वस्तुओं

क्या आपने कभी सोचा है कि PowerShell को पारंपरिक लिनक्स शैल के अलावा बैश, या यहां तक कि विरासत कमांड प्रॉम्प्ट के अलावा सेट करता है? जवाब वास्तव में सरल है: परंपरागत गोले आउटपुट टेक्स्ट, जो फ़ॉर्मेटिंग और फ़िल्टरिंग जैसी चीजों को करना मुश्किल बनाता है। निस्संदेह, नौकरी पाने में आपकी मदद करने के लिए उपकरण हैं (sed और grep दिमाग में आते हैं), लेकिन दिन के अंत में, यदि आप किसी भी तरह का भारी टेक्स्ट पार्सिंग करना चाहते हैं, तो आपको नियमित अभिव्यक्तियों को जानना होगा अपने हाथ की पीठ

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

Image
Image

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

आप गेट-सदस्य cmdlet को पास करके ऑब्जेक्ट की गुणों और विधियों को देख सकते हैं। ऑब्जेक्ट्स जो PowerShell cmdlet आउटपुट नेट फ्रेमवर्क से काफी हद तक अंतर्निहित प्रकार हैं, लेकिन यदि आप सी # जैसी भाषा का उपयोग करने की आवश्यकता है या PSObject प्रकार का उपयोग करने की आवश्यकता है तो आप अपनी खुद की वस्तुओं को बना सकते हैं।
आप गेट-सदस्य cmdlet को पास करके ऑब्जेक्ट की गुणों और विधियों को देख सकते हैं। ऑब्जेक्ट्स जो PowerShell cmdlet आउटपुट नेट फ्रेमवर्क से काफी हद तक अंतर्निहित प्रकार हैं, लेकिन यदि आप सी # जैसी भाषा का उपयोग करने की आवश्यकता है या PSObject प्रकार का उपयोग करने की आवश्यकता है तो आप अपनी खुद की वस्तुओं को बना सकते हैं।

पाइपलाइन

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

Get-Service | Get-Member

Image
Image

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

System.ServiceProcess.ServiceController

चूंकि पावरशेल ऑब्जेक्ट्स से संबंधित है और पाठ नहीं, पाइपलाइन [1] का उपयोग करके सभी cmdlets को एक साथ जोड़ा जा सकता है। इसका मतलब है कि हमें एक cmdlet खोजने की आवश्यकता है जो पाइपलाइन से System.ServiceProcess.ServiceController ऑब्जेक्ट को स्वीकार करने की तलाश में है।

Get-Command -ParameterType System.ServiceProcess.ServiceController

ध्यान दें कि स्टॉप-सर्विस नामक एक cmdlet है; आइए इसके लिए मदद देखें।
ध्यान दें कि स्टॉप-सर्विस नामक एक cmdlet है; आइए इसके लिए मदद देखें।

Get-Help –Name Stop-Service

ऐसा लगता है कि इनपुट ऑब्जेक्ट पैरामीटर सर्विस कंट्रोलर ऑब्जेक्ट्स की एक सरणी इनपुट के रूप में लेता है। आमतौर पर, यदि आप इनपुट ऑब्जेक्ट नामक पैरामीटर देखते हैं, तो यह पाइपलाइन से इनपुट स्वीकार करेगा, लेकिन यह सुनिश्चित करने के लिए कि चलिए उस पैरामीटर के लिए पूरी मदद देखें।
ऐसा लगता है कि इनपुट ऑब्जेक्ट पैरामीटर सर्विस कंट्रोलर ऑब्जेक्ट्स की एक सरणी इनपुट के रूप में लेता है। आमतौर पर, यदि आप इनपुट ऑब्जेक्ट नामक पैरामीटर देखते हैं, तो यह पाइपलाइन से इनपुट स्वीकार करेगा, लेकिन यह सुनिश्चित करने के लिए कि चलिए उस पैरामीटर के लिए पूरी मदद देखें।

Get-Help -Name Stop-Service –Full

हमारे संदेह सही थे। तो इस बिंदु पर हम निम्नलिखित जानते हैं:
हमारे संदेह सही थे। तो इस बिंदु पर हम निम्नलिखित जानते हैं:
  • गेट-सर्विस सर्विस कंट्रोलर ऑब्जेक्ट देता है
  • स्टॉप-सर्विस में इनपुट ऑब्जेक्ट नामक एक पैरामीटर है जो एक या अधिक सर्विस कंट्रोलर इनपुट के रूप में स्वीकार करता है।
  • इनपुट ऑब्जेक्ट पैरामीटर पाइपलाइन इनपुट स्वीकार करता है।

इस जानकारी का उपयोग करके हम निम्नलिखित कर सकते हैं:

Get-Service -Name ‘Apple Mobile Device’ | Stop-Service

यह सब लोग इस समय के लिए है। अगली बार जब हम पाइपलाइन में वस्तुओं को प्रारूपित, फ़िल्टर और तुलना कर सकते हैं, तो हम देखते हैं।
यह सब लोग इस समय के लिए है। अगली बार जब हम पाइपलाइन में वस्तुओं को प्रारूपित, फ़िल्टर और तुलना कर सकते हैं, तो हम देखते हैं।

घर का पाठ

ऑब्जेक्ट पाइपलाइन पर पढ़ें

यदि आपके कोई प्रश्न हैं तो आप मुझे @taybgibb ट्वीट कर सकते हैं, या बस एक टिप्पणी छोड़ सकते हैं।

सिफारिश की: