当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Microsoft PowerShell 许可证 API 停用

作者:精品下载站 日期:2024-12-14 13:36:02 浏览:16 分类:玩电脑

Microsoft PowerShell 许可证 API 停用


[玩转系统] Microsoft PowerShell 许可证 API 停用

Azure AD Graph 和 MSOnline PowerShell 许可 API 计划于 2022 年 8 月 26 日停用:

[玩转系统] Microsoft PowerShell 许可证 API 停用

迁移到新的 Graph API 是一个令人兴奋的消息 - 具有新功能的伟大新技术!

或者至少这是您在开始使用新 API 之前所期望的……

从基本 ADAL 身份验证迁移到基于 MSAL 的 PowerShell 图形 API 的绝对复杂性将使许多管理员感到震惊。

当然,如果您全职从事 Office 365 管理工作,并且有机会在日常工作中运用您的 PowerShell 技能,那么没问题。

不幸的是,微软似乎无法掌握成千上万使用 Office 365 的管理员的日常生活。

许多管理员需要涵盖许多技术,例如网络、数据库和最终用户支持。不幸的是,他们没有时间每六个月坐下来学习一个新的 PowerShell API。

尤其是与以前的解决方案相比,不是一个有缺陷的 API,它代表了一些挫折。

这是一个例子。

提取每个许可计划的服务计划列表

让我们看一下提取特定用户分配的许可计划中启用的服务计划的列表。

首先,我们使用 MSOnline PowerShell API。

我们获取一个用户,查看分配的许可证计划,然后在第一个许可证计划中列出服务计划:

PS C:\> $User = Get-MsolUser -UserPrincipalName [email protected]
PS C:\> $User.Licenses


ExtensionData          : System.Runtime.Serialization.ExtensionDataObject
AccountSku             : Microsoft.Online.Administration.AccountSkuIdentifier
AccountSkuId           : skrubbeltrang:ENTERPRISEPREMIUM
GroupsAssigningLicense : {064dcb19-52f9-4779-bdfd-ce7c12f856f6}
ServiceStatus          : {Microsoft.Online.Administration.ServiceStatus, Microsoft.Online.Administration.ServiceStatus, Microsoft.Online.Administration.ServiceStatus, Microsoft.Online.Administration.ServiceStatus...}



PS C:\> $User.Licenses[0].ServiceStatus

ServicePlan                        ProvisioningStatus
-----------                        ------------------
VIVA_LEARNING_SEEDED               Success
Nucleus                            Success
ContentExplorer_Standard           Success
MIP_S_Exchange                     Success
MICROSOFT_COMMUNICATION_COMPLIANCE Success
GRAPH_CONNECTORS_SEARCH_INDEX      Success
Content_Explorer                   Success
POWER_VIRTUAL_AGENTS_O365_P3       Success
CDS_O365_P3                        Success
PROJECT_O365_P3                    Success
EXCEL_PREMIUM                      Disabled
MTP                                Success
DYN365_CDS_O365_P3                 Success
MICROSOFTBOOKINGS                  Disabled
RECORDS_MANAGEMENT                 Success
INFO_GOVERNANCE                    Disabled
DATA_INVESTIGATIONS                Disabled
CUSTOMER_KEY                       Disabled
COMMUNICATIONS_DLP                 Success
COMMUNICATIONS_COMPLIANCE          Success
M365_ADVANCED_AUDITING             Success
INFORMATION_BARRIERS               Success
KAIZALA_STANDALONE                 Disabled
MICROSOFT_SEARCH                   Success
PREMIUM_ENCRYPTION                 Success
WHITEBOARD_PLAN3                   Success
MIP_S_CLP2                         Success
MIP_S_CLP1                         Success
MYANALYTICS_P2                     Success
PAM_ENTERPRISE                     Success
BPOS_S_TODO_3                      Success
FORMS_PLAN_E5                      Disabled
STREAM_O365_E5                     Success
THREAT_INTELLIGENCE                Success
Deskless                           Success
FLOW_O365_P3                       Success
POWERAPPS_O365_P3                  Success
TEAMS1                             Success
ADALLOM_S_O365                     Success
EQUIVIO_ANALYTICS                  Success
LOCKBOX_ENTERPRISE                 Success
EXCHANGE_ANALYTICS                 Success
SWAY                               Success
ATP_ENTERPRISE                     Success
MCOEV                              Success
MCOMEETADV                         Success
BI_AZURE_P2                        Success
INTUNE_O365                        PendingActivation
PROJECTWORKMANAGEMENT              Success
RMS_S_ENTERPRISE                   Success
YAMMER_ENTERPRISE                  Success
OFFICESUBSCRIPTION                 Success
MCOSTANDARD                        Success
EXCHANGE_S_ENTERPRISE              Success
SHAREPOINTENTERPRISE               Success
SHAREPOINTWAC                      Success

考虑一下这是多么容易和合乎逻辑。

许可计划以列表形式提供。

服务计划作为其所属的每个许可计划的子列表提供。这是完全有道理的。

现在让我们来看看新的、漂亮的 Microsoft Graph API:

PS C:\> $User = Get-MgUser -UserId [email protected] -Property AssignedLicenses,AssignedPlans
PS C:\> $User.AssignedLicenses

DisabledPlans                                                                                                                                               SkuId
-------------                                                                                                                                               -----
{531ee2f8-b1cb-453b-9c21-d2180d014ca5, 199a5c09-e0ca-4e37-8f7c-b05d533e1ea2, e26c2fcc-ab91-4a61-b35c-03cdc8dddf66, 46129a58-a698-46f0-aa5b-17f6586297d9...} c7df2760-2c81-4ef7-b578-5b5392b571df


PS C:\> $User.AssignedPlans

AssignedDateTime       CapabilityStatus Service                       ServicePlanId
----------------       ---------------- -------                       -------------
6/18/2022 3:42:49 PM   Enabled          exchange                      33c4f319-9bdd-48d6-9c4d-410b750a4a5a
6/18/2022 3:42:49 PM   Enabled          Adallom                       8c098270-9dd4-4350-9b30-ba4703f3b36b
6/18/2022 3:42:49 PM   Enabled          exchange                      2f442157-a11c-46b9-ae5b-6e39ff4e5849
6/18/2022 3:42:49 PM   Enabled          CRM                           28b0fa46-c39a-4188-89e2-58e979a6b014
6/18/2022 3:42:49 PM   Enabled          MicrosoftStream               6c6042f5-6f01-4d67-b8c1-eb99d36eed3e
6/18/2022 3:42:49 PM   Enabled          exchange                      b1188c4c-1b36-4018-b48b-ee07604f6feb
6/18/2022 3:42:49 PM   Enabled          YammerEnterprise              7547a3fe-08ee-4ccb-b430-5077c5041653
6/18/2022 3:42:49 PM   Enabled          exchange                      617b097b-4b93-4ede-83de-5f075bb5fb2f
6/18/2022 3:42:49 PM   Enabled          CRM                           afa73018-811e-46e9-988f-f75d2b1b8430
6/18/2022 3:42:49 PM   Enabled          exchange                      41fcdd7d-4733-4863-9cf4-c65b83ce2df4
6/18/2022 3:42:49 PM   Enabled          Deskless                      8c7d2df8-86f0-4902-b2ed-a0458298f3b3
6/18/2022 3:42:49 PM   Enabled          ProcessSimple                 07699545-9485-468e-95b6-2fca3738be01
6/18/2022 3:42:49 PM   Enabled          MicrosoftCommunicationsOnline 3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40
6/18/2022 3:42:49 PM   Enabled          SharePoint                    5dbe027f-2339-4123-9542-606e4d348a72
6/18/2022 3:42:49 PM   Enabled          MicrosoftCommunicationsOnline 0feaeb32-d00e-4d66-bd5a-43b5b83db82c
6/18/2022 3:42:49 PM   Enabled          MIPExchangeSolutions          cd31b152-6326-4d1b-ae1b-997b625182e6
6/18/2022 3:42:49 PM   Enabled          exchange                      65cc641f-cccd-4643-97e0-a17e3045e541
6/18/2022 3:42:49 PM   Enabled          To-Do                         3fb82609-8c27-4f7b-bd51-30634711ee67
6/18/2022 3:42:49 PM   Enabled          exchange                      c4801e8a-cb58-4c35-aca6-f2dcc106f287
6/18/2022 3:42:49 PM   Enabled          exchange                      9f431833-0334-42de-a7dc-70aa40db46db
6/18/2022 3:42:49 PM   Enabled          MicrosoftOffice               43de0ff5-c92c-492b-9116-175376d08c38
6/18/2022 3:42:49 PM   Enabled          exchange                      efb87545-963c-4e0d-99df-69c6916d9eb0
6/18/2022 3:42:49 PM   Enabled          exchange                      34c0d7a0-a70f-4668-9238-47f9fc208882
6/18/2022 3:42:49 PM   Enabled          ccibotsprod                   ded3d325-1bdc-453e-8432-5bac26d7a014
6/18/2022 3:42:49 PM   Enabled          exchange                      6dc145d6-95dd-4191-b9c3-185575ee6f6b
6/18/2022 3:42:49 PM   Enabled          exchange                      efb0351d-3b08-4503-993d-383af8de41e3
6/18/2022 3:42:49 PM   Enabled          PowerAppsService              9c0dab89-a30c-4117-86e7-97bda240acd2
6/18/2022 3:42:49 PM   Enabled          SharePoint                    e95bec33-7c88-4a70-8e19-b10bd9d0c014
6/18/2022 3:42:49 PM   Enabled          M365CommunicationCompliance   a413a9ff-720c-4822-98ef-2f37c2a21f4c
6/18/2022 3:42:49 PM   Enabled          exchange                      5136a095-5cf0-4aff-bec3-e84448b38ea5
6/18/2022 3:42:49 PM   Enabled          ProjectWorkManagement         b737dad2-2f6c-4c65-90e3-ca563267e8b9
6/18/2022 3:42:49 PM   Enabled          Sway                          a23b959c-7ce8-4e57-9140-b90eb88a9e97
6/18/2022 3:42:49 PM   Enabled          WhiteboardServices            4a51bca5-1eff-43f5-878c-177680f191af
6/18/2022 3:42:49 PM   Enabled          exchange                      8e0c0a52-6a6c-4d40-8370-dd62790dcd70
6/18/2022 3:42:49 PM   Enabled          TeamspaceAPI                  57ff2da0-773e-42df-b2af-ffb7a2317929
6/18/2022 3:42:49 PM   Enabled          PowerBI                       70d33638-9c74-4d01-bfd3-562de28bd4ba
6/18/2022 3:42:49 PM   Enabled          MicrosoftCommunicationsOnline 4828c8ec-dc2e-4779-b502-87ac9ce28ab7
6/18/2022 3:42:49 PM   Enabled          MicrosoftThreatProtection     bf28f719-7844-4079-9c78-c1307898e192
6/18/2022 3:42:49 PM   Enabled          exchange                      a6520331-d7d4-4276-95f5-15c0933bc757
6/18/2022 3:42:49 PM   Enabled          ProjectProgramsAndPortfolios  b21a6b06-1988-436e-a07b-51ec6d9f52ad
6/18/2022 3:42:49 PM   Enabled          RMSOnline                     bea4c11e-220a-4e6d-8eb8-8ea15d019f90
6/18/2022 3:42:49 PM   Enabled          LearningAppServiceInTeams     b76fb638-6ba6-402a-b9f9-83d28acb3d86
6/18/2022 3:42:49 PM   Enabled          exchange                      4de31727-a228-4ec3-a5bf-8e45b5ca48cc
6/18/2022 3:41:30 PM   Deleted          exchange                      46129a58-a698-46f0-aa5b-17f6586297d9
6/18/2022 3:41:30 PM   Deleted          OfficeForms                   e212cbc7-0961-4c40-9825-01117710dcb1
6/18/2022 3:41:30 PM   Deleted          MicrosoftOffice               531ee2f8-b1cb-453b-9c21-d2180d014ca5
6/18/2022 3:41:30 PM   Deleted          exchange                      6db1f1db-2b46-403f-be40-e39395f08dbb
6/18/2022 3:41:30 PM   Deleted          exchange                      e26c2fcc-ab91-4a61-b35c-03cdc8dddf66
6/18/2022 3:41:30 PM   Deleted          MicrosoftKaizala              0898bdbb-73b0-471a-81e5-20f1fe4dd66e
6/18/2022 3:41:30 PM   Deleted          exchange                      199a5c09-e0ca-4e37-8f7c-b05d533e1ea2
11/24/2021 10:16:46 AM Deleted          To-Do                         5e62787c-c316-451f-b873-1d05acd4d12c
11/22/2021 9:39:06 AM  Deleted          MicrosoftCommunicationsOnline 505e180f-f7e0-4b65-91d4-00d670bbd18c
11/22/2021 9:39:06 AM  Deleted          exchange                      176a09a6-7ec5-4039-ac02-b2791c6ba793
11/21/2021 7:49:21 PM  Deleted          SharePoint                    13696edf-5a08-49f6-8134-03083ed8ba30
11/21/2021 7:49:21 PM  Deleted          OfficeForms                   159f4cd6-e380-449f-a816-af1a9ef76344
11/21/2021 7:48:29 PM  Deleted          WhiteboardServices            94a54592-cd8b-425e-87c6-97868b000b91
11/9/2021 5:33:08 PM   Deleted          exchange                      9aaf7827-d63c-4b61-89c3-182f06f82e5c

从积极的一面来看,我们现在可以看到有关指定日期的信息,这可能有助于历史跟踪。

但是祝您好运,了解使用哪个许可计划来分配各种服务计划

服务计划信息集中在一起,没有指示分配该信息的许可计划。

与 MSOnline API 的设计方式相比,这似乎是一种倒退。

如果现有脚本中有任何逻辑需要了解每个用户的服务计划与许可计划关系,则需要第二个命令 Get-MgUserLicenseDetail:

PS C:\WINDOWS\system32> Get-MgUserLicenseDetail -UserId [email protected] | fl


Id                   : YTlJwaYrrkG0YuPn5NrmMNA7J8L33xVCnvUse8-wZCU
ServicePlans         : {MICROSOFT_SEARCH, WHITEBOARD_PLAN2, FORMS_PLAN_E1, EXCHANGE_S_FOUNDATION...}
SkuId                : c2273bd0-dff7-4215-9ef5-2c7bcfb06425
SkuPartNumber        : OFFICESUBSCRIPTION
AdditionalProperties : {}

Id                   : YTlJwaYrrkG0YuPn5NrmMGAn38eBLPdOtXhbU5K1cd8
ServicePlans         : {VIVA_LEARNING_SEEDED, Nucleus, ContentExplorer_Standard, MIP_S_Exchange...}
SkuId                : c7df2760-2c81-4ef7-b578-5b5392b571df
SkuPartNumber        : ENTERPRISEPREMIUM
AdditionalProperties : {}



PS C:\WINDOWS\system32> (Get-MgUserLicenseDetail -UserId [email protected])[1].ServicePlans

AppliesTo ProvisioningStatus ServicePlanId                        ServicePlanName
--------- ------------------ -------------                        ---------------
User      Success            b76fb638-6ba6-402a-b9f9-83d28acb3d86 VIVA_LEARNING_SEEDED
Company   Success            db4d623d-b514-490b-b7ef-8885eee514de Nucleus
Company   Success            2b815d45-56e4-4e3a-b65c-66cb9175b560 ContentExplorer_Standard
User      Success            cd31b152-6326-4d1b-ae1b-997b625182e6 MIP_S_Exchange
User      Success            a413a9ff-720c-4822-98ef-2f37c2a21f4c MICROSOFT_COMMUNICATION_COMPLIANCE
User      Success            a6520331-d7d4-4276-95f5-15c0933bc757 GRAPH_CONNECTORS_SEARCH_INDEX
Company   Success            d9fa6af4-e046-4c89-9226-729a0786685d Content_Explorer
User      Success            ded3d325-1bdc-453e-8432-5bac26d7a014 POWER_VIRTUAL_AGENTS_O365_P3
User      Success            afa73018-811e-46e9-988f-f75d2b1b8430 CDS_O365_P3
User      Success            b21a6b06-1988-436e-a07b-51ec6d9f52ad PROJECT_O365_P3
User      Disabled           531ee2f8-b1cb-453b-9c21-d2180d014ca5 EXCEL_PREMIUM
User      Success            bf28f719-7844-4079-9c78-c1307898e192 MTP
User      Success            28b0fa46-c39a-4188-89e2-58e979a6b014 DYN365_CDS_O365_P3
User      Disabled           199a5c09-e0ca-4e37-8f7c-b05d533e1ea2 MICROSOFTBOOKINGS
User      Success            65cc641f-cccd-4643-97e0-a17e3045e541 RECORDS_MANAGEMENT
User      Disabled           e26c2fcc-ab91-4a61-b35c-03cdc8dddf66 INFO_GOVERNANCE
User      Disabled           46129a58-a698-46f0-aa5b-17f6586297d9 DATA_INVESTIGATIONS
User      Disabled           6db1f1db-2b46-403f-be40-e39395f08dbb CUSTOMER_KEY
User      Success            6dc145d6-95dd-4191-b9c3-185575ee6f6b COMMUNICATIONS_DLP
User      Success            41fcdd7d-4733-4863-9cf4-c65b83ce2df4 COMMUNICATIONS_COMPLIANCE
User      Success            2f442157-a11c-46b9-ae5b-6e39ff4e5849 M365_ADVANCED_AUDITING
User      Success            c4801e8a-cb58-4c35-aca6-f2dcc106f287 INFORMATION_BARRIERS
User      Disabled           0898bdbb-73b0-471a-81e5-20f1fe4dd66e KAIZALA_STANDALONE
Company   Success            94065c59-bc8e-4e8b-89e5-5138d471eaff MICROSOFT_SEARCH
User      Success            617b097b-4b93-4ede-83de-5f075bb5fb2f PREMIUM_ENCRYPTION
User      Success            4a51bca5-1eff-43f5-878c-177680f191af WHITEBOARD_PLAN3
User      Success            efb0351d-3b08-4503-993d-383af8de41e3 MIP_S_CLP2
User      Success            5136a095-5cf0-4aff-bec3-e84448b38ea5 MIP_S_CLP1
User      Success            33c4f319-9bdd-48d6-9c4d-410b750a4a5a MYANALYTICS_P2
User      Success            b1188c4c-1b36-4018-b48b-ee07604f6feb PAM_ENTERPRISE
User      Success            3fb82609-8c27-4f7b-bd51-30634711ee67 BPOS_S_TODO_3
User      Disabled           e212cbc7-0961-4c40-9825-01117710dcb1 FORMS_PLAN_E5
User      Success            6c6042f5-6f01-4d67-b8c1-eb99d36eed3e STREAM_O365_E5
User      Success            8e0c0a52-6a6c-4d40-8370-dd62790dcd70 THREAT_INTELLIGENCE
User      Success            8c7d2df8-86f0-4902-b2ed-a0458298f3b3 Deskless
User      Success            07699545-9485-468e-95b6-2fca3738be01 FLOW_O365_P3
User      Success            9c0dab89-a30c-4117-86e7-97bda240acd2 POWERAPPS_O365_P3
User      Success            57ff2da0-773e-42df-b2af-ffb7a2317929 TEAMS1
User      Success            8c098270-9dd4-4350-9b30-ba4703f3b36b ADALLOM_S_O365
User      Success            4de31727-a228-4ec3-a5bf-8e45b5ca48cc EQUIVIO_ANALYTICS
User      Success            9f431833-0334-42de-a7dc-70aa40db46db LOCKBOX_ENTERPRISE
User      Success            34c0d7a0-a70f-4668-9238-47f9fc208882 EXCHANGE_ANALYTICS
User      Success            a23b959c-7ce8-4e57-9140-b90eb88a9e97 SWAY
Company   Success            f20fedf3-f3c3-43c3-8267-2bfdd51c0939 ATP_ENTERPRISE
User      Success            4828c8ec-dc2e-4779-b502-87ac9ce28ab7 MCOEV
User      Success            3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40 MCOMEETADV
User      Success            70d33638-9c74-4d01-bfd3-562de28bd4ba BI_AZURE_P2
Company   PendingActivation  882e1d05-acd1-4ccb-8708-6ee03664b117 INTUNE_O365
User      Success            b737dad2-2f6c-4c65-90e3-ca563267e8b9 PROJECTWORKMANAGEMENT
User      Success            bea4c11e-220a-4e6d-8eb8-8ea15d019f90 RMS_S_ENTERPRISE
User      Success            7547a3fe-08ee-4ccb-b430-5077c5041653 YAMMER_ENTERPRISE
User      Success            43de0ff5-c92c-492b-9116-175376d08c38 OFFICESUBSCRIPTION
User      Success            0feaeb32-d00e-4d66-bd5a-43b5b83db82c MCOSTANDARD
User      Success            efb87545-963c-4e0d-99df-69c6916d9eb0 EXCHANGE_S_ENTERPRISE
User      Success            5dbe027f-2339-4123-9542-606e4d348a72 SHAREPOINTENTERPRISE
User      Success            e95bec33-7c88-4a70-8e19-b10bd9d0c014 SHAREPOINTWAC

这不是什么大问题,但需要进行一些调整才能转换现有的 MSOnline 脚本以反映这种新的数据结构。

挫败感与日俱增

此时此刻,距离 MSOnline PowerShell 许可 API 的消亡只剩下两个多月的时间了。

对于即将出现的许多脚本更改,挫败感达到了沸点(如在 MS 技术社区中看到的那样):

如前所述,Azure 和 Microsoft 365 的自动化接口处于不断变化的状态,这非常令人沮丧

宣布将于 2022 年 12 月弃用 MSOL 和 Azure 模块,当时仍存在已知限制,且关键功能仍处于测试阶段,而且您甚至还没有编写用于将现有脚本迁移到旨在替换它们的产品的指南和工具,只是对客户耐心和时间的不尊重

有时我不确定微软的想法是否会让普通管理员陷入疯狂

对于已宣布的 Exchange Online 邮箱名称属性更改,您将看到类似类型的反馈。

[玩转系统] Microsoft PowerShell 许可证 API 停用

这是另一个临时通知的根本性变化,引发了管理社区的一些非常负面的反馈:

将会有很多随机管理脚本因此而中断。即使我们更新所有内容,多年的在线示例和文档也会过时。

请从实施此方法的团队之外的人员处获得首席工程师对此的审查。并考虑到这会给客户带来的长期混乱。

这没有任何意义。我在 8 年多的时间里遇到过 3 或 4 次同步冲突,都很容易解决。这个“解决方案”将花费我至少一周的时间进行审核。

Easy365Manager 具有 MS Graph 支持

如果您使用 Easy365Manager,您已经在日常 Office 365 管理上节省了大量时间。

您还会很高兴听到 Easy365Manager 将在下一个重大更新中支持新的 Graph API。

Easy365Manager 具有众多优势,可让您轻松管理 Office 365 许可证:

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯