Powershell:根据可用许可证在 E3、E1 之间进行选择
Posted
技术标签:
【中文标题】Powershell:根据可用许可证在 E3、E1 之间进行选择【英文标题】:Choose between E3, E1 based on available licenses 【发布时间】:2022-01-02 04:22:12 【问题描述】:我正在寻找一种根据许可证的可用性向用户添加 E3 或 E1 许可证的方法。
例如:如果没有 E3 许可证,则添加一个 E1 许可证
我做什么,我在 2 行上使用“Set-MsolUserLicense”命令。如果第一行给出了类似的错误,则不再可用。然后它转到第二行并执行第二行。
如果第一行没有错误,然后转到第二行,然后给出错误,则已添加许可证。
这就是我的方式:)
有什么想法吗? :)
工作, M
【问题讨论】:
【参考方案1】:基于上述共享要求,我们编写了以下 powershell 脚本,将检查当前可用的许可证单元,并相应地为用户分配适当的许可证 e3 或 e1。
Connect-MsolService
$userlist='user1@microsoft.com','user2@microsoft.com'
foreach($users in $userlist)
$e3= Get-MsolAccountSku | Where AccountSkuId -Contains microsoft:ENTERPRISEPACK
$e1= Get-MsolAccountSku | Where AccountSkuId -Contains microsoft:STANDARDPACK
if( $e3.ConsumedUnits -le $e3.ActiveUnits)
Write-Host "Need to append e3"
Set-MsolUserLicense -AddLicenses $e3.AccountSkuId -UserPrincipalName $users
elseif( $e1.ConsumedUnits -le $e1.ActiveUnits)
Write-Host "Need to append e1"
Set-MsolUserLicense -AddLicenses $e3.AccountSkuId -UserPrincipalName $users
else
Write-host "No active E1 or E3 Linceses available for the current tenant"
有关Product names and service plan identifiers for licensing的更多信息,您可以参考此文档
【讨论】:
顶!!谢谢! :) 嗨,Oki 会的! :) Ps:将其更改为“-lt”并进行一些调整后,代码可以完美运行! :)以上是关于Powershell:根据可用许可证在 E3、E1 之间进行选择的主要内容,如果未能解决你的问题,请参考以下文章