Powershell多个AddParameter C#
我在C#表单应用程序中运行PowerShell。我想向PowerShell命令添加多个参数 但当我输入第二个Powershell多个AddParameter C#,c#,powershell,parameters,C#,Powershell,Parameters,我在C#表单应用程序中运行PowerShell。我想向PowerShell命令添加多个参数 但当我输入第二个AddParameter调用时,它失败了,错误如下: System.Management.Automation.ParameterBindingException 代码: 看起来它只接受1个参数 还有一个添加参数的AddParameters,但我无法让它正常工作 有人对此有经验吗?您不能在使用Get-NetAdaptercmdlet的同时实际使用name和InterfaceIndex。这是
AddParameter
调用时,它失败了,错误如下:
System.Management.Automation.ParameterBindingException
代码:
看起来它只接受1个参数
还有一个添加参数的AddParameters
,但我无法让它正常工作
有人对此有经验吗?您不能在使用
Get-NetAdapter
cmdlet的同时实际使用name
和InterfaceIndex
。这是因为它们属于不同的参数集,因此必须单独使用
要查看该cmdlet的参数集的详细信息,请参见此处:
或者在PowerShell中使用获取帮助获取NetAdapter
但是,如果在使用同一参数集中允许的参数时添加参数仍然有问题,可以尝试将两个参数作为单个命令添加,如下所示(以name
和throttlelimit
为例,因为它们在同一参数集中是允许的:ByName
用于Get NetAdapter
):
或者,您也可以使用参数名称和值的字典:
IDictionary parameters = new Dictionary<String, String>();
parameters.Add("name", "Ethernet*");
parameters.Add("ThrottleLimit", 5);
PowerShell shell = PowerShell.Create().AddCommand("Get-NetAdapter")
.AddParameters(parameters)
IDictionary参数=新字典();
添加(“名称”、“以太网*”);
添加(“ThrottleLimit”,5);
PowerShell shell=PowerShell.Create().AddCommand(“获取NetAdapter”)
.AddParameters(参数)
来源:您不能将
名称
和接口索引
与Get-NetAdapter
cmdlet同时使用。这是因为它们属于不同的参数集,因此必须单独使用
要查看该cmdlet的参数集的详细信息,请参见此处:
或者在PowerShell中使用获取帮助获取NetAdapter
但是,如果在使用同一参数集中允许的参数时添加参数仍然有问题,可以尝试将两个参数作为单个命令添加,如下所示(以name
和throttlelimit
为例,因为它们在同一参数集中是允许的:ByName
用于Get NetAdapter
):
或者,您也可以使用参数名称和值的字典:
IDictionary parameters = new Dictionary<String, String>();
parameters.Add("name", "Ethernet*");
parameters.Add("ThrottleLimit", 5);
PowerShell shell = PowerShell.Create().AddCommand("Get-NetAdapter")
.AddParameters(parameters)
IDictionary参数=新字典();
添加(“名称”、“以太网*”);
添加(“ThrottleLimit”,5);
PowerShell shell=PowerShell.Create().AddCommand(“获取NetAdapter”)
.AddParameters(参数)
来源:thx用于快速回复!我已经尝试过了,结果都是相同的错误消息。异常消息是:{“无法使用指定的命名参数解析参数集”。}啊,这是PowerShell错误。它告诉您不能同时使用“名称”和“接口索引”它们一起属于不同的参数集。您可以在此处或在PowerShell中通过
get help get netadapter
查看这些参数集。cmdlet的设计目的不是同时按索引和名称检索网络适配器,它必须是一个或另一个。您现在也有足够的信誉进行升级投票,仅供参考:)thx用于快速回复!我已经尝试过了,但结果都是相同的错误消息。异常消息是:{“无法使用指定的命名参数解析参数集”。}啊,这是PowerShell错误。它告诉您不能同时使用“名称”和“InterfaceIndex”它们一起属于不同的参数集。您可以在此处或在PowerShell中通过get help get netadapter
查看这些参数集。cmdlet的设计目的不是同时按索引和名称检索网络适配器,它必须是一个或另一个。您现在也有足够的信誉进行升级投票,仅供参考:)
IDictionary parameters = new Dictionary<String, String>();
parameters.Add("name", "Ethernet*");
parameters.Add("ThrottleLimit", 5);
PowerShell shell = PowerShell.Create().AddCommand("Get-NetAdapter")
.AddParameters(parameters)