2013-03-28 15 views
5

डेल्फी में पावरशेल स्क्रिप्ट के आउटपुट तक कैसे पहुंचे?PowerShell स्क्रिप्ट के आउटपुट तक कैसे पहुंचे?

मैं System.Management.Automation.PowerShell के समान कुछ ढूंढ रहा हूं, लेकिन मूल कोड में।

अधिक सटीक होने के लिए: मैं PowerShell आमंत्रण द्वारा लौटाई गई PSObject ऑब्जेक्ट को संसाधित करना चाहता हूं।

मुझे लगता है कि PowerShell .NET में लिखा गया है, इसलिए मुझे अपने डेल्फी एप्लिकेशन में .NET Framework होस्ट करना होगा?

मैंने घटक स्रोत पर PowerShell Objects Delphi Edition नामक एक लाइब्रेरी देखी है, लेकिन डेमो XE2 का समर्थन नहीं करता है और मुझे मैन्युफैक्चरर्स मुखपृष्ठ पर लाइब्रेरी नहीं मिल रही है।

स्पष्टीकरण: मैं एक तरह से PowerShell को चलाने के लिए नहीं देख रहा हूँ, CreateProcess इस के लिए ठीक काम करता है।

+1

मुझे लगता है कि आप इसे करने के लिए HYRDA को remObjects प्राप्त कर सकते हैं, लेकिन शायद .net में मेजबान भाग लिखना और फिर .नेट होस्ट सेवा में टीसीपी/आईपी सॉकेट के माध्यम से इंटरफेस करना आसान होगा। –

+1

शायद ऐसा करने का सबसे आसान और साफ तरीका एटोज्ड क्रॉसटाक के साथ है: http://www.atozed.com/CrossTalk/index.en.aspx –

+0

[कंसोल] (http://sourceforge.net/projects/console-devel /? स्रोत = निर्देशिका) प्रोजेक्ट किसी भी कंसोल इनपुट/आउटपुट के साथ ठीक काम करता है बफर, विंडोज़, माउस इत्यादि। यह सी ++ पर लिखा गया है, लेकिन मुझे लगता है कि यह कंसोल यूआई प्रोग्रामिंग के लिए अच्छा प्रारंभ बिंदु हो सकता है :) – Abelisto

उत्तर

1

आप सिस्टम के आसपास एक सी ++/सीएलआई रैपर बना सकते हैं। प्रबंधन। ऑटोमेशन। * और string ExecutePowerShellScript(string script) जैसे डीएलएल एंट्री पॉइंट का पर्दाफाश करें। तब आपको डेल्फी से डीएलएल प्रवेश बिंदु का आह्वान करने में कोई समस्या नहीं होनी चाहिए।

+0

समस्या यह है कि मैं 'PSObject' ऑब्जेक्ट्स को संसाधित करना चाहता हूं जो' PowerShell.Invoke' विधि लौटाती है। –

+0

@ जेन्समुहलेनहॉफ़ आप लौटे ऑब्जेक्ट्स में आदिम जानकारी (स्ट्रिंग्स, नंबर, बूल इत्यादि) तक पहुंचने के लिए एक्सेसर फ़ंक्शंस (डीएलएल एंट्री पॉइंट) बना सकते हैं। –

+0

यह काम करेगा, लेकिन सी ++/सीएलआई पक्ष पर बहुत अधिक काम होगा। मैं इस पर गौर करूंगा। –

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