首頁 >後端開發 >C++ >如何從 C# 將命令列參數傳遞給 PowerShell 腳本?

如何從 C# 將命令列參數傳遞給 PowerShell 腳本?

DDD
DDD原創
2025-01-23 23:01:13579瀏覽

How to Pass Command-Line Arguments to PowerShell Scripts from C#?

在 C# 中使用參數執行 PowerShell 腳本

要在 C# 中執行 PowerShell 腳本並提供命令列參數,您可以按照以下步驟操作:

  1. 設定 Runspace: 建立一個 RunspaceConfiguration 並使用它來實例化一個 Runspace 物件。此物件表示 PowerShell 執行時期環境。
  2. 建立 PowerShell 指令: 使用 Command 建構函式將腳本檔案路徑轉換為 Command 物件。
  3. 新增命令列參數: 使用 CommandParameter 建構子為每個參數建立一個 CommandParameter。將這些參數加入 Command 的 Parameter 集合中。
  4. 建置管道: 將 Command 物件加入 Pipeline 的 Commands 集合中。
  5. 執行腳本: 呼叫 Pipeline 的 Invoke 方法來執行腳本並處理其輸出。

程式碼範例:

<code class="language-csharp">// 配置和 Runspace
RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();

// 带参数的 PowerShell 命令
Command myCommand = new Command(scriptfile);
CommandParameter testParam = new CommandParameter("key", "value");
myCommand.Parameters.Add(testParam);

// 管道和执行
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(myCommand);
var results = pipeline.Invoke();</code>

透過遵循這些步驟,您可以有效地將命令列參數從 C# 傳遞到 PowerShell 腳本,並在參數值中正確處理空格。

以上是如何從 C# 將命令列參數傳遞給 PowerShell 腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn