Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can you update/document the expected values in UserLicenseType #795

Closed
arunvinoth opened this issue Feb 19, 2019 · 4 comments
Closed

Can you update/document the expected values in UserLicenseType #795

arunvinoth opened this issue Feb 19, 2019 · 4 comments
Assignees
Labels
assigned-to-author This tag applies automatically to issues that are created against a topic. doc-bug The issue is about incorrect, missing, or out-of-date information in the document. waiting on internal feedback Waiting on internal teams to respond before any action can be taken on the feedback.

Comments

@arunvinoth
Copy link

Basically UserLicenseType contains random integer values, not sure about the meaning of those values. The documentation should share the details about the Enumeration values.

You can refer this discussion for more details: https://stackoverflow.com/q/54705114/7920473


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

@bishalgoswami bishalgoswami added the assigned-to-author This tag applies automatically to issues that are created against a topic. label Feb 19, 2019
@shellyhaverkamp shellyhaverkamp added the doc-bug The issue is about incorrect, missing, or out-of-date information in the document. label Feb 19, 2019
@pb1051
Copy link

pb1051 commented Apr 1, 2019

Hi, does anyone have the values for this to use in a PowerBI report? I can create the table if someone can provide the "key:value".

Thanks!

@colathro
Copy link

@pb1051 @arunvinoth

I recently had a support case on the topic of License Enumerations. You are correct that we don't have any DB sided mapping for these, as they are NOT optionset values. I've done some digging and pulled up the most recent enumerations for the integer values stored in CRM under userlicensetype on the System User Entity.

Beware the friendly titles for these do not match 1:1 with what will show in Office 365; but should give you a good idea of what licenses a user has and what's actually allowing them as an Enabled user in CRM.

If further details are needed, I suggest some simple trial and error to identify which license in O365 maps to which Enum. It may be helpful if you updated what you find here so we can maintain some sort of temporary community depot until we get an official mapping for your usage!

1,Plan 1
2,Plan 2/Limited
3,Partner IUR
3,Plan 3/Professional
4,Plan 4/Enterprise
5,Dynamics 365 Plan 2
6,Dynamics 365 Plan 1
7,Dynamics 365 for Sales
8,Dynamics 365 for Customer Service
9,Dynamics 365 for Field Service
10,Dynamics 365 for Project Service Automation
11,Dynamics 365 for Team members
12,Dynamics 365 for Case management
17,Dynamics 365 Enterprise Edition for Relationship Sales
7,Dynamics 365 Sales Pro
13,SMB P1
14,SMB Sales
15,SMB Marketing
16,SMB Team
18,CDS P1
19,CDS P2
20,CDS Viral
21,CDS Dyn Apps
22,CDS Dyn P2
23,CDS Vs Pro
24,CDS Vs Ent
25,CDS Vs Com
20,CDS CCI Bots
26,Dynamics 365 for Customer Service Pro
28,Dynamics 365 for Field Service Non-Technicians
27,Dynamics 365 Team Members
31,Dynamics 365 AI for Sales (Embedded)
30,Common Data Service - Project

Formatted in CSV for your Excel based consumption 🐱‍👤

@colathro
Copy link

Following up on this, I just found a fairly clever way to map a bit more accurately using the online graph api tooling:
https://developer.microsoft.com/en-us/graph/graph-explorer

I've mapped the above sheet to the product SKU's with a clever python script 😎 and here are the mapping for userlicensetype to product SKU:

1,CRM_PLAN1_USER
2,CRM_PLAN2_USER
3,CRM_IUR_USER
3,CRM_STANDARD_USER
4,CRM_ENTERPRISE_USER
5,D365_ENTERPRISE_P2
6,D365_ENTERPRISE_P1
7,D365_ENTERPRISE_SALES
8,D365_ENTERPRISE_CS
9,D365_ENTERPRISE_FS
10,D365_ENTERPRISE_PSA
11,D365_ENTERPRISE_TEAM
12,D365_ENTERPRISE_CM
17,D365_ ENTERPRISE_RELATIONSHIP_SALES
7,D365_Sales_Pro
13,D365_Business_P1
14,D365_Business_Sales
15,D365_Business_Marketing
16,D365_Business_Team
18,D365_cds_P1
19,D365_cds_P2
20,D365_cds_Viral
21,D365_cds_Dyn_Apps
22,D365_cds_Dyn_P2
23,D365_cds_Vs_Pro
24,D365_cds_Vs_Ent
25,D365_cds_Vs_Com
20,D365_cds_cci_bots
26,D365_Customer_Service_Pro
28,D365_Field_Service_Non_Technicians
27,D365_Team_Members
31,D365_Sales_Insights
30,D365_cds_Project

You can use the licenseDetails in the graph API to pull your own or another user's license assignment:
https://docs.microsoft.com/en-us/graph/api/user-list-licensedetails?view=graph-rest-1.0

Example Output from Graph API:

{
            "id": "s6DCaxoSyk6PhXEWi5knhcVvEuqeoeJCpzHanUN7_88",
            "skuId": "ea126fc5-a19e-42e2-a731-da9d437bffcf",
            "skuPartNumber": "DYN365_ENTERPRISE_PLAN1",
            "servicePlans": [
                {
                    "servicePlanId": "113feb6c-3fe4-4440-bddc-54d774bf0318",
                    "servicePlanName": "EXCHANGE_S_FOUNDATION",
                    "provisioningStatus": "PendingProvisioning",
                    "appliesTo": "Company"
                },
                {
                    "servicePlanId": "0b03f40b-c404-40c3-8651-2aceb74365fa",
                    "servicePlanName": "POWERAPPS_DYN_P2",
                    "provisioningStatus": "Success",
                    "appliesTo": "Company"
                },
                {
                    "servicePlanId": "b650d915-9886-424b-a08d-633cede56f57",
                    "servicePlanName": "FLOW_DYN_P2",
                    "provisioningStatus": "Success",
                    "appliesTo": "Company"
                },
                {
                    "servicePlanId": "03acaee3-9492-4f40-aed4-bcb6b32981b6",
                    "servicePlanName": "NBENTERPRISE",
                    "provisioningStatus": "Success",
                    "appliesTo": "Company"
                },
                {
                    "servicePlanId": "e95bec33-7c88-4a70-8e19-b10bd9d0c014",
                    "servicePlanName": "SHAREPOINTWAC",
                    "provisioningStatus": "Success",
                    "appliesTo": "Company"
                },
                {
                    "servicePlanId": "5dbe027f-2339-4123-9542-606e4d348a72",
                    "servicePlanName": "SHAREPOINTENTERPRISE",
                    "provisioningStatus": "Success",
                    "appliesTo": "Company"
                },
                {
                    "servicePlanId": "fe71d6c3-a2ea-4499-9778-da042bf08063",
                    "servicePlanName": "SHAREPOINT_PROJECT",
                    "provisioningStatus": "Success",
                    "appliesTo": "Company"
                },
                {
                    "servicePlanId": "fafd7243-e5c1-4a3a-9e40-495efcb1d3c3",
                    "servicePlanName": "PROJECT_CLIENT_SUBSCRIPTION",
                    "provisioningStatus": "Success",
                    "appliesTo": "Company"
                },
                {
                    "servicePlanId": "d56f3deb-50d8-465a-bedb-f079817ccac1",
                    "servicePlanName": "DYN365_ENTERPRISE_P1",
                    "provisioningStatus": "Success",
                    "appliesTo": "Company"
                }
            ]
        }

The AAD ID for the user directory object is stored in System Users under: azureactivedirectoryobjectid

Then you can map the SKUid with the following document:
https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/licensing-service-plan-reference

This will allow you to get a friendly name from the license enum in CRM 🐱‍🐉

@phecke phecke added the waiting on internal feedback Waiting on internal teams to respond before any action can be taken on the feedback. label May 22, 2019
@phecke
Copy link
Member

phecke commented Jun 18, 2019

@arunvinoth I have discussed your request with the product team. The result is that we will not document the UserLicenseType field value since the values are expected to change over time and would not be meaningful to most customers.

@phecke phecke closed this as completed Jun 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assigned-to-author This tag applies automatically to issues that are created against a topic. doc-bug The issue is about incorrect, missing, or out-of-date information in the document. waiting on internal feedback Waiting on internal teams to respond before any action can be taken on the feedback.
Projects
None yet
Development

No branches or pull requests

7 participants