You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

使用PowerShell为Office 365用户分配许可证失败,求排查原因

Office 365许可证分配命令报错的解决办法

你遇到的问题是因为Microsoft Graph PowerShell模块对-RemoveLicenses空数组的处理存在异常,导致发送给Graph API的请求payload里未包含该参数,触发了后端的参数缺失校验报错。

解决办法有两种:

  • 方法一:将-RemoveLicenses的参数值改为$null,替代空数组

    LicenceUser = Set-MgUserLicense -UserId $userid -Addlicenses @{SkuId = ($license.SkuId)} -RemoveLicenses $null -ErrorAction:Stop
    
  • 方法二:通过-LicenseAssignment参数传递完整的许可证分配哈希表,确保参数被正确序列化到请求中

    $licenseParams = @{
        AddLicenses = @(@{SkuId = $license.SkuId})
        RemoveLicenses = @()
    }
    LicenceUser = Set-MgUserLicense -UserId $userid -LicenseAssignment $licenseParams -ErrorAction:Stop
    

这两种方式都能让Graph API接收到removeLicenses参数(即使是空值),从而顺利完成许可证分配操作。

内容的提问来源于stack exchange,提问作者Nick_K

火山引擎 最新活动