3

我想通过 C# 代码添加 Powershell 命令或脚本(什么是正确的?)变量声明,默认值存储在 C# 变量中。例如,在 Powershell 我输入以下行

 $user = 'Admin'

我想在 C# 代码中添加这一行。

powershell.AddScript(String.Format("$user = \"{0}\"", userName));

或者

powershell.AddCommand(String.Format("$user = \"{0}\"", userName));

我尝试使用 AddCommand() 但它会引发异常。我使用 PS 2.0。

4

1 回答 1

4

根据这篇文章How to run PowerShell scripts from C#,你需要这样的东西:

// create Powershell runspace
Runspace runspace = RunspaceFactory.CreateRunspace();
// open it
runspace.Open();

Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript(String.Format("$user = \"{0}\"", userName));
pipeline.Commands.AddScript("#your main script");

// execute the script
Collection<psobject> results = pipeline.Invoke();
// close the runspace
runspace.Close();

另请参阅Stackoverflow 上的从 C# 应用程序问题运行 Powershell-Script 。

于 2013-05-06T14:29:32.607 回答