2009-07-22 17 views
8

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

किसी अन्य कार्य मैं बाहर ले जा रहा था के लिए मैं PowerShell के साथ के बारे में खेलना शुरू कर दिया और बहुत प्रभावित था, जो मुझे मिला सोच क्या एक PowerShell स्क्रिप्ट और एक सांत्वना आवेदन के लाभ कर रहे हैं।

ऐसा लगता है कि पावरहेल स्क्रिप्ट को बिना किसी संकलन के फ्लाई पर संपादित किया जा सकता है जो इसे संभावित परिवर्तनों के लिए एक प्लस बनाता है, लेकिन ऐसी कमीएं होनी चाहिए जिन्हें मैं नहीं देख रहा हूं।

तो जब लोग एक PowerShell स्क्रिप्ट के लिए एक सांत्वना आवेदन की अदला-बदली की सलाह देंगे?

उत्तर

7

मुझे लगता है कि बेहतर तरीका यह सोचने के लिए किया जाता है, जब आप एक सांत्वना आवेदन किसे चुनेंगे?

यदि आप रक्तस्राव-एज रन-टाइम गति के बारे में चिंतित नहीं हैं, तो तीसरे पक्षों को वितरण (पावरशेल अभी तक काफी मानक नहीं है), या स्रोत कोड की सुरक्षा करने के बाद मुझे लगता है कि पावरशेल एक मजबूत दावेदार है।

वैसे, पावरशेल कॉम ऑब्जेक्ट्स को आउट-ऑफ-द-बॉक्स में हेरफेर कर सकता है ताकि कार्य-स्वचालन के मामले में यह .NET और COM- आधारित आधारभूत संरचना के बीच गोंद-कोड के रूप में काफी अच्छी तरह से काम करता है।

2

ठीक है, ऐसा लगता है जैसे अपने मामले बातें Powershell के लिए डिजाइन किया गया था के लिए एक लगभग सही फिट है। एकमात्र संभावित दोष जो मैं कल्पना कर सकता हूं वह यह है कि पावरहेल थोड़ा धीमा हो सकता है क्योंकि इसका अर्थ है और संकलित नहीं किया गया है और गति के लिए अनुकूलित नहीं किया गया बल्कि उपयोग में आसानी भी है।

1

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

5

मेरे लिए सबसे बड़ा लाभ संकलन प्रक्रिया खो रहा है और द्विआधारी से बाहर निकलना है। मैं आपको एक उदाहरण दूंगा। मेरे पास एक ऐसा एप्लीकेशन था जिसका उपयोग विजुअल स्टूडियो प्राइवेट असेंबली फ़ोल्डर, ऐप इंस्ट्रूमेंट बाइनरी से हुआ और हमारे कंपेल प्रक्रिया के दौरान यूनिट टेस्ट चला गया। जब वीएस 2008 बाहर आया, तो मुझे संसाधनों को बदलना, फिर से संकलित करना पड़ा, और फिर हमारे सभी बिल्ड सर्वरों को द्विआधारी रोल करना होगा। मैंने फैसला किया कि यह बेवकूफ था, और पावरशेल पर स्विच किया गया था, इसलिए अब मेरी लिपि बताती है कि vsts का कौन सा संस्करण स्थापित है और उच्चतम संस्करण वाले डीएल में लोड होता है। अब आप इसे प्रतिबिंब और देर से बाध्यकारी और सामान का उपयोग करके एक ऐप में कर सकते हैं लेकिन यह PowerSHell में बहुत आसान है, और जब हम बाइनरी जोड़ते हैं या बाइनरी को हटाते हैं जिसे हमें उपकरण की आवश्यकता होती है तो प्रत्येक रिलीज एनजिनर स्क्रिप्ट को तुरंत टेक्स्ट एडिटर में संशोधित कर सकता है । छोटा सा इन-हाउस एप्लिकेशन के लिए मैं हमेशा PowerShell अब ...

1

अनिवार्य रूप से मुक्त पैरामीटर पार्स है, जो और भी बेहतर V2 में उन्नत कार्यों के साथ हो जाता है के मूल्य को कम मत समझना। आपके द्वारा लिखे गए सभी छोटे कंसोल ऐप्स के बारे में सोचें और उस कोड का कितना कुछ दिलचस्प बनाम पैरामीटर पार्सिंग है। यह भी सोचें कि आप पैरामीटर पार्सिंग को कितनी अच्छी तरह से संभालते हैं? क्या आप स्थितित्मक बनाम नामित पैरामीटर को संभालते हैं? पैरामीटर सत्यापन के बारे में कैसे? डिफ़ॉल्ट पैरामीटर मान? प्रतिक्रिया फाइलों के बारे में कैसे? जबकि पोश एक शाब्दिक अर्थ में प्रतिक्रिया फ़ाइलों का समर्थन नहीं करता है, वी 2 में, एक स्पैटरिंग ऑपरेटर है जो आपको सरणी या हैशटेबल में पैरामीटर पैकेज करने की अनुमति देता है - बहुत समान क्षमता।

कुछ बिंदु पर OTOH मेरी स्क्रिप्ट बहुत बड़ा हो रही शुरू होता है और मैं लागू कर रहा हूँ।सीएमडीलेट से अधिक नेट कोड, मैं काम करने के लिए एक cmdlet लिखने के बारे में सोचना शुरू करता हूं। वीएस डीबगर अभी भी वी 2 डीबग क्षमताओं से भी बेहतर है।

संबंधित मुद्दे