由于缺少一个或多个必需参数而无法处理命令:Identity
Cannot process command because of one or more missing mandatory parameters: Identity
当我尝试使用 powershell 从我的 c# 应用程序执行 powershell 时,我遇到了一个可能具有误导性的错误。
如标题所示,错误表明我缺少 Identity 参数,但它并没有丢失。
我尝试调试,并确认参数已添加到命令 object,然后再调用。
var x = ps.AddScript("Remove-CsOnlineVoiceRoutingPolicy")
.AddParameter("Identity", "DK")
.AddParameter("-Force");
x.Invoke();
我是 运行 powershell 7.2,使用 System.Management.Automation.Powershell 版本 7.2.1.0
关于为什么会发生这种情况的任何想法?
我已经尝试了带破折号和不带破折号的两个参数,没有任何区别。
除了 addParameter 之外,还使用了 AddScript。
当使用添加脚本时,参数应该在脚本中内联,如果你想使用 addPArameter,它应该在 AddCommand 之后。
AddParameter() 中参数名称中的破折号似乎被完全忽略了。
一个工作示例如下所示。
var x = ps.AddCommand"Remove-CsOnlineVoiceRoutingPolicy")
.AddParameter("Identity", "DK")
.AddParameter("Force");
x.Invoke();
当我尝试使用 powershell 从我的 c# 应用程序执行 powershell 时,我遇到了一个可能具有误导性的错误。
如标题所示,错误表明我缺少 Identity 参数,但它并没有丢失。 我尝试调试,并确认参数已添加到命令 object,然后再调用。
var x = ps.AddScript("Remove-CsOnlineVoiceRoutingPolicy")
.AddParameter("Identity", "DK")
.AddParameter("-Force");
x.Invoke();
我是 运行 powershell 7.2,使用 System.Management.Automation.Powershell 版本 7.2.1.0
关于为什么会发生这种情况的任何想法?
我已经尝试了带破折号和不带破折号的两个参数,没有任何区别。
除了 addParameter 之外,还使用了 AddScript。 当使用添加脚本时,参数应该在脚本中内联,如果你想使用 addPArameter,它应该在 AddCommand 之后。
AddParameter() 中参数名称中的破折号似乎被完全忽略了。
一个工作示例如下所示。
var x = ps.AddCommand"Remove-CsOnlineVoiceRoutingPolicy")
.AddParameter("Identity", "DK")
.AddParameter("Force");
x.Invoke();