如何通过 C# 为安全组设置 ManagedBy 属性
How to set ManagedBy property for Security Group via C#
我在更新安全组的 ManagedBy 属性 时遇到问题(对分发组工作正常)。我收到以下错误:'{"You don't have sufficient permissions. This operation can only be performed by a manager of the group."}'
我是 运行 具有完全访问权限的帐户。当 运行 通过 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);
BypassSecuirtyGroupManagerCheck 是一个开关,您使用它的方式是将它传递给 bool 设置为 false,这不会达到您想要的结果。你应该做类似
的事情
SwitchParameter switchpara = new SwitchParameter(true);
cmdCreateDR.Parameters.Add("BypassSecurityGroupManagerCheck", switchpara);
干杯
格伦
我在更新安全组的 ManagedBy 属性 时遇到问题(对分发组工作正常)。我收到以下错误:'{"You don't have sufficient permissions. This operation can only be performed by a manager of the group."}'
我是 运行 具有完全访问权限的帐户。当 运行 通过 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);
BypassSecuirtyGroupManagerCheck 是一个开关,您使用它的方式是将它传递给 bool 设置为 false,这不会达到您想要的结果。你应该做类似
的事情SwitchParameter switchpara = new SwitchParameter(true);
cmdCreateDR.Parameters.Add("BypassSecurityGroupManagerCheck", switchpara);
干杯 格伦