大家好,程序员朋友们,谁能告诉我用c#代码传递-Confirm:$Y的方法?下面是我的不接受-Confirm参数的C#代码。
PowerShell powershell = PowerShell.Create();
PSCommand command = new PSCommand();
command.AddCommand("Remove-MailContact");
string DisplayName = "UniqueValue112";
command.AddParameter("Identity", DisplayName);
command.AddParameter("Confirm", true);等价的powershell代码是
Remove-MailContact -Identity $DisplayName -Confirm:$Y谁能告诉我怎么用C#传递等同于-Confirm:$Y的东西?
发布于 2015-03-31 15:15:17
您希望将-Confirm的值设置为false。
command.AddParameter("Confirm", false);在PowerShell命令中,-Confirm:$false是完成此操作的正确方法。
-Confirm:$y工作的原因是$y (通常)是一个未定义的变量,它的计算结果是$null,当转换为Boolean时,它就变成了$false。显然,如果脚本的某些部分将变量$y设置为非空值,这将以一种神秘且难以调试的方式失败。
注意语法:对于大多数PowerShell参数,-Parameter:$value等同于-Parameter $value。对于-Confirm这样的[switch]参数,前者是必需的,因为它们通常不接受值,因此不会绑定到命令行上的下一个令牌。
发布于 2017-04-13 17:13:28
您应该使用以下内容:
command.AddParameter("Confirm", new SwitchParameter(false));这应该可以很好地工作:)
https://stackoverflow.com/questions/29361629
复制相似问题