如何为Powershell -AddParameter指定空值

时间:2014-02-13 22:27:56

标签: c# powershell active-directory

我正在尝试在C#中发出Powershell命令以更改Microsoft Exchange保留策略,例如:

Powershell ps = Powershell.Create();
ps.AddCommand("Set-Mailbox);
ps.AddParameter("-Identity", Identity);
ps.AddParameter("-RetentionPolicy", PolicyName);
...etc...

如果我有像“公司默认策略”这样的PolicyName,那么这很有用。一切都按预期工作。

但是,要删除策略,命令行Powershell命令如下所示:

PS> Set-Mailbox -Identity TypicalUser -RetentionPolicy $null

如果我尝试传递“$ null”并执行此操作:

ps.AddParameter("-RetentionPolicy", "$null");

...然后Powershell给出了一个错误“$ null不是保留策略的有效名称”。

我也尝试过:

ps.AddParameter("-RetentionPolicy", null);

...而且这让Powershell感到困惑,因为没有价值。

我是否遗漏了一些关于如何与Powershell交谈的明显事实?

1 个答案:

答案 0 :(得分:0)

请勿在C#中使用-,例如:

ps.AddParameter("RetentionPolicy", null);