[玩转系统] 使用 PowerShell 在 Microsoft 365 (Azure AD) 中分配用户许可证
作者:精品下载站 日期:2024-12-14 23:14:45 浏览:12 分类:玩电脑
使用 PowerShell 在 Microsoft 365 (Azure AD) 中分配用户许可证
让我们看一下如何使用 PowerShell 管理 Microsoft 365 (Azure AD) 中的用户许可证(订阅)。我们将展示如何分配或删除许可证、获取已分配许可证的统计信息以及使用 Azure 组(基于组的许可)启用自动许可证分配。
您可以在 Azure 门户上或使用 M365 管理中心管理 Microsoft 365 用户许可证。在 Azure AD 中找到用户并打开许可证部分。您可以在此处将任何可用许可证分配给用户并选择可用产品。在大型公司中,使用 PowerShell 管理 Microsoft 365 许可证更为方便。
要连接到 Microsoft 365,请使用 Azure AD PowerShell 模块:
Connect-AzureAD
您可以在Azure AD -> 许可证 -> 所有产品中找到可用许可证的列表。在我们的案例中,有 25 个 Microsoft 365 E5 开发人员许可证可用,其中 9 个是免费的。
使用 PowerShell,您可以显示有关 Azure 租户中可用和已分配许可证的信息,如下所示:
Get-AzureADSubscribedSku | Select -Property Sku*,ConsumedUnits -ExpandProperty PrepaidUnits
SkuPartNumber 是许可证(许可证计划)的名称。 已启用显示根据此计划购买的许可证数量。 ConsumedUnits 是指分配给用户的许可证数量。
为了解决许可证问题,在 PowerShell 脚本中使用其 SkuID。
您可以根据许可计划使用不同的 Microsoft 产品。
在我们的示例中,此租户中唯一可用的 DEVELOPERPACK_E5 许可证计划。让我们显示可供用户使用的 Microsoft 365 服务。
$licenses = Get-AzureADSubscribedSku
$licenses[0].ServicePlans
ServicePlanName 列显示具有此许可证的用户可用的产品名称。
您可以显示有关分配给用户的许可证的信息。获取分配给用户的许可证的 SkuID,然后显示其名称:
$SkuIDs=(Get-AzureADUser -ObjectId [email protected]| Select -ExpandProperty AssignedLicenses).SkuId
Foreach ($SkuID in $SkuIDs) {
(Get-AzureADSubscribedSku | Where {$_.SkuId -eq $SkuID}).SkuPartNumber
}
让我们尝试为用户分配许可证。执行此操作之前,请确保已为用户设置位置(国家/地区)。这是强制性的,因为根据不同的国家/地区,用户可能会受到当地法律的影响(这对于 Exchange Online 尤为重要)。以 ISO alpha-2 格式设置 2 个字符的国家/地区代码。
Get-AzureADUser -ObjectId [email protected]| Select UsageLocation, AssignedLicenses
如果国家/地区未设置或者您必须更改它,请运行以下命令:
Get-AzureADUser -ObjectId [email protected] | Set-AzureADUser -UsageLocation DE
然后您可以将许可证分配给用户:
$UserUPN="[email protected]"
$LicPlan="DEVELOPERPACK_E5"
$License = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$License.SkuId = (Get-AzureADSubscribedSku | Where-Object -Property SkuPartNumber -Value $LicPlan -eq).SkuID
$assignlic = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$assignlic.AddLicenses = $License
Set-AzureADUserLicense -ObjectId $UserUPN -AssignedLicenses $assignlic
Get-AzureADUserLicenseDetail -objectid $UserUPN
您可以一次将许可证分配给多个用户。例如,让我们为 DE 区域的所有用户分配许可证:
$LicPlan="DEVELOPERPACK_E5"
$License = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$License.SkuId = (Get-AzureADSubscribedSku | Where-Object -Property SkuPartNumber -Value $LicPlan -eq).SkuID
Get-AzureADUser -Filter "UsageLocation eq 'DE'”| Set-AzureADUserLicense -AssignedLicenses $assignlic
要删除许可证,请使用以下 PowerShell 脚本:
$userUPN="[email protected]"
$LicPlan="DEVELOPERPACK_E5"
$license = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$License.RemoveLicenses = (Get-AzureADSubscribedSku | Where-Object -Property SkuPartNumber -Value $LicPlan -EQ).SkuID
Set-AzureADUserLicense -ObjectId $userUPN -AssignedLicenses $license
要显示未经许可的用户列表,请运行以下命令:
Get-AzureAdUser | ForEach{ $licensed=$False ; For ($i=0; $i -le ($_.AssignedLicenses | Measure).Count ; $i++) { If( [string]::IsNullOrEmpty( $_.AssignedLicenses[$i].SkuId ) -ne $True) { $licensed=$true } } ; If( $licensed -eq $false) { Write-Host $_.UserPrincipalName} }
以下 PowerShell 脚本允许将有关 Azure 用户和分配给他们的许可证的信息导出到 CSV 文件中。如果未向用户分配许可证,则会在报告中为其指定“未获得许可”。
$Report = @()
$users= Get-AzureAdUser
Foreach ($user in $users) {
$SkuIDs= @()
$SkuIDs=(Get-AzureADUser -ObjectId $user.UserPrincipalName| Select -ExpandProperty AssignedLicenses).SkuId
If ($SkuIDs -ne $null) {
Foreach ($SkuID in $SkuIDs) {
$License=(Get-AzureADSubscribedSku | Where {$_.SkuId -eq $SkuID}).SkuPartNumber
$objReport = [PSCustomObject]@{
UPN = $user.UserPrincipalName
DisplayName = $user.DisplayName
Department = $user.Department
License = $License
}
$Report += $objReport
}
}
Else
{
$objReport = [PSCustomObject]@{
UPN = $user.UserPrincipalName
DisplayName = $user.DisplayName
Department = $user.Department
License = "Not licensed"
}
$Report += $objReport
}
}
$Report|Export-Csv c:\ps\aad_user_licenses.csv -Encoding UTF8 -NoTypeInformation
单独管理用户许可证既困难又耗时。在 Azure AD 中,可以将许可证绑定到 Azure 组(基于组的许可)。将用户添加到组后,Azure 会自动为其分配许可证。但是,您需要 Azure AD Premium P1 订阅才能使用此功能。此外,Azure AD 模块不允许将许可证分配给组。组许可功能可在 Azure 门户上或通过 Microsoft Graph API 获得。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[短剧合集] 2025年06月2日 精选+付费短剧推荐39部
[软件合集] 25年6月2日 精选软件18个
[软件合集] 25年6月1日 精选软件15个
[短剧合集] 2025年06月1日 精选+付费短剧推荐59部
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[美图] 2W美女个美女小姐姐,饱眼福
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag