我想获取邮箱上启用的 OWA 邮箱策略的名称。使用获取 CASMailbox命令我可以知道邮箱上是否启用了 OWA 策略,但如果启用了 OWA 邮箱策略,则无法获取其名称。
如果我谈论 ActiveSync 策略获取 CASMailbox命令可以返回有关 ActiveSync 策略是否启用的信息以及 ActiveSync 策略的名称(如果已启用),但不会返回 OWA 邮箱策略的名称。
我以这种方式使用此命令
var asEnabled = false; var asPolicyName = string.Empty; var owaEnableed = false;
var owaPolicyName = string.Empty;
Command cmd = new Command("Get-CASMailbox");
cmd.Parameters.Add("identity", "abc");
cmd.Parameters.Add("DomainController", "abc");
Pipeline pipeline = RunspaceFactory.CreateRunspace(RunspaceConfiguration.Create()).CreatePipeline();
pipeline.Commands.Add(cmd);
var result = pipeline.invoke();
foreach (PSObject ps in results)
{
if (ps.Members["ActiveSyncEnabled"].Value != null)
{
asEnabled = ps.Members["ActiveSyncEnabled"].Value.ToString().ToLowerInvariant() == "true" ? true : false;
}
if (ps.Members["OWAEnabled"].Value != null)
{
owaEnabled = ps.Members["OWAEnabled"].Value.ToString().ToLowerInvariant() == "true" ? true : false;
}
if (ps.Members["ActiveSyncMailboxPolicy"].Value != null)
{
asPolicyName = ps.Members["ActiveSyncMailboxPolicy"].Value.ToString(); //returns name of ActiveSync policy enabled
}
//want to get the name of OWAMailboxPolicy but **Get-CASMailbox** does not return it
}
这部分代码全部运行正常,但是获取 CASMailbox不含OWA邮箱策略参数因此无法获取该邮箱上启用的 OWA 邮箱策略的名称。
我需要帮助,如何获取在特定邮箱上启用的 OWAMailboxPolicy 名称?
答案1
您能否查看OWA邮箱策略通过运行命令“Get-CASMailbox -Identity “邮箱名称”| fl 名称,OWAMailboxPolicy,OWEAnabled“当您尝试为测试邮箱创建并应用新策略时?
如果值OWA邮箱策略参数为空,根据安迪·戴维在主题中的回复“如何了解 Owa 邮箱策略用户拥有哪些“,此邮箱正在使用默认OWA邮箱策略:
答案2
好的,让我们从头开始:背后是什么版本的Exchange?策略的名称通常存储在OwaMailboxPolicy中。而实际上在未嵌入C#中时这些字段不存在或为空?