आप PowerShell का उपयोग कैसे करते हैं?

Windows PowerShell came out last year and got great reviews from many .net bloggers (Hanselman comes to mind). It seemed to be touted as a great new utility that somehow made everything that you would ever do on the command line easier, and integrated with .Net. However, the more I read about it, the more it seems to be a tool that is great for IT professionals, and not much use for developers.

क्या आप अपने देव काम में पावरशेल का उपयोग करते हैं? यदि हां, तो कैसे? क्या यह सीखने लायक है?

नोट: प्रतिक्रियाओं को अब तक देखने के बाद, मुझे लगता है कि यह निष्कर्ष निकालना वैध है कि PowerShell .NET डेवलपर के लिए बहुत उपयोगी हो सकता है। हालांकि, नीचे कोई जवाब नहीं है कि मैं उत्तर के रूप में लेबल कर सकता हूं (इसलिए कृपया ऐसा करने के लिए मुझे क्षमा करें)। मैं प्रत्येक उत्तर को वोट दे रहा हूं जिसे मैंने उपयोगी पाया है।

0
ro fr bn

13 उत्तर

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

0
जोड़ा

यद्यपि मैंने अभी तक इसका पूरी तरह से उपयोग नहीं किया है, लेकिन मैं एक प्रशंसक हूं क्योंकि यह यूनिक्स कमांड के अधिकांश (यदि नहीं सभी) का समर्थन करता है, तो मैं कमांड लाइन का उपयोग करके नेविगेट करने के लिए परिचित हूं। यदि आपके पास * निक्स अनुभव है और विंडोज़ पर विकास कर रहे हैं, तो मैं इसके लिए इसका उपयोग करने की सलाह दूंगा क्योंकि आपको केवल आदेशों का एक सेट याद रखना होगा।

हालांकि, नमक के अनाज के साथ मैं क्या कहता हूं। जब इमारत और संकलन की बात आती है, तो मैं कमांड लाइन कार्यक्षमता का उपयोग करता हूं।

0
जोड़ा

यह निश्चित रूप से सीखने लायक है। क्या आपने कभी टेक्स्ट कन्वर्ट किया है? क्या आपने कभी एक्सएमएल में हेरफेर किया है? क्या आपने कभी कुछ स्वचालित किया है? सरल उदाहरण। कोई आपको एक अल्पविराम सीमांकित फ़ाइल देता है और आपको कुछ अन्य टूल/डेटाबेस में आयात करने या अपने प्रोग्राम के लिए कुछ सूची बनाने के लिए इसमें से कुछ फ़ील्ड खींचने की आवश्यकता होती है।

यदि फ़ाइल के पहले पंक्ति में सीएसवी के पास फ़ील्ड नाम हैं, तो आप पावरहेल में निम्न कार्य कर सकते हैं:

$Data = import-csv "something.csv" 

फिर आप फ़ील्ड नामों का उपयोग करके अपने डेटा का उल्लेख कर सकते हैं। यदि आपके पास एसएसएन नामक फ़ील्ड था तो आप $ डेटा [एन]। एसएसएन कह सकते हैं। आप आयात-सीएसवी कमांड को केवल उस चीज़ पर पाइप कर सकते हैं जिसने डेटा को संसाधित किया है जिसमें इसे एक्सएमएल/एचटीएमएल या कुछ भी कमांड के साथ आप चाहते हैं। पावरहेल इस तरह की चीजों से भरा है।

यह एक ऐसा उपकरण है जो आपको पूर्ण वर्कस्टेशन और सर्वर पर पूर्ण टन .NET लाइब्रेरी सहित सामग्री के टन तक पहुंच प्रदान करता है। यह एक ऐसा उपकरण है जिसे किसी प्रकार के व्यक्ति पर लक्षित नहीं किया जाता है। शायद यह है कि व्यवस्थापक प्रकारों को यह समझने में जल्दी हो गया है कि यह कितना उपयोगी है। मेरे द्वारा इसे हर दिन उपयोग किया जाता है।

वास्तव में पूछे गए प्रश्न का उत्तर देने के लिए, मैं इसे रोज़मर्रा की चीजों को स्वचालित करने के लिए उपयोग करता हूं। मैं इसे अपनी एकल स्क्रिप्टिंग भाषा बनाने की कोशिश कर रहा हूं, जो मैंने पर्ल, पायथन, वीब्स्क्रिप्ट, .bat/.cmd में किए गए चीजों को बदल दिया है, और एक छोटी उपयोगिता/रूपांतरण प्रोग्राम जो मैं बनाऊंगा।

0
जोड़ा

ऐसा लगता है कि डब्ल्यूपीएस एक ऐसी चीज है जो आपको अपनी जरूरतों को पूरा करने में आसान बनाता है। मुझे नहीं लगता कि आप फायरफॉक्स या क्विकन में एकीकृत डब्ल्यूपीएस को एकीकृत करने जा रहे हैं लेकिन उन टीमों ने उन चीजों को करने के लिए इसका इस्तेमाल किया है .... संक्षेप में "डब्ल्यूपीएस आपका प्रोग्राम नहीं बनाता है, डब्ल्यूपीएस आपके प्रोग्राम को आसान बनाता है।" ; ओ)

0
जोड़ा

व्यक्तिगत रूप से, यदि आवश्यक हो तो WMI का उपयोग करके, मैं स्वचालित कार्यों के लिए पायथन का उपयोग कर रहा हूं। मुझे लगता है कि इस संयोजन में अधिकांश मेरी ज़रूरतें शामिल हैं।

मैंने पावरशेल का परीक्षण किया, यह मेरे लिए अच्छा लग रहा है, लेकिन यह एक नया उपकरण सीखने लायक नहीं है। इसके अलावा, यदि आपको (पावरशेल लाइव) , या यहां तक ​​कि व्यंजनों अपने लिए पूरे सीखने वक्र को पारित किए बिना कार्यों को पूरा करने के लिए।

0
जोड़ा

आप पावरहेल से नफरत कर सकते हैं, और फिर भी यह आपके लिए अविश्वसनीय रूप से उपयोगी हो सकता है। मैं इसे छोटे लेकिन महत्वपूर्ण एक-लाइनर प्रकारों या बहुत मामूली स्क्रिप्ट में उपयोग करता हूं। यह वास्तव में सी # की तुलना नहीं कर सकता है, जैसे ही कोई जटिलता या महत्वपूर्ण संभावित पुन: उपयोग होता है, मैं सी # पर स्विच करता हूं। इसके अलावा, महत्वपूर्ण बात यह है कि पावरहेल इतना मजेदार है कि मैं हर बार खरोंच से समाधान फिर से बनाना चाहता हूं, अन्यथा मैं quirks भूल जाते हैं, जिनमें से कई हैं। मैंने सुना है कि अन्य लोग भी यह कहते हैं!

इसके लिए वास्तव में क्या अच्छा है इसके उदाहरण:

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

  2. जब मैं किसी ग्राहक साइट पर हूं और कुछ स्वचालित करने की आवश्यकता है, और यह एकमात्र ऐसा टूल है जिसे मैं कर सकता हूं और/या मुझे अपना हाथ लेने की अनुमति है।

  3. वेब साइटों में लॉग इन करने के लिए छोटी लिपियों और जो भी पेज मुझे रूचि है या उस पर नेविगेट करें। मैंने मैन्युअल रूप से ऐसी वेबसाइट पर लॉग इन नहीं किया है जिसे मैं अब विकसित कर रहा हूं। ट्रिविअल, लेकिन यह एक कम परेशान करने वाला मस्तिष्क मृत कार्य है जिसके बारे में मुझे चिंता करने की ज़रूरत है।

  4. फ़ाइलों और परियोजनाओं को प्रतिलिपि बनाने और प्रतिस्थापित करने और प्रतिस्थापित करने के लिए एक-लाइनर।

  5. यदि कोई असामान्य जटिलताएं शामिल हैं, तो छोटी लिपियों का निर्माण होता है।

  6. आदि। आप अपने सिस्टम में थोड़ा कर्कश रखने के लिए बाध्य हैं, जहां आपको किसी और चीज को ठीक करने के लिए सेवा शुरू करने/शुरू करने की आवश्यकता है।

0
जोड़ा

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

0
जोड़ा

मैंने हाल ही में एक प्रोजेक्ट का संस्करण 1 समाप्त किया है जो रिमोट सिस्टम पर कार्यों को निष्पादित करने के लिए पावरशेल रनटाइम होस्ट करता है। मैं पूरी तरह से असहमत हूं कि पावरशेल एक देव का उपकरण नहीं है।

.NET आधारित उत्पाद के रूप में, यह .NET प्रोग्रामिंग का प्रत्यक्ष एनालॉग है। पूरे .NET कार्यक्रमों को पीएस में प्रोटोटाइप किया जा सकता है, साथ ही छोटे ऑनलाइनर विधियों की कार्यक्षमता का परीक्षण करने के लिए ... आदि। पीएस के लिए भाषा आर्किटेक्ट्स ने पीएस के सिंटैक्स को सी # के करीब होने के लिए विशेष रूप से डिजाइन किया है, इसका मतलब है कि पीएस स्क्रिप्ट और सी # कोड लिखते समय बहुत कम संदर्भ स्विच होता है (मुझे हाल ही में बहुत कुछ करना पड़ता था)। आप अपने ज्ञान पर निर्माण कर रहे हैं पहले से ही पीएस का उपयोग कर .NET भाषाओं के साथ जीता है।

एक स्वचालन उपकरण के रूप में, यह शानदार है। यह पहुँच के WMI, एडीओ, ADSI, .नेट, COM देशी रूप, के साथ साथ किया कुछ और के साथ काम करने का पता वेल्डेड कर सकते हैं। अकेले किसी भी Windows स्वचालन आसान और अधिक शक्तिशाली बना देता है। सिस्टम के लिए उपयोग की मात्रा कुछ अन्य भाषाओं (VBScript, अजगर), लेकिन भाषा और नेट ढांचे के लाभ के उपयोग में आसानी मतलब है कि कुछ पुनश्च स्क्रिप्टिंग एक साथ बांधने है मौजूदा कोड (कोड पुन: उपयोग) के बजाय द्वारा paralled है अपना समय अभी तक एक और दिनचर्या ज़िप करने फ़ाइल लिख बर्बाद कर (उदाहरण के लिए ...)

वहां पहले से ही ऐसी परियोजनाएं हैं जो देव के जीवन को आसान बनाने के लिए निर्माण उपकरण (साइके को ध्यान में रखती हैं) बना रही हैं। पावरहेल सामुदायिक एक्सटेंशन जैसी परियोजनाएं शक्तिशाली विस्तार क्षमताओं को दिखाती हैं जो हर दिन देवताओं को प्राप्त कर सकती हैं। मैं ऊपर दिए गए कुछ पोस्टरों से सहमत हूं, मैं निर्माण कार्यों को स्थापित करने या देव कार्यों के लिए डेटा के साथ काम करने के लिए कुछ भी करने पर विचार करता हूं, यदि पीएस के साथ किया जा सकता है, तो तेज/आसान/बेहतर नहीं, बल्कि साथ ही।

जेम्स

0
जोड़ा

मैं किसी भी 'repetita' नौकरी के लिए PoSH का उपयोग करता हूं जो मुझे नेटवर्क, डोमेन, कंप्यूटर, एडी उपयोगकर्ता, टेक्स्ट संपादन, फाइल खोज, फ़ाइल-सर्वर माइग्रेशन, निगरानी और मज़ेदार बनाने के लिए करना है!

0
जोड़ा

मैं जितनी चीजें कर सकता हूं उतनी चीजों को स्वचालित करने के लिए इसका उपयोग करता हूं। एक उदाहरण है वेब UI स्वचालन , आसानी से आवेदन विकास/परीक्षण।

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

मैं इसका भारी उपयोग नहीं करता, लेकिन मैं इसे हर दिन उपयोग करता हूं।

0
जोड़ा

मैं व्यापार द्वारा एक व्यवस्थापक हूं और बस "देव" दुनिया में शुरू कर रहा हूं, लेकिन मुझे लगता है कि PowerShell कई तरीकों से डेवलपर्स के लिए बहुत उपयोगी हो सकता है।

  1. Task automation -> Lee Holmes (a developer on the PowerShell team) posted a proof-of-concept called BgShell, which was basically the PowerShell runtime hosted in a windows forms app that listened for keystrokes and kicked off actions written in PowerShell based on them. It also included some clipboard automation.
  2. Quick access to the .NET framework. You don't have to compile and run something or use another program like Snippet Compiler to test some functionality. Load the assembly into your PowerShell session and interact with it. You get all the discoverability of PowerShell (like Get-Member) to explore your object.
  3. Easy to build domain specific languages. James Kovacs wrote a simple build script language with PowerShell called Psake.
  4. It can provide a scripting language for your application. Since PowerShell is part of the 09 Common Engineering Criteria, a lot of Microsoft applications will have interfaces for PowerShell, and familiarity with the language syntax will grow. You can leverage that knowledge by embedding the PowerShell runtime in your application and providing a scripting interface to your users, choosing what objects they will have access to.
  5. Along the same line, if you need to create a command-line interface for your application, PowerShell provides a large part of the underlying plumbing needed for parsing arguments, and other basic tasks, leaving only the business logic for you to write, and providing a consistent interface with other applications (for example, if you have user accounts that need to be managed (that don't already integrate with Active Directory, an admin could (using the Quest AD Cmdlets and your applications interface) Get-QADUser | New-MyApplicationUser and be done. The Exchange 2007 team did this very well. All the functionality is based on PowerShell cmdlets, the GUI calls the cmdlets and shows the user what is being run, so they can build scripts based off of that.
  6. It's just cool! In about 250 lines (including comments), Rob Foust and Jeff Hicks wrote a network sniffer in PowerShell. Easier to use than WinDump for lightweight troubleshooting.
  7. Community - There is a great community focused around PowerShell, including developers. Find out more at PowerShellCommunity.org.
0
जोड़ा

@EdSwangren - यदि आपको मुख्य रूप से विंडोज प्लेटफार्म पर काम करना है और .NET स्पेस में काम करना है, तो मैं पूरी तरह से पावरशेल सीखने के लिए समय डालने की सलाह दूंगा। यह आपके मौजूदा .NET अनुभव और कोड का लाभ उठा सकता है, COM, WMI, और ADSI के साथ काम करता है। यह आपको विंडोज प्लेटफॉर्म पर बस सब कुछ तक पहुंचने की अनुमति देता है (और यह केवल वी 1 है)। वी 2 सक्रिय विकास में है (सीटीपी 2 अब उपलब्ध है) और इसमें अधिक रिमोटिंग, एसटीए थ्रेडिंग और कई अन्य सुधार शामिल होंगे।

कई विक्रेता पावरशेल का समर्थन भी कर रहे हैं - से/एन सॉफ्टवेयर नेटवर्किंग cmdlets प्रदान करते हुए, साइट्रिक्स और वीएमवेयर में पावरशेल के माध्यम से प्रबंधन एपीआई प्रदान करते हैं।

0
जोड़ा

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

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

0
जोड़ा
वाह! क्या आप हमें स्क्रिप्ट दिखा सकते हैं?
जोड़ा लेखक l--'''''&#, स्रोत