【问题标题】:runspace New-MsolLicenseOptions commandparameter运行空间 New-MsolLicenseOptions 命令参数
【发布时间】:2014-12-09 14:54:07
【问题描述】:

我正在尝试编写一个控制台应用程序来管理 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")));

当我在运行空间中构建上面的命令参数并执行时,我收到以下 {"Unable to assign this license because the license options are invalid."}

但是,当我使用以下命令参数时,它会成功禁用服务计划

 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

我希望每个条目都有一个项目。我认为这可能是运行空间命令参数如何解释分隔符。

提前干杯

【问题讨论】:

    标签: c# powershell office365 runspace


    【解决方案1】:

    我将数组作为字符串传递,而我应该传递一个 List

                List<string> disabledplans = new List<string>();
    
                disabledplans.Add("OFFICESUBSCRIPTION");
                disabledplans.Add("SHAREPOINTWAC");
                disabledplans.Add("EXCHANGE_S_ENTERPRISE");
                disabledplans.Add("SHAREPOINTENTERPRISE");
                disabledplans.Add("YAMMER_ENTERPRISE");
    
                Command licenseOptions = new Command("New-MsolLicenseOptions");
                licenseOptions.Parameters.Add((new CommandParameter("AccountSkuId", "ACME:ENTERPRISEPACK")));
                licenseOptions.Parameters.Add((new CommandParameter("DisabledPlans", disabledplans)));
    

    【讨论】:

      猜你喜欢
      • 2011-11-11
      • 2019-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      • 2023-04-06
      相关资源
      最近更新 更多