簡體   English   中英

Powershell 調用無效命令 output C#

[英]Powershell Invoke invalid command output C#

我有簡短的 C# 代碼,它使用 powershell 觸發無效命令。

using (PowerShell PowerShellInst = PowerShell.Create())
{
    PowerShellInst.AddScript("abc");
    Collection<PSObject> PSOutput = PowerShellInst.Invoke();
    Console.WriteLine(PSOutput);
}

Output 沒有打印任何東西。 當使用實際 powershell 觸發相同的命令時,將打印以下 output。

在此處輸入圖像描述

如何在 C 尖銳代碼中得到錯誤 output?

To get the errors, you can check if the powershell object HadError then look into Streams.Error property of the powershell object and for each ErrorRecord , you can get the Exception, StackTrace, ToString, etc:

using (var powerShell = PowerShell.Create())
{
    var output = powerShell.AddScript("abc").Invoke();
    if(powerShell.HadErrors)
    {
        foreach(var error in powerShell.Streams.Error)
        {
            Console.WriteLine(error.ToString());
        }
    }
}

注意: PowerShell 為不同目的提供多個:調試、錯誤、信息、進度、詳細、警告。 您可以使用 powershell 實例的Streams屬性獲取流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM