如何通过C#为安全组设置ManagedBy属性

时间:2016-02-24 14:13:20

标签: c# powershell exchange-server

我在更新安全组的ManagedBy属性时遇到问题(适用于通讯组)。我收到以下错误:'{“您没有足够的权限。此操作只能由该组的经理执行。”}'

我正在使用具有完全访问权限的帐户运行。该命令在通过PowerShell运行时不起作用,而不是通过C#。这是我正在运行的命令。

Command cmdCreateDR = new Command("Set-DistributionGroup");
cmdCreateDR.Parameters.Add("Identity", "GroupName");
cmdCreateDR.Parameters.Add(new CommandParameter("BypassSecurityGroupManagerCheck"));
Collection<PSObject> manByUsers = new Collection<PSObject>();
manByUsers.Add(new PSObject("domain\\UserName1"));
manByUsers.Add(new PSObject("domain\\UserName2"));
cmdCreateDR.Parameters.Add("ManagedBy", manByUsers);
Collection<PSObject> resultsEx = RunPowerShellCommand(cmdCreateDR);

1 个答案:

答案 0 :(得分:0)

BypassSecuirtyGroupManagerCheck是一个开关,你使用它的方式你将它传递给bool设置为false,这将无法达到你想要的结果。你应该做像

这样的事情
SwitchParameter switchpara = new SwitchParameter(true);
cmdCreateDR.Parameters.Add("BypassSecurityGroupManagerCheck", switchpara);

干杯 格伦