我正在尝试编写一个控制台应用程序来管理 Office 365 中的用户许可证选项。我将运行空间与 MSOL powershell 模块结合使用。基本上,当我在命令参数中传递禁用计划列表时,我能够管理除 -DisabledPlans 之外的所有用户许可要求。
以下是 PowerShell 命令,它可以正常工作并按预期禁用所有计划
New-MsolLicenseOptions -AccountSkuId ACME:ENTERPRISEPACK -DisabledPlans OFFICESUBSCRIPTION,SHAREPOINTWAC,EXCHANGE_S_ENTERPRISE,SHAREPOINTENTERPRISE
我构建这个运行空间命令参数如下
Command licenseOptions = new Command("New-MsolLicenseOptions");
licenseOptions.Parameters.Add((new CommandParameter("AccountSkuId", "ACME:ENTERPRISEPACK")));
licenseOptions.Parameters.Add((new CommandParameter("DisabledPlans",
"OFFICESUBSCRIPTION,SHAREPOINTWAC,EXCHANGE_S_ENTERPRISE,SHAREPOINTENTERPRISE,YAMMER_ENTERPRISE")));
当我在运行空间中构建上面的命令参数并执行时,我收到以下{“无法分配此许可证,因为许可证选项无效。”}
但是,当我使用以下命令参数时,它成功禁用了服务计划
Command licenseOptions = new Command("New-MsolLicenseOptions");
licenseOptions.Parameters.Add((new CommandParameter("AccountSkuId", "ACME:ENTERPRISEPACK")));
licenseOptions.Parameters.Add((new CommandParameter("DisabledPlans", "EXCHANGE_S_ENTERPRISE")));
我一直在调试,我可以看到禁用列表对象中只存在一项,其值为 OFFICESUBSCRIPTION,SHAREPOINTWAC,EXCHANGE_S_ENTERPRISE,SHAREPOINTENTERPRISE,YAMMER_ENTERPRISE
我希望每个条目都有一个项目。我认为这可能是运行空间命令参数如何解释分隔符。
提前喝彩