我有一种方法可以与参数一起调用PowerShell命令。我已经这样定义它:
public string RunScript(string contentScript, Dictionary<string, EntityProperty> parameters)
{
using (PowerShell ps = PowerShell.Create())
{
ps.AddScript(contentScript);
ps.AddParameters(parameters);
我的PowerShell命令参数的定义如下:
[Parameter]
public List<string> Properties { get; set; } = new List<string>();
如何更改RunScript
方法,以便在参数中仅采用传递的字符串列表?
创建Powershell时,您将使用以下方式:(例如)
PowerShell shell = PowerShell.Create().AddCommand("Get-NetAdapter")
.AddParameter("name", "Ethernet*")
.AddParameter("ThrottleLimit", 5);
或者您使用字典:
IDictionary parameters = new Dictionary<String, String>();
parameters.Add("name", "Ethernet*");
parameters.Add("ThrottleLimit", 5);
PowerShell shell = PowerShell.Create();
shell.AddCommand("Get-NetAdapter");
shell.AddParameters(parameters);
.AddParameters(用于单个创建)与.AddParameters(用于多次创建)不同
因此可以使用正确的列表:AddParameters(IList)
因此您必须适应string
您的情况...我以前从未使用过,但是您可以尝试:
public string RunScript(string contentScript, List<string> parameters)
{
using (PowerShell ps = PowerShell.Create())
{
ps.AddScript(contentScript);
ps.AddParameters(parameters);
您properties
用作arg
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句