現在、私は「中間者」である ac# Web サービスを開発しています。クライアントはメソッド「executeScript(String script)」を呼び出すことができ、私の Web サービスはスクリプトを呼び出します。
現在、Web サービスは、クライアントが実行するスクリプトを認識していません (通常はスクリプトを交換します)。出力を正しく読み取るにはどうすればよいですか? たとえば、Get Process などです。
私のエラーリーディングはすでに機能しています。スクリプト例: "Get-Mailbox xxxxx"
if (pl.Error.Count > 0)
{
//error in pipeline
var errorList = pl.Error.Read() as Collection<ErrorRecord>;
if (errorList != null)
{
foreach (ErrorRecord er in errorList)
{
logger.Error(er.Exception.Message);
ExceptionObject eo = new ExceptionObject();
eo.message = er.Exception.Message;
eo.source = er.Exception.Source;
eo.stackTrace = er.Exception.StackTrace;
errors.Add(eo);
}
}
if (pso != null)
{
foreach (PSObject o in pso)
{
logger.Info("size: " + o.Properties.Count());
logger.Info(o.ToString());
foreach (PSPropertyInfo psprop in o.Properties)
{
sb.AppendLine("Name: " + psprop.Name + ", Value: " + psprop.Value + ", MemberType: " + psprop.MemberType);
}
}
logger.Info(pso.ToString());
pro.result = sb.ToString();
}
logger.Info(o.ToString()); -> Get メールボックス xxxxx
プロパティ: 「名前: 長さ、値: 19、メンバータイプ: プロパティ」
それは正しい出力ではありません。元のpowershellコンソールと同じように、応答を文字列として取得する方法はありますか? (すべてのスクリプトで動的に!)