यह उत्पादन जो कुछ भी वस्तु के प्रकार सबसे अच्छा प्रतिनिधित्व करने के लिए क्या तुम बाहर लिख रहे हैं प्रयोग किया जाता है स्वीकार्य है - एक डेटासेट बिल्कुल ठीक है। एकमात्र संभावित सावधानी यह है कि PowerShell का v2 खुद को .NET Framework (जैसे सर्वर कोर पर) के कम संस्करण पर चल रहा है, इसलिए यदि यह आपके cmdlets के लिए एक संभावित परिदृश्य है, तो आपको यह सुनिश्चित करने के लिए कुछ सावधानी बरतनी होगी ऑब्जेक्ट जो आप आउटपुट कर रहे हैं वह प्रत्येक सिस्टम पर मौजूद है जहां आपका cmdlet का उपयोग किया जा सकता है।
जो कुछ भी कहा गया है, जब पाइपलाइन ऑब्जेक्ट्स के संग्रह में सबसे अच्छा काम करती है; एक डेटासेट प्रति संग्रह नहीं है। दूसरे शब्दों में, आप डाउनस्ट्रीम cmdlets को पाइपलाइन के माध्यम से एक समय में एक ऑब्जेक्ट प्राप्त करने में सक्षम होना चाहते हैं, ताकि उन cmdlets को किसी ऑब्जेक्ट के माध्यम से मैन्युअल रूप से गणना करने की आवश्यकता न हो। मैं वास्तव में जो कुछ भी कर रहा हूं उसके बारे में बहुत कुछ नहीं जानता - यह अच्छी तरह से हो सकता है कि डेटासेट पूरी तरह से उपयुक्त है - लेकिन मैं आम तौर पर डेटासेट के माध्यम से एक cmdlet पाश देखना पसंद करता हूं, अपनी कस्टम ऑब्जेक्ट्स बना सकता हूं (ताकि तालिका में प्रत्येक कॉलम एक संपत्ति बन जाता है), और उन वस्तुओं को पाइपलाइन पर आउटपुट करें। यह केवल डाउनस्ट्रीम cmdlets की संख्या को बढ़ाता है जो आप जो निकाल रहे हैं उसका उपभोग कर सकते हैं।
एक सरल परीक्षण अपने cmdlet के आउटपुट को निर्यात-सीएसवी में पाइप करना है। यदि यह काम करता है (और यह शायद डेटासेट के साथ नहीं होगा), तो आप सही बात कर रहे हैं आम तौर पर। अब, आपको एक cmdlet बनाने की आवश्यकता हो सकती है जो डेटासेट को आउटपुट करता है और आप केवल उस आउटपुट के खिलाफ संचालित करने के लिए आपके द्वारा लिखे गए कुछ अन्य cmdlets (जो डेटासेट्स का उपभोग करते हैं) के लिए का इरादा रखते हैं। कुछ गलत नहीं है उसके साथ। अधिकतम लचीलापन एकल ऑब्जेक्ट्स है, हालांकि, यह आपके आउटपुट पर काम करने के लिए सभी PowerShell के कोर cmdlets को सक्षम बनाता है।
उम्मीद है कि मदद करता है।
स्रोत
2009-01-14 15:50:59