मैं स्वचालन के माध्यम से कुछ पावरहेल स्क्रिप्ट चलाने के लिए देख रहा हूं। कुछ की तरह:होस्ट समस्याओं में चलने के बिना स्वचालन के माध्यम से PowerShell स्क्रिप्ट को कैसे चलाएं
IList errors;
Collection<PSObject> res = null;
using (RunspaceInvoke rsi = new RunspaceInvoke())
{
try
{
res = rsi.Invoke(commandline, null, out errors);
}
catch (Exception ex)
{
LastErrorMessage = ex.ToString();
Debug.WriteLine(LastErrorMessage);
return 1;
}
}
समस्या का सामना करना पड़ रहा हूँ कि मेरी स्क्रिप्ट ऐसी write-host
के रूप में cmdlets का उपयोग करता है, तो ऊपर फेंकता है एक System.Management.Automation.CmdletInvocationException
-
इस समारोह आह्वान नहीं कर सकता क्योंकि वर्तमान मेजबान को लागू नहीं करता है यह।
इस समस्या को हल करने के लिए कुछ अच्छे विकल्प क्या हैं?
स्कॉट, मुझे एक ही समस्या का सामना करना पड़ रहा है। क्या आप कुछ मार्गदर्शन या कोड प्रदान कर सकते हैं कि आपने कार्यान्वयन कैसे किया? –
ठीक है, मुझे जवाब मिल गया: बस PSHost, PSHostUserInterface और PSHostRawUserInterface का उत्तराधिकारी है और विधियों को कुछ भी नहीं/वापस शून्य करें। आमतौर पर क्या होता है इसका पता लगाने के लिए, संदेश/पाठ जो कि अन्यथा cmd-line पर मुद्रित किया जाएगा लॉग किया जा सकता है। –