簡體   English   中英

從 c# 應用程序啟動 powershell 腳本(帶參數)

[英]Launching powershell scripts (with parameters) from c# app

我正在嘗試制作一個簡單的(或者我認為是這樣的)應用程序,它可以更輕松地啟動.ps1 腳本,以便非 powershell 精通的用戶可以使用它們。 這是它的樣子Powershell 啟動器設計

現在,我設法弄清楚了有關運行腳本的一部分:

private string RunPowershell_1(string skripta)
    {
        StringBuilder stringBuilder = new StringBuilder();
        foreach (string str in PowerShell.Create().AddScript(skripta).AddCommand("Out-String").Invoke<string>())
            
            {
            
            stringBuilder.AppendLine(str);
            
            }
        return stringBuilder.ToString();
    }

但我通常會運行需要參數的腳本,所以我希望能夠從我導入的腳本中讀取參數列表,為它們賦值,然后運行腳本(輸出應該 go 到 txtPreview 或文件)。

有沒有辦法做到這一點? 如果有另一種(更好的)方法來解決這個問題,我會全力以赴。

您可以使用此 powershell 命令獲取參數列表。

(get-command get-netadapter).Parameters

這就是您可以在 C# 中讀取其 output 的方式:

using (PowerShell ps = PowerShell.Create())
{
    ps.AddScript("...");                      
    Collection<PSObject> output = ps.Invoke();
}

暫無
暫無

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

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