श्रृंखला में पिछले लेखों को पढ़ना सुनिश्चित करें:
- PowerShell के साथ विंडोज स्वचालित करने के लिए जानें
- PowerShell में Cmdlets का उपयोग करना सीखना
- PowerShell में ऑब्जेक्ट्स का उपयोग कैसे करें सीखना
और पूरे सप्ताह श्रृंखला के बाकी हिस्सों के लिए देखते रहें।
डिफ़ॉल्ट स्वरूपण
जब मैंने पहली बार पावरशेल के साथ शुरुआत की, मैंने सोचा कि सब कुछ जादू था, लेकिन सच्चाई यह है कि हुड के नीचे क्या हो रहा है यह समझने में थोड़ा सा समय लगता है। PowerShell स्वरूपण प्रणाली के लिए भी यही सच है। वास्तव में, यदि आप गेट-सर्विस cmdlet चलाते हैं, तो उत्पन्न आउटपुट केवल आपको 3 गुण दिखाता है: स्थिति, नाम और प्रदर्शन नाम।
notepad C:WindowsSystem32WindowsPowerShellv1.0DotNetTypes.format.ps1xml
अगर हम नोटपैड फ़ंक्शन का उपयोग करते हैं, तो हम सेवा अनुभाग नियंत्रक प्रकार की खोज करके गेट-सर्विस cmdlet के आउटपुट का विवरण देने वाले अनुभाग को तुरंत छोड़ सकते हैं।
अपने डेटा स्वरूपण
यदि आप किसी ऑब्जेक्ट या प्रकार के डिफ़ॉल्ट स्वरूपण से खुश नहीं हैं, तो आप अपना स्वयं का स्वरूपण रोल कर सकते हैं। ऐसा करने के लिए आपको जानने के लिए तीन cmdlets हैं।
- प्रारूप-सूची
- प्रारूप-टेबल
- स्वरूप वाइड
स्वरूप वाइड बस वस्तुओं का संग्रह लेता है और प्रत्येक वस्तु की एक एकल संपत्ति प्रदर्शित करता है। डिफ़ॉल्ट रूप से, यह एक नाम संपत्ति की तलाश करेगा; यदि आपकी ऑब्जेक्ट्स में नाम संपत्ति नहीं है, तो गुणों को क्रमबद्ध रूप से क्रमबद्ध करने के बाद यह ऑब्जेक्ट की पहली प्रॉपर्टी का उपयोग करेगा।
Get-Service | Format-Wide
Get-Service | Format-Wide -Property DisplayName -Column 6
यह सारणी दृश्य वास्तव में इस तरह की जानकारी को बहुत अच्छी तरह से उपयुक्त बनाता है, लेकिन हम दिखाते हैं कि हम इसे सूची रूप में देखना चाहते हैं। हमें बस इतना करना है कि इसे पाइप करें प्रारूप-सूची.
Get-Process | Format-List
Get-Process | Format-List –Property *
Get-Process | Format-List –Property name,id
प्रारूप-टेबल, दूसरी तरफ, डेटा लेता है और इसे एक टेबल में बदल देता है। चूंकि गेट-प्रोसेस से हमारा डेटा पहले से ही किसी तालिका के रूप में है, इसलिए हम तालिका में प्रदर्शित गुणों को आसानी से चुनने के लिए इसका उपयोग कर सकते हैं। मैंने एक ही स्क्रीन पर सभी डेटा फिट करने के लिए ऑटोसाइज़ पैरामीटर का उपयोग किया।
Get-Process | Format-Table name,id –AutoSize
फ़िल्टरिंग और तुलना करना
ऑब्जेक्ट-आधारित पाइपलाइन का उपयोग करने के बारे में सबसे अच्छी चीजों में से एक यह है कि आप कहां ऑब्जेक्ट cmdlet का उपयोग कर किसी भी स्तर पर पाइपलाइन से वस्तुओं को फ़िल्टर कर सकते हैं।
Get-Service | Where-Object {$_.Status -eq “Running”}
- ईक (समान)
- neq (बराबर नहीं)
- gt (ग्रेटर थान)
- जीई (ग्रेटर थान या बराबर)
- लेफ्टिनेंट (कम से कम)
- ले (कम से कम या बराबर)
- जैसे (वाइल्डकार्ड स्ट्रिंग मैच)
एक पूर्ण सूची और अधिक जानकारी about_comparison वैचारिक सहायता फ़ाइल में देखी जा सकती है, हालांकि इसे कहां-ओबेक्ट वाक्यविन्यास में उपयोग करने में कुछ समय लगता है। यह सब इस समय के लिए है!