PowerShell获取M365许可证总数:替代ActiveUnits的字段是什么?
解决Get-MgSubscribedSKU获取总购买许可证数量的问题
在Microsoft Graph PowerShell模块中,Get-MgSubscribedSKU并没有ActiveUnits字段,对应原MSOnline模块中ActiveUnits的总购买许可证数量,你需要使用**PrepaidUnits.Enabled**属性来获取。
这个属性代表当前已购买且处于可用状态的许可证总数,替换你代码中的$_.ActiveUnits即可。
修改后的代码片段如下:
Get-MgSubscribedSKU | ForEach-Object { [PSCustomObject]@{ License = switch -Regex ($_.SkuPartNumber) { "VISIOCLIENT" { "Visio Plan 2" } # 可在此添加更多SKU对应的名称映射 } Designation = $_.SkuPartNumber LicenseID = $_.SkuId NumberTotal = $_.PrepaidUnits.Enabled NumberUsed = $_.ConsumedUnits } } | Sort-Object License | Format-Table
补充说明:
PrepaidUnits是复合属性,除Enabled外,还包含Suspended(已暂停的许可证数)和Warning(处于警告状态的许可证数)。如果需要统计所有已购买的许可证(包含暂停/警告状态),可将三个值相加:$_.PrepaidUnits.Enabled + $_.PrepaidUnits.Suspended + $_.PrepaidUnits.Warning。ConsumedUnits仍用于获取已分配的许可证数量,该字段在Graph模块中保留可用。
内容的提问来源于stack exchange,提问作者honeybee
相关产品推荐
相关产品推荐

