[玩转系统] 图许可管理
作者:精品下载站 日期:2024-12-14 08:13:40 浏览:17 分类:玩电脑
图许可管理
Microsoft Graph SDK PowerShell 模块正在替换其他两个模块。详细了解如何连接到 Graph、查找许可证、进行更改和删除许可证。
AzureAD 和 MSOnline PowerShell 模块已经存在很长时间了,可用于管理 Microsoft 365 租户中的用户、组、许可证等。所有这一切都在改变。我们已经超过了微软规定的 2023 年 6 月结束这两个 PowerShell 模块并完全弃用它们的最后期限。他们的替代者? Microsoft Graph SDK PowerShell 模块。在此处阅读有关从 AzureAD 升级到 Microsoft Graph 的信息。本文主要讨论许可证和图表。
连接到图表
权限
首先,我们需要连接到 Microsoft Graph API,为此,我们需要获得正确的权限来进行这些更改。 Graph 具有一组复杂的权限,允许对租户中的安全和安全资产采用精细的方法。我们可以使用此 PowerShell cmdlet 获取权限列表,而无需先连接到 Graph:
Find-MgGraphPermission -PermissionType Any
权限列表被截断
虽然这提供了一个很好的权限列表,但不足以揭示管理租户许可证所需的权限。我们在哪里可以找到这些?经过一些研究,我们可以找到有关某些操作所需的 Graph API 权限的文档:Microsoft |学习。
搜索该页面,我们发现有关许可的引用:
在 Microsoft Graph PowerShell 中管理许可所需的权限
这很重要,因为当我们连接到 Graph 时,我们需要一定的权限范围,以允许 PowerShell 以正确的权限操作对象。
连接字符串
用于连接到 Microsoft Graph 的 cmdlet 是 Connect-Graph 或 Connect-MgGraph。为什么呢?一个是别名,另一个是实际的 cmdlet:
连接 PowerShell cmdlet 的选择
让我们使用Connect-Graph。除了权限之外,我们还有其他几个连接选项。
- TenandID:指定租户的 GUID,以便 PowerShell 连接到目标租户的 Graph 连接点。
- UseDeviceAuthentication:“使用设备代码身份验证而不是浏览器控件”(可选)。
- 范围:指定连接期间使用的权限,在我们的例子中为“Directory.ReadWRite.All”。
Connect-Graph -Scopes 'Directory.ReadWRite.All' -TenantID <your tenant's GUID>
如果这是您第一次连接尝试,系统可能会提示您输入登录帐户和/或需要授予权限。
提醒:请记住关闭与 Graph 的连接,以免耗尽 Microsoft 365 中资源的活动连接(通常为三个)。
还有两个 Disconnect PowerShell cmdlet
寻找许可证
我们可以通过首先运行此 cmdlet 来获取可用许可证的列表,以提供可用计划的列表:
Get-MgSubscribedSku | fl
租户中的可用 SKU
然后运行此 cmdlet,我们会获得可供用户启用/禁用的各个许可功能的列表:
(Get-MgSubscribedSku -SubscribedSkuId 5d0cc54e-0082-4eb8-a300-ce17a036f3f4_6fd2c87f-b296-42f0-b197-1e91e994b900).ServicePlans
功能列表被截断
从这里我们可以继续。现在我们可以查找 ServicePlanId 以进行许可证管理。
做出改变
许可概念
在向用户或组分配许可证之前,我们需要介绍一些概念。 Microsoft 有很多许可证类型和分组(例如 E3/E5),我们可以使用它们作为分配的基础。然而,有时组织可能不想分配所有这些许可证,因为他们没有培训用户、没有其他解决方案或者对其许可计划中包含的功能没有普遍兴趣。
- 基于组的许可:通过在该组上设置许可分配,将许可证分配给属于特定组的成员的用户。
- 总体 SKU:此 SKU 涵盖 E3 或 E5 等更高级别的许可证组,并由 Microsoft 365 中提供的一组功能组成。
- 单个 SKU:一个 SKU 仅适用于一项功能,称为“ServicePlanId”属性。
- 已禁用的 SKU:用户无法直接分配或通过基于组的许可分配的功能列表。
服务计划
这些是 Office 365/Microsoft 365 E1、E3 和 E5 许可证组。以下是我们稍后需要的 SKU ID。
- Office 365 E1:18181a46-0d4e-45cd-891e-60aabd171b4e
- Office 365 E3:6fd2c87f-b296-42f0-b197-1e91e994b900
- Office 365 E5:c7df2760-2c81-4ef7-b578-5b5392b571df
- Microsoft 365 E3:05e9a617-0261-4cee-bb44-138d3ef5d965
- Microsoft 365 E5:06ebc4ee-1bb5-47dd-8120-11324bc54e06
来源:https://learn.microsoft.com/en-us/azure/active-directory/enterprise-users/licensing-service-plan-reference
个人许可证
我们首先可以开始的是个人许可证,因为这些通常是组织在入职流程或分配给用户的新角色时可能需要执行的一次性许可证。像这样的任务不需要太多的规划,因为它们会影响单个用户,并且可以使用 PowerShell 轻松完成。在以下两个示例中,我们分别从包含用户标识信息的 CSV 文件列表中向用户应用许可证。
实施例1
我们有一些用户只需要访问大多数功能,但我们需要禁用 Flow、PowerApps、Viva Engage(以前称为 Yammer)和 Bookings。 Lester 和 Nancy 是不需要这些功能的实习生,我们可以像这样更改他们的许可:
$YammerID = '7547a3fe-08ee-4ccb-b430-5077c5041653'
$FlowID = '07699545-9485-468e-95b6-2fca3738be01'
$PowerAppsID = '9c0dab89-a30c-4117-86e7-97bda240acd2'
$BookingsID = '199a5c09-e0ca-4e37-8f7c-b05d533e1ea2'
$DisabledPlans = @( $YammerID, $FlowID, $PowerAppsID, $BookingsID )$SKU = 'c7df2760-2c81-4ef7-b578-5b5392b571df'
Set-MgUserLicense -UserID [email protected] -AddLicenses @{SkuId = $SKU ; DisabledPlans = $DisabledPlans} -RemoveLicenses @()
Set-MgUserLicense -UserID [email protected] -AddLicenses @{SkuId = $SKU ; DisabledPlans = $DisabledPlans} -RemoveLicenses @()
现在,Lester 和 Nancy 在他们的 E5 计划中在线拥有三个禁用许可证。
实施例2
我们在 CSV 中列出的一组用户需要分配完整的 E5 许可证,因为他们需要 E5 提供的额外功能。与前面使用 Set-MgUserLicense 的示例类似,我们将使用 Foreach 循环来处理每个用户并为 Office 365 E5 分配 SKU。
$SKU = 'c7df2760-2c81-4ef7-b578-5b5392b571df'
$CSV = Import-CSV 'E5-USerList.csv'
Foreach ($Line in $CSV)
Set-MgUserLicense -UserID $_.UPN -AddLicenses @{SkuId = $SKU} -RemoveLicenses @()
}
根据用户数量,这可能需要一些时间来处理。对于此类重大更改,更好的方法是使用基于组的许可,我们将在接下来介绍:
团体许可证
除了为每个用户单独分配许可证之外,我们还可以选择通过 Entra ID(以前称为 Azure AD)组批量分配许可证,也称为基于组的许可。简而言之,使用组来分配许可证,我们可以通过将用户添加到具有与其关联的许可证分配的组,以更简单的方式将用户从一个许可证转换到另一个许可证。当用户不再需要许可证时,可以将他们从同一组中删除,然后删除许可证。
例子
在这种情况下,IT 正在慢慢推出所购买的 Office E3 许可证中包含的各种功能。一个 IT 项目正在进行中,Teams、Viva Engage(以前称为 Yammer)和 Sway 在接受培训的员工中分批部署。因此,他们希望首先阻止所有人使用这三个功能,然后在各组接受培训并且内部 IT 传达对这些产品/推出客户端(例如团队)的访问权限时进行分配。使用产品的先前 ServicePlanId,我们可以创建一个组来使用禁用计划的概念进行阻止。在下面的 PowerShell 中,我们将要阻止的三种产品放在一起,并将它们组装在一个数组中:
$TeamsID = '57ff2da0-773e-42df-b2af-ffb7a2317929'
$YammerID = '7547a3fe-08ee-4ccb-b430-5077c5041653'
$SwayID = 'a23b959c-7ce8-4e57-9140-b90eb88a9e97'
$DisabledPlans = @( $TeamsID, $YammerID, $SwayID )
接下来,我们创建了两个组,我们将向其分配许可证,并且我们可以通过 PowerShell 收集有关这些组的信息:
Get-MgGroup | Where DisplayName -like 'M365*'
返回这个:
Id
DisplayName-- -----------06170e2a-8017-45f9-a0a5-27cb4a8781ce M365E3-PostTraining64a84c9f-eb10-422c-9333-c58bd5b45419 M365E3-PreTraining
我们需要使用 Id 属性将许可证分配给这两个组。对于预训练组,我们需要上面的 $DisabledPlans、组的 ID 值和 Office 365 E3 SKU,并在 Set-MgGroupLicense cmdlet 中提供它们,如图所示这里:
$GroupID = (Get-MgGroup | Where DisplayName -eq 'M365E3-PreTraining').Id
$SKU = 'c7df2760-2c81-4ef7-b578-5b5392b571df'
Set-MgGroupLicense -GroupID $GroupID -AddLicenses @{SkuId = $SKU ; DisabledPlans = $DisabledPlans} -RemoveLicenses @()
现在,对于培训后组,我们只需要 Office 365 E3 SKU 和同一 cmdlet 的组 ID,如下所示:
$GroupID = (Get-MgGroup | Where DisplayName -eq 'M365E3-PostTraining').Id$SKU = 'c7df2760-2c81-4ef7-b578-5b5392b571df'Set-MgGroupLicense -GroupID $GroupID -AddLicenses @{SkuId = $SKU} -RemoveLicenses @()
如果我们查看 Microsoft 365 管理中心,我们可以看到差异:
PowerShell 脚本前后的许可证更改
另外,我们可以确认 PowerShell 中的差异:
Get-MgUserLicenseDetail -UserId [email protected] | select -ExpandProperty ServicePlans | where ProvisioningStatus -eq Disabled
禁用 Frank 帐户上的许可功能
Get-MgUserLicenseDetail -UserId [email protected] | select -ExpandProperty ServicePlans | where ProvisioningStatus -eq Disabled
这将返回一个空结果,这意味着没有任何结果被禁用。要获取所有活动服务的总数,我们可以运行这两个 cmdlet:
(Get-MgUserLicenseDetail -UserId [email protected] | select -ExpandProperty ServicePlans | where ProvisioningStatus -ne Disabled).Count(Get-MgUserLicenseDetail -UserId [email protected] | select -ExpandProperty ServicePlans | where ProvisioningStatus -ne Disabled).Count
三者之差,如预期
离职或吊销执照
根据许可证的应用方式,删除许可证可能就像从特定组中删除用户一样简单,也可能需要删除所有分配的许可。这两项任务都可以使用 PowerShell 完成,并且与单独的任务相反。
$SKU = 'c7df2760-2c81-4ef7-b578-5b5392b571df'
Set-MgUserLicense -UserID [email protected] -AddLicenses @() -RemoveLicenses @($SKU)
Lester 的 E5 许可证现已取消选中
如果许可证是由组分配的,我们只需将该用户从组成员身份中删除即可。
结论
管理许可证的新方法类似于旧的 Entra ID (Azure AD) 方法。唯一的额外层是知道当用户在 Graph PowerShell 中执行任务时要向他们分配哪些权限。否则,整个过程是相同的。确保您开始学习 Graph PowerShell,因为随着时间的推移,它将取代许多其他 PowerShell 模块。
快速说明:如果需要有关谁拥有哪些许可证的报告,也可以使用 PowerShell 来完成,如下所示:
Get-MgUser -Filter "assignedLicenses/any(x:x/skuId eq $SKU)" -All
已分配 E5 许可证的用户列表
猜你还喜欢
- 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 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][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
[电视剧] [突围] [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