我正在尝试在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交谈的明显事实?
答案 0 :(得分:0)
请勿在C#中使用-
,例如:
ps.AddParameter("RetentionPolicy", null);