From 9004df845cd8ce1eeb823e395ee0741a9f648be1 Mon Sep 17 00:00:00 2001 From: Esco Date: Wed, 20 Mar 2024 14:09:47 +0100 Subject: [PATCH 01/40] SafeLinks Standard * Add SafeLinks Policy Standard * SafeLinks Policy Label fix * SafeLink Policy use boolean * Revert "SafeLink Policy use boolean" * boolean test * Added EnableOrganizationBranding to SafeLink option * Move SafeLinksPolicy to Defender Standard --- src/data/standards.json | 74 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/src/data/standards.json b/src/data/standards.json index 95cc1a746259..3216c32f5289 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -736,6 +736,80 @@ "impact": "Medium Impact", "impactColour": "warning" }, + { + "name": "standards.SafeLinksPolicy", + "cat": "Defender Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "Creates a SafeLinks Policy", + "addedComponent": [ + { + "type": "input", + "name": "standards.SafeLinksPolicy.Name", + "label": "SafeLink Policy Name" + }, + { + "type": "boolean", + "label": "EnableSafeLinksForEmail", + "name": "standards.SafeLinksPolicy.EnableSafeLinksForEmail", + "default": true + }, + { + "type": "boolean", + "label": "EnableSafeLinksForTeams", + "name": "standards.SafeLinksPolicy.EnableSafeLinksForTeams", + "default": true + }, + { + "type": "boolean", + "label": "EnableSafeLinksForOffice", + "name": "standards.SafeLinksPolicy.EnableSafeLinksForOffice", + "default": true + }, + { + "type": "boolean", + "label": "TrackClicks", + "name": "standards.SafeLinksPolicy.TrackClicks", + "default": true + }, + { + "type": "boolean", + "label": "ScanUrls", + "name": "standards.SafeLinksPolicy.ScanUrls", + "default": true + }, + { + "type": "boolean", + "label": "EnableForInternalSenders", + "name": "standards.SafeLinksPolicy.EnableForInternalSenders", + "default": true + }, + { + "type": "boolean", + "label": "DeliverMessageAfterScan", + "name": "standards.SafeLinksPolicy.DeliverMessageAfterScan", + "default": true + }, + { + "type": "boolean", + "label": "AllowClickThrough", + "name": "standards.SafeLinksPolicy.AllowClickThrough", + "default": false + }, + { + "type": "boolean", + "label": "DisableUrlRewrite", + "name": "standards.SafeLinksPolicy.DisableUrlRewrite" + }, + { + "type": "boolean", + "label": "EnableOrganizationBranding", + "name": "standards.SafeLinksPolicy.EnableOrganizationBranding" + } + ], + "label": "SafeLinks Policy", + "impact": "Low Impact", + "impactColour": "info" + }, { "name": "standards.intuneDeviceRetirementDays", "cat": "Intune Standards", From 861bc9a8755ff042f0062ca4dfddee816410674a Mon Sep 17 00:00:00 2001 From: Esco Date: Fri, 22 Mar 2024 17:33:12 +0100 Subject: [PATCH 02/40] Updated Name label --- src/data/standards.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/standards.json b/src/data/standards.json index 3216c32f5289..983edbff3c13 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -745,7 +745,7 @@ { "type": "input", "name": "standards.SafeLinksPolicy.Name", - "label": "SafeLink Policy Name" + "label": "Policy Name" }, { "type": "boolean", From 78899c02a71e90ee7fa268ce7e9eda5d7a89b9d6 Mon Sep 17 00:00:00 2001 From: Esco Date: Mon, 25 Mar 2024 12:36:45 +0100 Subject: [PATCH 03/40] Changed according to feedback --- src/data/standards.json | 52 ++--------------------------------------- 1 file changed, 2 insertions(+), 50 deletions(-) diff --git a/src/data/standards.json b/src/data/standards.json index 983edbff3c13..7ae40c0bb1a9 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -740,60 +740,12 @@ "name": "standards.SafeLinksPolicy", "cat": "Defender Standards", "tag": ["lowimpact", "CIS"], - "helpText": "Creates a SafeLinks Policy", + "helpText": "This creates a safelink policy that automatically scans, tracks, and and enables safe links for Email, Office, and Teams for both external and internal senders", "addedComponent": [ - { - "type": "input", - "name": "standards.SafeLinksPolicy.Name", - "label": "Policy Name" - }, - { - "type": "boolean", - "label": "EnableSafeLinksForEmail", - "name": "standards.SafeLinksPolicy.EnableSafeLinksForEmail", - "default": true - }, - { - "type": "boolean", - "label": "EnableSafeLinksForTeams", - "name": "standards.SafeLinksPolicy.EnableSafeLinksForTeams", - "default": true - }, - { - "type": "boolean", - "label": "EnableSafeLinksForOffice", - "name": "standards.SafeLinksPolicy.EnableSafeLinksForOffice", - "default": true - }, - { - "type": "boolean", - "label": "TrackClicks", - "name": "standards.SafeLinksPolicy.TrackClicks", - "default": true - }, - { - "type": "boolean", - "label": "ScanUrls", - "name": "standards.SafeLinksPolicy.ScanUrls", - "default": true - }, - { - "type": "boolean", - "label": "EnableForInternalSenders", - "name": "standards.SafeLinksPolicy.EnableForInternalSenders", - "default": true - }, - { - "type": "boolean", - "label": "DeliverMessageAfterScan", - "name": "standards.SafeLinksPolicy.DeliverMessageAfterScan", - "default": true - }, { "type": "boolean", "label": "AllowClickThrough", - "name": "standards.SafeLinksPolicy.AllowClickThrough", - "default": false + "name": "standards.SafeLinksPolicy.AllowClickThrough" }, { "type": "boolean", From 6b557bfc9bf8c1e291f0a8e1dcc0618ae48d5b8a Mon Sep 17 00:00:00 2001 From: Esco Date: Mon, 25 Mar 2024 13:04:46 +0100 Subject: [PATCH 04/40] Updated label name --- src/data/standards.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/standards.json b/src/data/standards.json index 7ae40c0bb1a9..6d26445f6515 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -758,7 +758,7 @@ "name": "standards.SafeLinksPolicy.EnableOrganizationBranding" } ], - "label": "SafeLinks Policy", + "label": "Default SafeLinks Policy", "impact": "Low Impact", "impactColour": "info" }, From fcfeed9301d248dd3082262505659ca4f72c4b55 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Mon, 25 Mar 2024 17:16:46 +0100 Subject: [PATCH 05/40] bulk user adds --- src/routes.js | 8 + .../identity/administration/AddUserBulk.jsx | 256 ++++++++++++++++++ 2 files changed, 264 insertions(+) create mode 100644 src/views/identity/administration/AddUserBulk.jsx diff --git a/src/routes.js b/src/routes.js index 4f119b52d8c8..e5e5e35ebb9a 100644 --- a/src/routes.js +++ b/src/routes.js @@ -8,6 +8,8 @@ const Users = React.lazy(() => import('src/views/identity/administration/Users') const DeletedItems = React.lazy(() => import('src/views/identity/administration/Deleted')) const ViewBEC = React.lazy(() => import('src/views/identity/administration/ViewBEC')) const AddUser = React.lazy(() => import('src/views/identity/administration/AddUser')) +const AddUserBulk = React.lazy(() => import('src/views/identity/administration/AddUserBulk')) + const InviteGuest = React.lazy(() => import('src/views/identity/administration/InviteGuest')) const EditUser = React.lazy(() => import('src/views/identity/administration/EditUser')) const ViewUser = React.lazy(() => import('src/views/identity/administration/ViewUser')) @@ -251,6 +253,12 @@ const routes = [ { path: '/cipp/500', name: 'Error', component: Page500 }, { path: '/identity', name: 'Identity' }, { path: '/identity/administration/users/add', name: 'Add User', component: AddUser }, + { + path: '/identity/administration/users/addbulk', + name: 'Add User Bulk', + component: AddUserBulk, + }, + { path: '/identity/administration/users/edit', name: 'Edit User', component: EditUser }, { path: '/identity/administration/users/view', name: 'View User', component: ViewUser }, { diff --git a/src/views/identity/administration/AddUserBulk.jsx b/src/views/identity/administration/AddUserBulk.jsx new file mode 100644 index 000000000000..9b1e6dd3a507 --- /dev/null +++ b/src/views/identity/administration/AddUserBulk.jsx @@ -0,0 +1,256 @@ +import React, { useState } from 'react' +import { CButton, CCallout, CCol, CRow, CSpinner } from '@coreui/react' +import { Field, FormSpy } from 'react-final-form' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { faExclamationTriangle, faPlus, faTrash } from '@fortawesome/free-solid-svg-icons' +import { CippCallout, CippWizard } from 'src/components/layout' +import PropTypes from 'prop-types' +import { RFFCFormInput } from 'src/components/forms' +import { CippTable } from 'src/components/tables' +import { CippCodeBlock, TenantSelector } from 'src/components/utilities' +import { CSVReader } from 'react-papaparse' +import { useLazyGenericPostRequestQuery } from 'src/store/api/app' +import { useSelector } from 'react-redux' + +const Error = ({ name }) => ( + + touched && error ? ( + + + {error} + + ) : null + } + /> +) + +Error.propTypes = { + name: PropTypes.string.isRequired, +} + +const AddUserBulk = () => { + const [genericPostRequest, postResults] = useLazyGenericPostRequestQuery() + const [BulkUser, setBulkUser] = useState([]) + const currentSettings = useSelector((state) => state.app) + const addedFields = currentSettings?.userSettingsDefaults?.defaultAttributes + ? //if we have default attributes, add the label object to the fields array + currentSettings.userSettingsDefaults.defaultAttributes.map((item) => item.label) + : [] + const fields = [ + 'givenName', + 'surName', + 'displayName', + 'mailNickName', + 'domain', + 'usageLocation', + 'JobTitle', + 'streetAddress', + 'PostalCode', + 'City', + 'State', + 'Department', + 'MobilePhone', + 'businessPhones', + ...addedFields, + ] + const columns = fields.map((field) => { + return { + name: field, + selector: (row) => row[field], + sortable: true, + } + }) + + const tableColumns = [ + ...columns, + { + name: 'Remove', + button: true, + cell: (row, index) => { + return ( + handleRemove(row)} size="sm" variant="ghost" color="danger"> + + + ) + }, + }, + ] + const valbutton = (value) => + BulkUser.length + ? undefined + : 'You must add at least one user. Did you forget to click add or upload the CSV?' + const handleOnDrop = (data) => { + const importdata = data.map((item) => { + //find any keys that have a null or blank string value, and remove them + Object.keys(item.data).forEach((key) => { + if (item.data[key] === null || item.data[key] === '') { + delete item.data[key] + } + }) + return item.data + }) + setBulkUser([...BulkUser, ...importdata]) + // console.log(importdata) + } + + const handleOnError = (err, file, inputElem, reason) => { + //set upload error + } + const tenantDomain = useSelector((state) => state.app.currentTenant.defaultDomainName) + + const handleSubmit = async (values) => { + const shippedValues = { + TenantFilter: tenantDomain, + BulkUser, + ...values, + } + //alert(JSON.stringify(values, null, 2)) + genericPostRequest({ path: '/api/AddUserBulk', values: shippedValues }) + } + const addRowtoData = (values) => { + setBulkUser((prevState) => { + if (prevState) { + return [values, ...prevState] + } else { + return [values] + } + }) + } + const handleRemove = async (itemindex) => { + let RemovedItems = BulkUser.filter((item) => item !== itemindex) + setBulkUser((prevState) => { + return RemovedItems + }) + } + return ( + + +
+

Step 1

+
Choose a tenant
+
+
+ {(props) => } + +
+
+ +
+

Step 2

+
Enter user information
+
+
+ + + + Drop CSV file here or click to upload. + + +

+ + {fields.map((field, idx) => { + return ( + + + + ) + })} + + + {/* eslint-disable react/prop-types */} + {(props) => { + return ( + <> + addRowtoData(props.values)} + name="addButton" + className="mb-3" + > + + Add + + + ) + }} + + + + + + + + {BulkUser && ( + + )} + + + +
+
+ +
+

Step 4

+
Confirm and apply
+
+ {postResults.isFetching && ( + + Loading + + )} +

+ {postResults.isSuccess && ( + { + return

  • {item}
  • + })} + callout={true} + calloutCopyValue={postResults.data?.Results} + /> + )} +

    + {BulkUser && ( + + )} +
    +
    +
    +
    + ) +} + +export default AddUserBulk From df8e01138985ae50ae2d179bdeff11d61d330722 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Tue, 26 Mar 2024 12:30:46 +0100 Subject: [PATCH 06/40] create --- src/_nav.jsx | 7 +- src/routes.js | 16 ++- src/views/endpoint/intune/MEMAddPolicy.jsx | 1 + .../endpoint/intune/MEMListAppProtection.jsx | 131 ++++++++++++++++++ src/views/endpoint/intune/MEMListPolicies.jsx | 2 +- src/views/identity/administration/Users.jsx | 7 + 6 files changed, 161 insertions(+), 3 deletions(-) create mode 100644 src/views/endpoint/intune/MEMListAppProtection.jsx diff --git a/src/_nav.jsx b/src/_nav.jsx index d701c055f36d..77c84d57f31a 100644 --- a/src/_nav.jsx +++ b/src/_nav.jsx @@ -481,9 +481,14 @@ const _nav = [ }, { component: CNavItem, - name: 'MEM Policies', + name: 'Configuration Policies', to: '/endpoint/MEM/list-policies', }, + { + component: CNavItem, + name: 'Protection Policies', + to: '/endpoint/MEM/list-appprotection-policies', + }, { component: CNavItem, name: 'Apply Policy', diff --git a/src/routes.js b/src/routes.js index e5e5e35ebb9a..d5b459b465b9 100644 --- a/src/routes.js +++ b/src/routes.js @@ -130,6 +130,10 @@ const AutopilotListStatusPages = React.lazy(() => import('src/views/endpoint/autopilot/AutopilotListStatusPages'), ) const IntuneListPolicies = React.lazy(() => import('src/views/endpoint/intune/MEMListPolicies')) +const IntuneListAppProtection = React.lazy(() => + import('src/views/endpoint/intune/MEMListAppProtection'), +) + const MEMEditPolicy = React.lazy(() => import('src/views/endpoint/intune/MEMEditPolicy')) const IntuneCAPolicies = React.lazy(() => import('src/views/endpoint/intune/MEMCAPolicies')) @@ -481,7 +485,17 @@ const routes = [ component: AutopilotListStatusPages, }, { path: '/endpoint/MEM', name: 'MEM' }, - { path: '/endpoint/MEM/list-policies', name: 'List MEM Policies', component: IntuneListPolicies }, + { + path: '/endpoint/MEM/list-policies', + name: 'List Intune Policies', + component: IntuneListPolicies, + }, + { + path: '/endpoint/MEM/list-appprotection-policies', + name: 'List App Protection Policies', + component: IntuneListAppProtection, + }, + { path: '/endpoint/MEM/edit-policy', name: 'Edit MEM Policy', component: MEMEditPolicy }, { path: '/endpoint/MEM/ca-policies', name: 'List Status Pages', component: IntuneCAPolicies }, { path: '/endpoint/MEM/add-policy', name: 'Add Intune Policy', component: IntuneAddPolicy }, diff --git a/src/views/endpoint/intune/MEMAddPolicy.jsx b/src/views/endpoint/intune/MEMAddPolicy.jsx index 6c7efa88c689..00987200dc65 100644 --- a/src/views/endpoint/intune/MEMAddPolicy.jsx +++ b/src/views/endpoint/intune/MEMAddPolicy.jsx @@ -170,6 +170,7 @@ const AddPolicy = () => { { label: 'Administrative Template', value: 'Admin' }, { label: 'Settings Catalog', value: 'Catalog' }, { label: 'Custom Configuration', value: 'Device' }, + { label: 'App Protection or Configuration Policy', value: 'AppProtection' }, ]} /> diff --git a/src/views/endpoint/intune/MEMListAppProtection.jsx b/src/views/endpoint/intune/MEMListAppProtection.jsx new file mode 100644 index 000000000000..9f63b4820fde --- /dev/null +++ b/src/views/endpoint/intune/MEMListAppProtection.jsx @@ -0,0 +1,131 @@ +import React, { useState } from 'react' +import { useSelector } from 'react-redux' +import { CButton } from '@coreui/react' +import { + faBook, + faEdit, + faEllipsisV, + faGlobeEurope, + faPager, + faTrashAlt, + faUser, +} from '@fortawesome/free-solid-svg-icons' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { CippPageList } from 'src/components/layout' +import { Link } from 'react-router-dom' +import { CippActionsOffcanvas, CippCodeBlock } from 'src/components/utilities' +import { TitleButton } from 'src/components/buttons' +import { cellBooleanFormatter, cellDateFormatter } from 'src/components/tables' + +const Actions = (row, rowIndex, formatExtraData) => { + const [ocVisible, setOCVisible] = useState(false) + console.log(row) + const tenant = useSelector((state) => state.app.currentTenant) + return ( + <> + setOCVisible(true)}> + + + , + modalUrl: `/api/AddIntuneTemplate?TenantFilter=${tenant.defaultDomainName}&ID=${row.id}&URLName=managedAppPolicies`, + modalMessage: 'Are you sure you want to create a template based on this policy?', + }, + { + label: 'Delete Policy', + color: 'danger', + modal: true, + icon: , + modalUrl: `/api/RemovePolicy?TenantFilter=${tenant.defaultDomainName}&ID=${row.id}&URLName=${row.URLName}`, + modalMessage: 'Are you sure you want to delete this policy?', + }, + ]} + placement="end" + visible={ocVisible} + id={row.id} + hideFunction={() => setOCVisible(false)} + /> + + ) +} + +const columns = [ + { + selector: (row) => row['displayName'], + name: 'Name', + sortable: true, + exportSelector: 'displayName', + }, + { + selector: (row) => row['isAssigned'], + name: 'Is Assigned', + sortable: true, + exportSelector: 'isAssigned', + cell: cellBooleanFormatter(), + }, + { + selector: (row) => row['lastModifiedDateTime'], + name: 'Last Modified', + exportSelector: 'lastModifiedDateTime', + cell: cellDateFormatter({ format: 'relative' }), + }, + { + name: 'Actions', + cell: Actions, + maxWidth: '80px', + }, +] + +const AppProtectionList = () => { + const tenant = useSelector((state) => state.app.currentTenant) + + // eslint-disable-next-line react/prop-types + const ExpandedComponent = ({ data }) => ( + // eslint-disable-next-line react/prop-types + + ) + + return ( + + + + } + tenantSelector={true} + datatable={{ + path: '/api/ListGraphRequest', + params: { + TenantFilter: tenant?.defaultDomainName, + Endpoint: 'deviceAppManagement/managedAppPolicies', + $orderby: 'displayName', + }, + columns, + reportName: `${tenant?.defaultDomainName}-MEMPolicies-List`, + tableProps: { + expandableRows: true, + expandableRowsComponent: ExpandedComponent, + expandOnRowClicked: true, + }, + }} + /> + ) +} + +export default AppProtectionList diff --git a/src/views/endpoint/intune/MEMListPolicies.jsx b/src/views/endpoint/intune/MEMListPolicies.jsx index 980d68010132..3f95f45d3f5e 100644 --- a/src/views/endpoint/intune/MEMListPolicies.jsx +++ b/src/views/endpoint/intune/MEMListPolicies.jsx @@ -121,7 +121,7 @@ const IntuneList = () => { return ( { title="Invite Guest" /> +
    + +
    ) From d961d173e4fdcf23d50c401deecac122d52dece0 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Tue, 26 Mar 2024 14:54:27 +0100 Subject: [PATCH 07/40] Added Compliance Policies --- src/_nav.jsx | 5 + src/routes.js | 7 + src/views/endpoint/intune/MEMAddPolicy.jsx | 1 + .../endpoint/intune/MEMListCompliance.jsx | 155 ++++++++++++++++++ src/views/endpoint/intune/MEMListPolicies.jsx | 6 +- 5 files changed, 171 insertions(+), 3 deletions(-) create mode 100644 src/views/endpoint/intune/MEMListCompliance.jsx diff --git a/src/_nav.jsx b/src/_nav.jsx index 77c84d57f31a..d3f46a503c75 100644 --- a/src/_nav.jsx +++ b/src/_nav.jsx @@ -484,6 +484,11 @@ const _nav = [ name: 'Configuration Policies', to: '/endpoint/MEM/list-policies', }, + { + component: CNavItem, + name: 'Compliance Policies', + to: '/endpoint/MEM/list-compliance-policies', + }, { component: CNavItem, name: 'Protection Policies', diff --git a/src/routes.js b/src/routes.js index d5b459b465b9..9997cd58f515 100644 --- a/src/routes.js +++ b/src/routes.js @@ -130,6 +130,8 @@ const AutopilotListStatusPages = React.lazy(() => import('src/views/endpoint/autopilot/AutopilotListStatusPages'), ) const IntuneListPolicies = React.lazy(() => import('src/views/endpoint/intune/MEMListPolicies')) +const IntuneListCompliance = React.lazy(() => import('src/views/endpoint/intune/MEMListCompliance')) + const IntuneListAppProtection = React.lazy(() => import('src/views/endpoint/intune/MEMListAppProtection'), ) @@ -490,6 +492,11 @@ const routes = [ name: 'List Intune Policies', component: IntuneListPolicies, }, + { + path: '/endpoint/MEM/list-compliance-policies', + name: 'List Intune Compliance Policies', + component: IntuneListCompliance, + }, { path: '/endpoint/MEM/list-appprotection-policies', name: 'List App Protection Policies', diff --git a/src/views/endpoint/intune/MEMAddPolicy.jsx b/src/views/endpoint/intune/MEMAddPolicy.jsx index 00987200dc65..9ab14f4840ca 100644 --- a/src/views/endpoint/intune/MEMAddPolicy.jsx +++ b/src/views/endpoint/intune/MEMAddPolicy.jsx @@ -171,6 +171,7 @@ const AddPolicy = () => { { label: 'Settings Catalog', value: 'Catalog' }, { label: 'Custom Configuration', value: 'Device' }, { label: 'App Protection or Configuration Policy', value: 'AppProtection' }, + { label: 'Compliance Policy', value: 'deviceCompliancePolicies' }, ]} /> diff --git a/src/views/endpoint/intune/MEMListCompliance.jsx b/src/views/endpoint/intune/MEMListCompliance.jsx new file mode 100644 index 000000000000..fed996b957b3 --- /dev/null +++ b/src/views/endpoint/intune/MEMListCompliance.jsx @@ -0,0 +1,155 @@ +import React, { useState } from 'react' +import { useSelector } from 'react-redux' +import { CButton } from '@coreui/react' +import { + faBook, + faEdit, + faEllipsisV, + faGlobeEurope, + faPager, + faTrashAlt, + faUser, +} from '@fortawesome/free-solid-svg-icons' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { CippPageList } from 'src/components/layout' +import { Link } from 'react-router-dom' +import { CippActionsOffcanvas, CippCodeBlock } from 'src/components/utilities' +import { TitleButton } from 'src/components/buttons' +import { cellBooleanFormatter, cellDateFormatter } from 'src/components/tables' + +const Actions = (row, rowIndex, formatExtraData) => { + const [ocVisible, setOCVisible] = useState(false) + console.log(row) + const tenant = useSelector((state) => state.app.currentTenant) + return ( + <> + setOCVisible(true)}> + + + , + modalUrl: `/api/AddIntuneTemplate?TenantFilter=${tenant.defaultDomainName}&ID=${row.id}&URLName=deviceCompliancePolicies`, + modalMessage: 'Are you sure you want to create a template based on this policy?', + }, + { + icon: , + label: ' Assign to All Users', + color: 'info', + modal: true, + modalUrl: `/api/ExecAssignPolicy?AssignTo=allLicensedUsers&TenantFilter=${tenant.defaultDomainName}&ID=${row.id}&type=deviceCompliancePolicies`, + modalMessage: `Are you sure you want to assign ${row.displayName} to all users?`, + }, + { + icon: , + label: ' Assign to All Devices', + color: 'info', + modal: true, + modalUrl: `/api/ExecAssignPolicy?AssignTo=AllDevices&TenantFilter=${tenant.defaultDomainName}&ID=${row.id}&type=deviceCompliancePolicies`, + modalMessage: `Are you sure you want to assign ${row.displayName} to all devices?`, + }, + { + icon: , + label: ' Assign Globally (All Users / All Devices)', + color: 'info', + modal: true, + modalUrl: `/api/ExecAssignPolicy?AssignTo=AllDevicesAndUsers&TenantFilter=${tenant.defaultDomainName}&ID=${row.id}&type=deviceCompliancePolicies`, + modalMessage: `Are you sure you want to assign ${row.displayName} to all users and devices?`, + }, + { + label: 'Delete Policy', + color: 'danger', + modal: true, + icon: , + modalUrl: `/api/RemovePolicy?TenantFilter=${tenant.defaultDomainName}&ID=${row.id}&URLName=${row.URLName}`, + modalMessage: 'Are you sure you want to delete this policy?', + }, + ]} + placement="end" + visible={ocVisible} + id={row.id} + hideFunction={() => setOCVisible(false)} + /> + + ) +} + +const columns = [ + { + selector: (row) => row['displayName'], + name: 'Name', + sortable: true, + exportSelector: 'displayName', + }, + { + selector: (row) => row['description'], + name: 'Description', + sortable: true, + exportSelector: 'description', + }, + { + selector: (row) => row['lastModifiedDateTime'], + name: 'Last Modified', + exportSelector: 'lastModifiedDateTime', + cell: cellDateFormatter({ format: 'relative' }), + }, + { + name: 'Actions', + cell: Actions, + maxWidth: '80px', + }, +] + +const ComplianceList = () => { + const tenant = useSelector((state) => state.app.currentTenant) + + // eslint-disable-next-line react/prop-types + const ExpandedComponent = ({ data }) => ( + // eslint-disable-next-line react/prop-types + + ) + + return ( + + + + } + tenantSelector={true} + datatable={{ + path: '/api/ListGraphRequest', + params: { + TenantFilter: tenant?.defaultDomainName, + Endpoint: 'deviceManagement/deviceCompliancePolicies', + $orderby: 'displayName', + $count: true, + }, + columns, + reportName: `${tenant?.defaultDomainName}-MEMPolicies-List`, + tableProps: { + expandableRows: true, + expandableRowsComponent: ExpandedComponent, + expandOnRowClicked: true, + }, + }} + /> + ) +} + +export default ComplianceList diff --git a/src/views/endpoint/intune/MEMListPolicies.jsx b/src/views/endpoint/intune/MEMListPolicies.jsx index 3f95f45d3f5e..cd54f68eb9f6 100644 --- a/src/views/endpoint/intune/MEMListPolicies.jsx +++ b/src/views/endpoint/intune/MEMListPolicies.jsx @@ -47,7 +47,7 @@ const Actions = (row, rowIndex, formatExtraData) => { label: ' Assign to All Users', color: 'info', modal: true, - modalUrl: `/api/ExecAssignPolicy?AssignTo=allLicensedUsers&TenantFilter=${tenant.defaultDomainName}&ID=${row.id}`, + modalUrl: `/api/ExecAssignPolicy?AssignTo=allLicensedUsers&TenantFilter=${tenant.defaultDomainName}&ID=${row.id}&type=${row.URLName}`, modalMessage: `Are you sure you want to assign ${row.displayName} to all users?`, }, { @@ -55,7 +55,7 @@ const Actions = (row, rowIndex, formatExtraData) => { label: ' Assign to All Devices', color: 'info', modal: true, - modalUrl: `/api/ExecAssignPolicy?AssignTo=AllDevices&TenantFilter=${tenant.defaultDomainName}&ID=${row.id}`, + modalUrl: `/api/ExecAssignPolicy?AssignTo=AllDevices&TenantFilter=${tenant.defaultDomainName}&ID=${row.id}&type=${row.URLName}`, modalMessage: `Are you sure you want to assign ${row.displayName} to all devices?`, }, { @@ -63,7 +63,7 @@ const Actions = (row, rowIndex, formatExtraData) => { label: ' Assign Globally (All Users / All Devices)', color: 'info', modal: true, - modalUrl: `/api/ExecAssignPolicy?AssignTo=AllDevicesAndUsers&TenantFilter=${tenant.defaultDomainName}&ID=${row.id}`, + modalUrl: `/api/ExecAssignPolicy?AssignTo=AllDevicesAndUsers&TenantFilter=${tenant.defaultDomainName}&ID=${row.id}&type=${row.URLName}`, modalMessage: `Are you sure you want to assign ${row.displayName} to all users and devices?`, }, { From af12a3f906005bdad15c48ad644116a56f79a0a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Tue, 26 Mar 2024 20:50:00 +0100 Subject: [PATCH 08/40] Standard for trusting external MFA in Cross-tenant access setting --- src/data/standards.json | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/data/standards.json b/src/data/standards.json index 6d26445f6515..f3c97b88df85 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -232,6 +232,32 @@ "impact": "Low Impact", "impactColour": "info" }, + { + "name": "standards.ExternalMFATrusted", + "cat": "Entra (AAD) Standards", + "tag": ["lowimpact"], + "helpText": "Sets the state of the Cross-tenant access setting to trust external MFA. This allows guest users to use their home tenant MFA to access your tenant.", + "addedComponent": [ + { + "type": "Select", + "label": "Select value", + "name": "standards.ExternalMFATrusted.state", + "values": [ + { + "label": "Enabled", + "value": "true" + }, + { + "label": "Disabled", + "value": "false" + } + ] + } + ], + "label": "Sets the Cross-tenant access setting to trust external MFA", + "impact": "Low Impact", + "impactColour": "info" + }, { "name": "standards.DisableTenantCreation", "cat": "Entra (AAD) Standards", From 66b8be6d8ee92510225e85e1279ea375650b21b5 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Tue, 26 Mar 2024 21:14:50 +0100 Subject: [PATCH 09/40] dynamic lists --- src/views/identity/administration/AddGroup.jsx | 15 +++++++++++++++ .../identity/administration/AddGroupTemplate.jsx | 15 +++++++++++++++ .../administration/DeployGroupTemplate.jsx | 10 ++++++++++ 3 files changed, 40 insertions(+) diff --git a/src/views/identity/administration/AddGroup.jsx b/src/views/identity/administration/AddGroup.jsx index 9faa8544bca7..3c2c308d1cef 100644 --- a/src/views/identity/administration/AddGroup.jsx +++ b/src/views/identity/administration/AddGroup.jsx @@ -139,6 +139,12 @@ const AddGroup = () => { + + { } /> + + + diff --git a/src/views/identity/administration/AddGroupTemplate.jsx b/src/views/identity/administration/AddGroupTemplate.jsx index 80d54b54c575..1a6bd6ecf6e6 100644 --- a/src/views/identity/administration/AddGroupTemplate.jsx +++ b/src/views/identity/administration/AddGroupTemplate.jsx @@ -70,6 +70,11 @@ const AddGroupTemplate = () => { value="security" />{' '} + { } /> + + + + diff --git a/src/views/identity/administration/DeployGroupTemplate.jsx b/src/views/identity/administration/DeployGroupTemplate.jsx index 64b730df4d43..e0524fa0d970 100644 --- a/src/views/identity/administration/DeployGroupTemplate.jsx +++ b/src/views/identity/administration/DeployGroupTemplate.jsx @@ -153,6 +153,8 @@ const ApplyGroupTemplate = () => { placeholder="Select a group type" values={[ { label: 'Dynamic Group', value: 'dynamic' }, + { label: 'Dynamic Distribution Group (Beta)', value: 'dynamicdistribution' }, + { label: 'Security Group', value: 'generic' }, { label: 'Distribution group', value: 'distribution' }, { label: 'Azure Role Group', value: 'azurerole' }, @@ -207,6 +209,14 @@ const ApplyGroupTemplate = () => { placeholder="Enter membership rule syntax" /> + + +
    From 712988ffe2d0c6030a63c2909515306522026aef Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Wed, 27 Mar 2024 16:50:46 +0100 Subject: [PATCH 10/40] fixes bug with blank arrays --- src/components/tables/CellTable.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/tables/CellTable.jsx b/src/components/tables/CellTable.jsx index e03cd95059bd..549e4805dfa0 100644 --- a/src/components/tables/CellTable.jsx +++ b/src/components/tables/CellTable.jsx @@ -21,7 +21,11 @@ export default function cellTable( } if (!Array.isArray(columnProp) && typeof columnProp === 'object') { - columnProp = [columnProp] + columnProp = Object.keys(columnProp).map((key) => { + return { + [key]: columnProp[key], + } + }) } if (Array.isArray(columnProp) && typeof columnProp[0] !== 'object') { From d1dcd45528d4a9360322264a8209a9225f2a5f5c Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Wed, 27 Mar 2024 17:52:45 +0100 Subject: [PATCH 11/40] fixes #2210 --- src/components/tables/CippTable.jsx | 111 +++++++++++++--------------- 1 file changed, 51 insertions(+), 60 deletions(-) diff --git a/src/components/tables/CippTable.jsx b/src/components/tables/CippTable.jsx index 7b155136c17b..c033e8c39688 100644 --- a/src/components/tables/CippTable.jsx +++ b/src/components/tables/CippTable.jsx @@ -38,6 +38,7 @@ import { useSearchParams } from 'react-router-dom' import CopyToClipboard from 'react-copy-to-clipboard' import { setDefaultColumns } from 'src/store/features/app' import { end } from '@popperjs/core' +import { current } from '@reduxjs/toolkit' const FilterComponent = ({ filterText, onFilter, onClear, filterlist, onFilterPreset }) => ( <> @@ -630,74 +631,64 @@ export default function CippTable({ return null }) - var exportData = filteredItems + // Define the flatten function + const flatten = (obj, prefix = '') => { + return Object.keys(obj).reduce((output, key) => { + const newKey = prefix ? `${prefix}.${key}` : key + const value = obj[key] === null ? '' : obj[key] - var filtered = - Array.isArray(exportData) && exportData.length > 0 - ? exportData.map((obj) => - // eslint-disable-next-line no-sequences - /* keys.reduce((acc, curr) => ((acc[curr] = obj[curr]), acc), {}),*/ - keys.reduce((acc, curr) => { - const key = curr.split('/') - if (key.length > 1) { - let property = obj - for (let x = 0; x < key.length; x++) { - if ( - Object.prototype.hasOwnProperty.call(property, key[x]) && - property[key[x]] !== null - ) { - property = property[key[x]] - } else { - property = 'n/a' - break - } - } - acc[curr] = property - } else { - if (typeof exportFormatter[curr] === 'function') { - acc[curr] = exportFormatter[curr]({ cell: obj[curr] }) - } else { - acc[curr] = obj[curr] - } - } - return acc - }, {}), - ) - : [] - - const flatten = (obj, prefix) => { - let output = {} - for (let k in obj) { - let val = obj[k] - if (val === null) { - val = '' - } - const newKey = prefix ? prefix + '.' + k : k - if (typeof val === 'object') { - if (Array.isArray(val)) { - const { ...arrToObj } = val - const newObj = flatten(arrToObj, newKey) - output = { ...output, ...newObj } - } else { - const newObj = flatten(val, newKey) - output = { ...output, ...newObj } - } + if (typeof value === 'object' && !Array.isArray(value)) { + Object.assign(output, flatten(value, newKey)) } else { - output = { ...output, [newKey]: val } + output[newKey] = value } - } - return output + return output + }, {}) } - filtered = filtered.map((item) => flatten(item)) - let dataFlat + // Define the applyFormatter function + const applyFormatter = (obj) => { + return Object.keys(obj).reduce((acc, key) => { + const formatter = exportFormatter[key] + // Since the keys after flattening will be dot-separated, we need to adjust this to support nested keys if necessary. + const keyParts = key.split('.') + const finalKeyPart = keyParts[keyParts.length - 1] + const formattedValue = + typeof formatter === 'function' ? formatter({ cell: obj[key] }) : obj[key] + acc[key] = formattedValue + return acc + }, {}) + } - if (Array.isArray(data)) { - dataFlat = data.map((item) => flatten(item)) - } else { - dataFlat = [] + // Process exportData function + const processExportData = (exportData, selectedColumns) => { + //filter out the columns that are not selected via selectedColumns + exportData = exportData.map((item) => { + return Object.keys(item) + .filter((key) => selectedColumns.find((o) => o.exportSelector === key)) + .reduce((obj, key) => { + obj[key] = item[key] + return obj + }, {}) + }) + return Array.isArray(exportData) && exportData.length > 0 + ? exportData.map((obj) => { + const flattenedObj = flatten(obj) + return applyFormatter(flattenedObj) + }) + : [] } + // Applying the processExportData function to both filteredItems and data + var filtered = processExportData(filteredItems, updatedColumns) + + // Adjusted dataFlat processing to include formatting + let dataFlat = Array.isArray(data) + ? data.map((item) => { + const flattenedItem = flatten(item) + return applyFormatter(flattenedItem) + }) + : [] if (!disablePDFExport) { if (dynamicColumns === true) { defaultActions.push([ From 31378543c12ffb44d33d307203ad8e5951ecef2d Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Wed, 27 Mar 2024 18:32:44 +0100 Subject: [PATCH 12/40] added alerts --- src/views/tenant/administration/ListAlertsQueue.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/tenant/administration/ListAlertsQueue.jsx b/src/views/tenant/administration/ListAlertsQueue.jsx index 1c155771a9bd..abce88eca036 100644 --- a/src/views/tenant/administration/ListAlertsQueue.jsx +++ b/src/views/tenant/administration/ListAlertsQueue.jsx @@ -39,6 +39,8 @@ const alertsList = [ inputName: 'SharePointQuotaQuota', }, { name: 'ExpiringLicenses', label: 'Alert on licenses expiring in 30 days' }, + { name: 'NewAppApproval', label: 'Alert on new apps in the application approval list' }, + { name: 'SecDefaultsUpsell', label: 'Alert on Security Defaults automatic enablement' }, { name: 'DefenderStatus', @@ -221,7 +223,6 @@ const ListClassicAlerts = () => { ) From 06a41ad15f32d7bdd5d98ec4a10b8f7d256955fe Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Wed, 27 Mar 2024 18:57:49 +0100 Subject: [PATCH 13/40] changes --- src/views/identity/administration/EditUser.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/identity/administration/EditUser.jsx b/src/views/identity/administration/EditUser.jsx index f456f6f9c4fd..4f2aef34773e 100644 --- a/src/views/identity/administration/EditUser.jsx +++ b/src/views/identity/administration/EditUser.jsx @@ -107,7 +107,7 @@ const EditUser = () => { PostalCode: values.postalCode, usageLocation: values.usageLocation ? values.usageLocation.value : '', UserID: userId, - Username: values.mailNickname, + Username: values.username, streetAddress: values.streetAddress, tenantID: tenantDomain, mustchangepass: values.RequirePasswordChange, @@ -222,7 +222,7 @@ const EditUser = () => { From ee11d7097682debd7945f5dff4a87c72539da6bc Mon Sep 17 00:00:00 2001 From: John Duprey Date: Wed, 27 Mar 2024 13:59:56 -0400 Subject: [PATCH 14/40] fix radio/checkbox bug --- src/components/forms/RFFComponents.jsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/components/forms/RFFComponents.jsx b/src/components/forms/RFFComponents.jsx index fef24a7cb418..b3d491caa5b7 100644 --- a/src/components/forms/RFFComponents.jsx +++ b/src/components/forms/RFFComponents.jsx @@ -14,7 +14,7 @@ import Select from 'react-select' import Creatable, { useCreatable } from 'react-select/creatable' import { Field } from 'react-final-form' import { FieldArray } from 'react-final-form-arrays' -import React, { useState, useMemo, useRef } from 'react' +import React, { useState, useMemo } from 'react' import PropTypes from 'prop-types' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { debounce } from 'lodash-es' @@ -37,6 +37,7 @@ const sharedPropTypes = { error: PropTypes.any, }), }), + onClick: PropTypes.func, } export const RFFCFormFeedback = ({ meta }) => { @@ -54,7 +55,14 @@ RFFCFormFeedback.propTypes = { }), } -export const RFFCFormCheck = ({ name, label, className = 'mb-3', validate, disabled = false }) => { +export const RFFCFormCheck = ({ + name, + label, + className = 'mb-3', + validate, + disabled = false, + onClick, +}) => { return ( {({ input, meta }) => ( @@ -67,6 +75,7 @@ export const RFFCFormCheck = ({ name, label, className = 'mb-3', validate, disab disabled={disabled} id={name} label={label} + onClick={onClick} /> @@ -92,6 +101,7 @@ export const RFFCFormSwitch = ({ validate, disabled = false, initialValue, + onClick, }) => { return ( @@ -113,6 +123,7 @@ export const RFFCFormSwitch = ({ disabled={disabled} id={name} label={label} + onClick={onClick} /> {input.value && } {sublabel} @@ -239,6 +250,7 @@ export const RFFCFormRadio = ({ className = 'mb-3', validate, disabled = false, + onClick, }) => { return ( @@ -252,6 +264,7 @@ export const RFFCFormRadio = ({ type="radio" name={name} label={label} + onClick={onClick} /> From 79946f852c746841c19bc19f5bc3fc87125ad9e3 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Wed, 27 Mar 2024 21:32:46 +0100 Subject: [PATCH 15/40] fixes selector --- src/views/tenant/administration/Tenants.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/views/tenant/administration/Tenants.jsx b/src/views/tenant/administration/Tenants.jsx index 24b700a30f08..87ab0a9d12da 100644 --- a/src/views/tenant/administration/Tenants.jsx +++ b/src/views/tenant/administration/Tenants.jsx @@ -11,8 +11,9 @@ import { CippTenantOffcanvasRow } from 'src/components/utilities/CippTenantOffca const TenantsList = () => { const TenantListSelector = useSelector((state) => state.app.TenantListSelector) const tenant = useSelector((state) => state.app.currentTenant) + console.log('TenantListSelector', TenantListSelector) const [columnOmits, setOmitVisible] = useState(TenantListSelector) - + console.log('columnOmits', columnOmits) const generatePortalColumn = (portal) => ({ name: portal.label, omit: columnOmits, @@ -59,7 +60,7 @@ const TenantsList = () => { ] const titleButton = ( setOmitVisible(!columnOmits)} title={columnOmits ? 'Show Direct Links' : 'Hide Direct Links'} /> @@ -73,6 +74,7 @@ const TenantsList = () => { datatable={{ keyField: 'id', columns, + dynamicColumns: false, reportName: `${tenant.tenantId}-Tenants-List`, path: '/api/ListTenants', }} From e20249e1ac2982977db9fc6ee0ca6c342a84474c Mon Sep 17 00:00:00 2001 From: John Duprey Date: Wed, 27 Mar 2024 16:35:49 -0400 Subject: [PATCH 16/40] fix tenant access check --- src/views/cipp/app-settings/SettingsGeneral.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/cipp/app-settings/SettingsGeneral.jsx b/src/views/cipp/app-settings/SettingsGeneral.jsx index 887758f30abb..86297419f548 100644 --- a/src/views/cipp/app-settings/SettingsGeneral.jsx +++ b/src/views/cipp/app-settings/SettingsGeneral.jsx @@ -439,6 +439,7 @@ export function SettingsGeneral() { columns={checkAccessColumns} tableProps={tableProps} data={accessCheckResult.data.Results} + dynamicColumns={false} /> )} From 0a177407d205724a61104db774d10f0882c02999 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Wed, 27 Mar 2024 21:42:54 +0100 Subject: [PATCH 17/40] fixes ap issue disappearing offCanvas --- .../autopilot/AutopilotListDevices.jsx | 124 +++++++++--------- 1 file changed, 63 insertions(+), 61 deletions(-) diff --git a/src/views/endpoint/autopilot/AutopilotListDevices.jsx b/src/views/endpoint/autopilot/AutopilotListDevices.jsx index f7c58629f4b8..486d289bb881 100644 --- a/src/views/endpoint/autopilot/AutopilotListDevices.jsx +++ b/src/views/endpoint/autopilot/AutopilotListDevices.jsx @@ -14,71 +14,73 @@ import { useLazyGenericGetRequestQuery } from 'src/store/api/app' import { CellTip } from 'src/components/tables' import { TitleButton } from 'src/components/buttons' -const AutopilotListDevices = () => { +const OffCanvas = (row, index, column) => { const tenant = useSelector((state) => state.app.currentTenant) - const [ExecuteGetRequest, getResults] = useLazyGenericGetRequestQuery() + const [ocVisible, setOCVisible] = useState(false) - const Actions = (row, index, column) => { - return ( - <> - setOCVisible(true)}> - - - + setOCVisible(true)}> + + + setOCVisible(false)} - /> - - ) - } + modalMessage: 'Select the user to assign', + }, + { + label: 'Delete Device', + color: 'danger', + modal: true, + modalUrl: `/api/RemoveAPDevice?ID=${row.id}&tenantFilter=${tenant.defaultDomainName}`, + modalMessage: 'Are you sure you want to delete this device?', + }, + ]} + placement="end" + visible={ocVisible} + id={row.id} + hideFunction={() => setOCVisible(false)} + /> + + ) +} +const AutopilotListDevices = () => { + const [ExecuteGetRequest, getResults] = useLazyGenericGetRequestQuery() + const tenant = useSelector((state) => state.app.currentTenant) const columns = [ { @@ -124,8 +126,8 @@ const AutopilotListDevices = () => { exportSelector: 'enrollmentState', }, { - name: (row) => row['Actions'], - cell: Actions, + name: 'Actions', + cell: OffCanvas, }, ] From d7cf61db1e40c84f73032c0aa92825429d3e1c40 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Wed, 27 Mar 2024 17:22:24 -0400 Subject: [PATCH 18/40] add standards from PR #2257 #2256 #2255 #2254 --- src/data/standards.json | 220 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) diff --git a/src/data/standards.json b/src/data/standards.json index f3c97b88df85..cab53f3144d6 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -788,6 +788,226 @@ "impact": "Low Impact", "impactColour": "info" }, + { + "name": "standards.AntiPhishPolicy", + "cat": "Defender Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "This creates a Anti-Phishing policy that automatically enables Mailbox Intelligence and spoofing, optional switches for Mailtips.", + "addedComponent": [ + { + "type": "number", + "label": "Phishing email threshold. (Default 1)", + "name": "standards.AntiPhishPolicy.PhishThresholdLevel", + "default": 1 + }, + { + "type": "boolean", + "label": "Show first contact safety tip", + "name": "standards.AntiPhishPolicy.EnableFirstContactSafetyTips", + "default": true + }, + { + "type": "boolean", + "label": "Show user impersonation safety tip", + "name": "standards.AntiPhishPolicy.EnableSimilarUsersSafetyTips", + "default": true + }, + { + "type": "boolean", + "label": "Show domain impersonation safety tip", + "name": "standards.AntiPhishPolicy.EnableSimilarDomainsSafetyTips", + "default": true + }, + { + "type": "boolean", + "label": "Show user impersonation unusual characters safety tip", + "name": "standards.AntiPhishPolicy.EnableUnusualCharactersSafetyTips", + "default": true + }, + { + "type": "Select", + "label": "If Mailbox Intelligence detects an impersonated user", + "name": "standards.AntiPhishPolicy.MailboxIntelligenceProtectionAction", + "values": [ + { + "label": "Move to Junk Folder", + "value": "MoveToJmf" + }, + { + "label": "Delete the message before its delivered", + "value": "Delete" + }, + { + "label": "Quarantine the message", + "value": "Quarantine" + } + ] + }, + { + "type": "Select", + "label": "Apply quarantine policy", + "name": "standards.AntiPhishPolicy.MailboxIntelligenceQuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + } + ], + "label": "Default Anti-Phishing Policy", + "impact": "Low Impact", + "impactColour": "info" + }, + { + "name": "standards.SafeAttachmentPolicy", + "cat": "Defender Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "This creates a Safe Attachment policy", + "addedComponent": [ + { + "type": "Select", + "label": "Action", + "name": "standards.SafeAttachmentPolicy.Action", + "values": [ + { + "label": "Allow", + "value": "Allow" + }, + { + "label": "Block", + "value": "Block" + }, + { + "label": "DynamicDelivery", + "value": "DynamicDelivery" + } + ] + }, + { + "type": "Select", + "label": "QuarantineTag", + "name": "standards.SafeAttachmentPolicy.QuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + }, + { + "type": "boolean", + "label": "Redirect", + "name": "standards.SafeAttachmentPolicy.Redirect" + }, + { + "type": "input", + "name": "standards.SafeAttachmentPolicy.RedirectAddress", + "label": "Redirect Address" + } + ], + "label": "Default Safe Attachment Policy", + "impact": "Low Impact", + "impactColour": "info" + }, + { + "name": "standards.AtpPolicyForO365", + "cat": "Defender Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "This creates a Atp policy that enables Defender for Office 365 for Sharepoint, OneDrive and Microsoft Teams.", + "addedComponent": [ + { + "type": "boolean", + "label": "Allow people to click through Protected View even if Safe Documents identified the file as malicious", + "name": "standards.AtpPolicyForO365.AllowSafeDocsOpen", + "default": false + } + ], + "label": "Default Atp Policy For O365", + "impact": "Low Impact", + "impactColour": "info" + }, + { + "name": "standards.MalwareFilterPolicy", + "cat": "Defender Standards", + "tag": ["lowimpact", "CIS"], + "helpText": "This creates a Malware filter policy that enables the default File filter and Zero-hour auto purge for malware.", + "addedComponent": [ + { + "type": "Select", + "label": "FileTypeAction", + "name": "standards.MalwareFilterPolicy.FileTypeAction", + "values": [ + { + "label": "Reject", + "value": "Reject" + }, + { + "label": "Quarantine the message", + "value": "Quarantine" + } + ] + }, + { + "type": "Select", + "label": "QuarantineTag", + "name": "standards.MalwareFilterPolicy.QuarantineTag", + "values": [ + { + "label": "AdminOnlyAccessPolicy", + "value": "AdminOnlyAccessPolicy" + }, + { + "label": "DefaultFullAccessPolicy", + "value": "DefaultFullAccessPolicy" + }, + { + "label": "DefaultFullAccessWithNotificationPolicy", + "value": "DefaultFullAccessWithNotificationPolicy" + } + ] + }, + { + "type": "boolean", + "label": "Enable Internal Sender Admin Notifications", + "name": "standards.MalwareFilterPolicy.EnableInternalSenderAdminNotifications" + }, + { + "type": "input", + "name": "standards.MalwareFilterPolicy.InternalSenderAdminAddress", + "label": "Internal Sender Admin Address" + }, + { + "type": "boolean", + "label": "Enable Internal Sender Admin Notifications", + "name": "standards.MalwareFilterPolicy.EnableExternalSenderAdminNotifications" + }, + { + "type": "input", + "name": "standards.MalwareFilterPolicy.ExternalSenderAdminAddress", + "label": "External Sender Admin Address" + } + ], + "label": "Default Malware Filter Policy", + "impact": "Low Impact", + "impactColour": "info" + }, { "name": "standards.intuneDeviceRetirementDays", "cat": "Intune Standards", From 6e616b9cc701e5368104430fcc724442306bc6ad Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Thu, 28 Mar 2024 13:09:07 +0100 Subject: [PATCH 19/40] improved search --- src/components/tables/CippTable.jsx | 31 ++++++++++++++++------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/components/tables/CippTable.jsx b/src/components/tables/CippTable.jsx index c033e8c39688..9498fc271c2e 100644 --- a/src/components/tables/CippTable.jsx +++ b/src/components/tables/CippTable.jsx @@ -278,28 +278,29 @@ export default function CippTable({ debounceSetGraphFilter(query) return data } else if (filterText.startsWith('Complex:')) { - const conditions = filterText.slice(9).split(';') + // Split conditions by ';' and 'or', and trim spaces + const conditions = filterText + .slice(9) + .split(/\s*or\s*|\s*;\s*/i) // Split by 'or' or ';', case insensitive, with optional spaces + .map((condition) => condition.trim()) - return conditions.reduce((filteredData, condition) => { - const match = condition.trim().match(/(\w+)\s*(eq|ne|like|notlike|gt|lt)\s*(.+)/) + return data.filter((item) => { + // Check if any condition is met for the item + return conditions.some((condition) => { + const match = condition.match(/(\w+)\s*(eq|ne|like|notlike|gt|lt)\s*(.+)/) - if (!match) { - return filteredData // Keep the current filtered data as is - } + if (!match) return false - let [property, operator, value] = match.slice(1) - value = escapeRegExp(value) // Escape special characters + let [property, operator, value] = match.slice(1) + value = escapeRegExp(value) // Escape special characters - return filteredData.filter((item) => { - // Find the actual key in the item that matches the property (case insensitive) const actualKey = Object.keys(item).find( (key) => key.toLowerCase() === property.toLowerCase(), ) if (!actualKey) { - //set the error message so the user understands the key is not found. console.error(`FilterError: Property "${property}" not found.`) - return false // Keep the item if the property is not found + return false } switch (operator) { @@ -316,10 +317,10 @@ export default function CippTable({ case 'lt': return parseFloat(item[actualKey]) < parseFloat(value) default: - return true + return false // Should not reach here normally } }) - }, data) + }) } else { return data.filter( (item) => JSON.stringify(item).toLowerCase().indexOf(filterText.toLowerCase()) !== -1, @@ -327,6 +328,8 @@ export default function CippTable({ } } + // Helper functions like `debounce` and `escapeRegExp` should be defined somewhere in your code + // For example, a simple escapeRegExp function could be: const filteredItems = Array.isArray(data) ? filterData(data, filterText) : [] const applyFilter = (e) => { From 9e6e01dc2de3a2a76f1e2d7629d5556b17b07981 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Thu, 28 Mar 2024 13:33:11 +0100 Subject: [PATCH 20/40] fixes for or --- src/components/tables/CippTable.jsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/tables/CippTable.jsx b/src/components/tables/CippTable.jsx index 9498fc271c2e..3c246cbecb40 100644 --- a/src/components/tables/CippTable.jsx +++ b/src/components/tables/CippTable.jsx @@ -33,12 +33,11 @@ import { import { cellGenericFormatter } from './CellGenericFormat' import { ModalService } from '../utilities' import { useLazyGenericGetRequestQuery, useLazyGenericPostRequestQuery } from 'src/store/api/app' -import { debounce, update } from 'lodash-es' +import { debounce } from 'lodash-es' import { useSearchParams } from 'react-router-dom' import CopyToClipboard from 'react-copy-to-clipboard' import { setDefaultColumns } from 'src/store/features/app' -import { end } from '@popperjs/core' -import { current } from '@reduxjs/toolkit' +import M365Licenses from 'src/data/M365Licenses' const FilterComponent = ({ filterText, onFilter, onClear, filterlist, onFilterPreset }) => ( <> From 329e0b07d76ec2d613d512c689b11e020d6387ab Mon Sep 17 00:00:00 2001 From: John Duprey Date: Thu, 28 Mar 2024 13:28:01 -0400 Subject: [PATCH 21/40] WizardTableField set dynamicColumns to false --- src/components/tables/WizardTableField.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/tables/WizardTableField.jsx b/src/components/tables/WizardTableField.jsx index bb6ba35a9da1..ac65a722029d 100644 --- a/src/components/tables/WizardTableField.jsx +++ b/src/components/tables/WizardTableField.jsx @@ -73,6 +73,7 @@ export default class WizardTableField extends React.Component { selectableRows: true, onSelectedRowsChange: this.handleSelect, }} + dynamicColumns={false} {...props} /> ) From 694ca32ce291ea34d749f92c60ef4694693c393b Mon Sep 17 00:00:00 2001 From: John Duprey Date: Thu, 28 Mar 2024 17:06:48 -0400 Subject: [PATCH 22/40] remove lighthouse requirement for tenant check --- src/views/cipp/app-settings/SettingsGeneral.jsx | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/views/cipp/app-settings/SettingsGeneral.jsx b/src/views/cipp/app-settings/SettingsGeneral.jsx index 86297419f548..e2c887ecd806 100644 --- a/src/views/cipp/app-settings/SettingsGeneral.jsx +++ b/src/views/cipp/app-settings/SettingsGeneral.jsx @@ -85,13 +85,6 @@ export function SettingsGeneral() { omit: showExtendedInfo, exportSelector: 'GDAPRoles', }, - { - name: 'SAM User Roles', - selector: (row) => row?.SAMUserRoles, - cell: cellTableFormatter('SAMUserRoles', false, true), - omit: showExtendedInfo, - exportSelector: 'SAMUserRoles', - }, ] const checkGDAPColumns = [ From b0509ec8504ca257c0141a309766793cc8720ea5 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Thu, 28 Mar 2024 17:07:04 -0400 Subject: [PATCH 23/40] add version update function --- Tools/Update-Version.ps1 | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Tools/Update-Version.ps1 diff --git a/Tools/Update-Version.ps1 b/Tools/Update-Version.ps1 new file mode 100644 index 000000000000..48ad6e6bf9ba --- /dev/null +++ b/Tools/Update-Version.ps1 @@ -0,0 +1,10 @@ +Param($Version) +Set-Location (Get-Item $PSScriptRoot).Parent.FullName +$Files = @('version_latest.txt', 'public/version_latest.txt') +foreach ($File in $Files) { + Set-Content $File -Value $Version +} + +$Package = Get-Content package.json | ConvertFrom-Json +$Package.version = $Version +$Package | ConvertTo-Json -Depth 10 | Set-Content package.json From 58a9cabc946c15f6589520f1c03fe7327ae7ae01 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Thu, 28 Mar 2024 23:13:07 -0400 Subject: [PATCH 24/40] Mail Test --- src/_nav.jsx | 5 + src/routes.js | 7 ++ src/views/email-exchange/tools/MailTest.jsx | 101 ++++++++++++++++++++ 3 files changed, 113 insertions(+) create mode 100644 src/views/email-exchange/tools/MailTest.jsx diff --git a/src/_nav.jsx b/src/_nav.jsx index d3f46a503c75..f55c93339bd1 100644 --- a/src/_nav.jsx +++ b/src/_nav.jsx @@ -622,6 +622,11 @@ const _nav = [ name: 'Mailbox Restores', to: '/email/tools/mailbox-restores', }, + { + component: CNavItem, + name: 'Mail Test', + to: '/email/tools/mail-test', + }, ], }, { diff --git a/src/routes.js b/src/routes.js index 9997cd58f515..794ebb4b4c4d 100644 --- a/src/routes.js +++ b/src/routes.js @@ -1,4 +1,5 @@ import React from 'react' +import MailTest from 'src/views/email-exchange/tools/MailTest' const Home = React.lazy(() => import('src/views/home/Home')) const Logs = React.lazy(() => import('src/views/cipp/Logs')) @@ -247,6 +248,7 @@ const MailboxRestoreWizard = React.lazy(() => import('src/views/email-exchange/tools/MailboxRestoreWizard'), ) const MailboxRestores = React.lazy(() => import('src/views/email-exchange/tools/MailboxRestores')) +const Mailtest = React.lazy(() => import('src/views/email-exchange/tools/MailTest')) const routes = [ // { path: '/', exact: true, name: 'Home' }, @@ -611,6 +613,11 @@ const routes = [ name: 'Mailbox Restores', component: MailboxRestores, }, + { + path: '/email/tools/mail-test', + name: 'Mail Test', + component: MailTest, + }, { path: '/email/spamfilter/add-template', name: 'Add Spamfilter Template', diff --git a/src/views/email-exchange/tools/MailTest.jsx b/src/views/email-exchange/tools/MailTest.jsx new file mode 100644 index 000000000000..bc98185de466 --- /dev/null +++ b/src/views/email-exchange/tools/MailTest.jsx @@ -0,0 +1,101 @@ +import React from 'react' +import { CippCallout, CippPageList } from 'src/components/layout' +import { cellBooleanFormatter, cellDateFormatter } from 'src/components/tables' +import { cellGenericFormatter } from 'src/components/tables/CellGenericFormat' +import { useGenericGetRequestQuery } from 'src/store/api/app' + +const MailTest = () => { + const { data: config, isSuccess } = useGenericGetRequestQuery({ + path: '/api/ExecMailTest', + params: { Action: 'CheckConfig' }, + }) + + const columns = [ + { + name: 'Received', + selector: (row) => row['Received'], + sortable: true, + exportSelector: 'Received', + cell: cellDateFormatter({ format: 'short' }), + }, + { + name: 'From', + selector: (row) => row['From'], + sortable: true, + exportSelector: 'From', + cell: cellGenericFormatter(), + }, + { + name: 'Subject', + selector: (row) => row['Subject'], + sortable: true, + exportSelector: 'Subject', + cell: cellGenericFormatter(), + }, + { + name: 'SPF', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'spf')[0].Status == 'pass', + cell: cellBooleanFormatter(), + }, + { + name: 'DKIM', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'dkim')[0].Status == 'pass', + cell: cellBooleanFormatter(), + }, + { + name: 'DMARC', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'dmarc')[0].Status == 'pass', + cell: cellBooleanFormatter(), + }, + { + name: 'Comp Auth', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'compauth')[0].Status == 'pass', + cell: cellBooleanFormatter(), + }, + { + name: 'Auth Details', + selector: (row) => row['AuthResult'], + exportSelector: 'AuthResult', + cell: cellGenericFormatter(), + }, + { + name: 'Headers', + selector: (row) => row['Headers'], + exportSelector: 'Headers', + cell: cellGenericFormatter(), + }, + { + name: 'Open Message', + selector: (row) => row['Link'], + exportSelector: 'Link', + cell: cellGenericFormatter(), + }, + ] + return ( +
    + {isSuccess && ( + + {config?.HasMailRead && + 'Mail Test Email: ' + config?.MailAddresses.filter((x) => x?.IsPrimary)[0]?.Address} + {config?.HasMailRead == false && 'Permission Check: ' + config?.Message} + + )} + {isSuccess && config?.HasMailRead === true && ( + + )} +
    + ) +} + +export default MailTest From e6efeeb2339d5524628ebff3cbafb87906129f45 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Fri, 29 Mar 2024 01:23:39 -0400 Subject: [PATCH 25/40] Update MailTest.jsx --- src/views/email-exchange/tools/MailTest.jsx | 38 +++++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/src/views/email-exchange/tools/MailTest.jsx b/src/views/email-exchange/tools/MailTest.jsx index bc98185de466..9c31a1eb8155 100644 --- a/src/views/email-exchange/tools/MailTest.jsx +++ b/src/views/email-exchange/tools/MailTest.jsx @@ -1,3 +1,4 @@ +import { CButton, CSpinner } from '@coreui/react' import React from 'react' import { CippCallout, CippPageList } from 'src/components/layout' import { cellBooleanFormatter, cellDateFormatter } from 'src/components/tables' @@ -5,11 +6,15 @@ import { cellGenericFormatter } from 'src/components/tables/CellGenericFormat' import { useGenericGetRequestQuery } from 'src/store/api/app' const MailTest = () => { - const { data: config, isSuccess } = useGenericGetRequestQuery({ + const configQuery = useGenericGetRequestQuery({ path: '/api/ExecMailTest', params: { Action: 'CheckConfig' }, }) + function handleConfigRetry() { + configQuery.refetch() + } + const columns = [ { name: 'Received', @@ -73,14 +78,33 @@ const MailTest = () => { ] return (
    - {isSuccess && ( - - {config?.HasMailRead && - 'Mail Test Email: ' + config?.MailAddresses.filter((x) => x?.IsPrimary)[0]?.Address} - {config?.HasMailRead == false && 'Permission Check: ' + config?.Message} + {configQuery.isSuccess && ( + + {configQuery.data?.HasMailRead && ( + <> + Mail test email: + x?.IsPrimary)[0]?.Address + } + > + {configQuery.data?.MailAddresses.filter((x) => x?.IsPrimary)[0]?.Address} + + + )} + {configQuery.data?.HasMailRead == false && ( + <> + Permission Check: {configQuery.data?.Message}{' '} + handleConfigRetry()}> + Retry + + + )} )} - {isSuccess && config?.HasMailRead === true && ( + {configQuery.isLoading && } + {configQuery.isSuccess && configQuery.data?.HasMailRead === true && ( Date: Fri, 29 Mar 2024 13:12:19 +0100 Subject: [PATCH 26/40] add multi select offboarding --- .../administration/OffboardingWizard.jsx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/views/identity/administration/OffboardingWizard.jsx b/src/views/identity/administration/OffboardingWizard.jsx index 86ec8293eff6..af4358b1822e 100644 --- a/src/views/identity/administration/OffboardingWizard.jsx +++ b/src/views/identity/administration/OffboardingWizard.jsx @@ -74,7 +74,7 @@ const OffboardingWizard = () => { RemoveLicenses: values.RemoveLicenses, ResetPass: values.ResetPass, RevokeSessions: values.RevokeSessions, - user: values.User.value, + user: values.User, deleteuser: values.DeleteUser, removeRules: values.RemoveRules, removeMobile: values.RemoveMobile, @@ -119,6 +119,7 @@ const OffboardingWizard = () => {
    ({ value: user.userPrincipalName, @@ -278,10 +279,16 @@ const OffboardingWizard = () => {
    Selected Tenant:
    {tenantDomain} - -
    Selected User:
    - {props.values.User.value} -
    + + {props.values.User.map((user) => ( + +
    Selected User:
    + {user.value} +
    + ))}
    From fe5c2b36c2e40824d51b72529243bb5aeaf6d485 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Fri, 29 Mar 2024 13:18:47 +0100 Subject: [PATCH 27/40] add alert for going over maximum --- .../identity/administration/OffboardingWizard.jsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/views/identity/administration/OffboardingWizard.jsx b/src/views/identity/administration/OffboardingWizard.jsx index af4358b1822e..688be60b885f 100644 --- a/src/views/identity/administration/OffboardingWizard.jsx +++ b/src/views/identity/administration/OffboardingWizard.jsx @@ -129,6 +129,17 @@ const OffboardingWizard = () => { name="User" /> {usersError && Failed to load list of users} + + {/* eslint-disable react/prop-types */} + {(props) => ( + <> + {console.log(props.values)} + {props.values.User?.length >= 3 && ( + A maximum of three users is recommend. + )} + + )} +

    From eb56d1570caa41dc7ad6563203729d5aac2db3d6 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Fri, 29 Mar 2024 13:24:24 +0100 Subject: [PATCH 28/40] up version --- package.json | 2 +- public/version_latest.txt | 2 +- version_latest.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 5103fa09b1bc..9e73b8d43a81 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cipp", - "version": "5.3.2", + "version": "5.4.0", "description": "The CyberDrain Improved Partner Portal is a portal to help manage administration for Microsoft Partners.", "homepage": "https://cipp.app/", "bugs": { diff --git a/public/version_latest.txt b/public/version_latest.txt index 84197c89467d..8a30e8f94a39 100644 --- a/public/version_latest.txt +++ b/public/version_latest.txt @@ -1 +1 @@ -5.3.2 +5.4.0 diff --git a/version_latest.txt b/version_latest.txt index 84197c89467d..8a30e8f94a39 100644 --- a/version_latest.txt +++ b/version_latest.txt @@ -1 +1 @@ -5.3.2 +5.4.0 From 5c69db8417f51eb31fbebdb4797d4189dcadc52f Mon Sep 17 00:00:00 2001 From: John Duprey Date: Fri, 29 Mar 2024 08:38:35 -0400 Subject: [PATCH 29/40] Update MailTest.jsx --- src/views/email-exchange/tools/MailTest.jsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/views/email-exchange/tools/MailTest.jsx b/src/views/email-exchange/tools/MailTest.jsx index 9c31a1eb8155..d433e658dba3 100644 --- a/src/views/email-exchange/tools/MailTest.jsx +++ b/src/views/email-exchange/tools/MailTest.jsx @@ -1,4 +1,5 @@ import { CButton, CSpinner } from '@coreui/react' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import React from 'react' import { CippCallout, CippPageList } from 'src/components/layout' import { cellBooleanFormatter, cellDateFormatter } from 'src/components/tables' @@ -96,8 +97,8 @@ const MailTest = () => { {configQuery.data?.HasMailRead == false && ( <> Permission Check: {configQuery.data?.Message}{' '} - handleConfigRetry()}> - Retry + handleConfigRetry()}> + {configQuery.isLoading ? : } Retry )} From 479ebbb485b52724a3a77984e8515f397d460ed1 Mon Sep 17 00:00:00 2001 From: Esco Date: Mon, 25 Mar 2024 13:17:48 +0100 Subject: [PATCH 30/40] Added default value support to standards number type --- src/views/tenant/standards/ListAppliedStandards.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/tenant/standards/ListAppliedStandards.jsx b/src/views/tenant/standards/ListAppliedStandards.jsx index ba5c10a14601..19a45bc0b089 100644 --- a/src/views/tenant/standards/ListAppliedStandards.jsx +++ b/src/views/tenant/standards/ListAppliedStandards.jsx @@ -491,6 +491,7 @@ const ApplyNewStandard = () => { className="mb-3" name={component.name} label={component.label} + hiddenValue={component.default ?? 0} /> )} {component.type === 'boolean' && ( From fe66cd8dd385d49f47c63aaf5d8ac0d0b6c13256 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Fri, 29 Mar 2024 18:29:28 -0400 Subject: [PATCH 31/40] handle undefined/null columns --- src/components/tables/CellTable.jsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/tables/CellTable.jsx b/src/components/tables/CellTable.jsx index 549e4805dfa0..aca744aed572 100644 --- a/src/components/tables/CellTable.jsx +++ b/src/components/tables/CellTable.jsx @@ -20,7 +20,12 @@ export default function cellTable( columnProp = column } - if (!Array.isArray(columnProp) && typeof columnProp === 'object') { + if ( + !Array.isArray(columnProp) && + typeof columnProp === 'object' && + columnProp !== undefined && + columnProp !== null + ) { columnProp = Object.keys(columnProp).map((key) => { return { [key]: columnProp[key], From ad3dcd9a86827623e47decf0d86ca76472e6cc0e Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Sun, 31 Mar 2024 22:19:54 +0200 Subject: [PATCH 32/40] favourites adding --- src/App.jsx | 40 +- src/adminRoutes.js | 76 -- src/components/layout/AppSidebar.jsx | 8 +- src/components/utilities/CippauthCheck.jsx | 27 + src/components/utilities/PrivateRoute.jsx | 39 +- src/hooks/useNavFavouriteCheck.jsx | 31 + src/hooks/useRouteNavCompare.jsx | 33 + src/routes.js | 714 ---------------- src/routes.json | 921 +++++++++++++++++++++ src/views/cipp/UserSettings.jsx | 50 +- 10 files changed, 1065 insertions(+), 874 deletions(-) delete mode 100644 src/adminRoutes.js create mode 100644 src/components/utilities/CippauthCheck.jsx create mode 100644 src/hooks/useNavFavouriteCheck.jsx create mode 100644 src/hooks/useRouteNavCompare.jsx delete mode 100644 src/routes.js create mode 100644 src/routes.json diff --git a/src/App.jsx b/src/App.jsx index db95409b5c98..d10d00cf6434 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,22 +2,19 @@ import React, { Suspense } from 'react' import { BrowserRouter, Route, Routes, Navigate } from 'react-router-dom' import { PrivateRoute, FullScreenLoading, ErrorBoundary } from 'src/components/utilities' import 'src/scss/style.scss' -import routes from 'src/routes' import { Helmet } from 'react-helmet-async' -import adminRoutes from './adminRoutes' import Skeleton from 'react-loading-skeleton' import TimeAgo from 'javascript-time-ago' import en from 'javascript-time-ago/locale/en.json' TimeAgo.addDefaultLocale(en) import { library } from '@fortawesome/fontawesome-svg-core' import { fas } from '@fortawesome/free-solid-svg-icons' +import routes from 'src/routes' +import { useAuthCheck } from './components/utilities/CippauthCheck' library.add(fas) - -// Containers +const dynamicImport = (path) => React.lazy(() => import(`./${path}`)) const DefaultLayout = React.lazy(() => import('./layout/DefaultLayout')) - -// Pages const Page401 = React.lazy(() => import('./views/pages/page401/Page401')) const Page403 = React.lazy(() => import('./views/pages/page403/Page403')) const Page404 = React.lazy(() => import('./views/pages/page404/Page404')) @@ -25,7 +22,6 @@ const Page500 = React.lazy(() => import('./views/pages/page500/Page500')) const PageLogOut = React.lazy(() => import('src/views/pages/LogoutRedirect/PageLogOut')) const Login = React.lazy(() => import('./views/pages/login/Login')) const Logout = React.lazy(() => import('./views/pages/login/Logout')) - const App = () => { return ( @@ -50,43 +46,23 @@ const App = () => { } > {routes.map((route, idx) => { + const Component = dynamicImport(route.component) + const allowedRoles = route.allowedRoles return ( - route.component && ( - }> - - CIPP - {route.name} - - - - - - } - /> - ) - ) - })} - {adminRoutes.map((route, idx) => { - return ( - route.component && ( + Component && ( + }> CIPP - {route.name} - + diff --git a/src/adminRoutes.js b/src/adminRoutes.js deleted file mode 100644 index 2f6f666ab905..000000000000 --- a/src/adminRoutes.js +++ /dev/null @@ -1,76 +0,0 @@ -import React from 'react' - -const CIPPSettings = React.lazy(() => import('src/views/cipp/app-settings/CIPPSettings')) -const Setup = React.lazy(() => import('src/views/cipp/Setup')) -const ApplyStandard = React.lazy(() => import('src/views/tenant/standards/ListStandards')) -const GDAPStatus = React.lazy(() => import('src/views/tenant/administration/ListGDAPQueue')) -const GDAP = React.lazy(() => import('src/views/tenant/administration/GDAPWizard')) -const GDAPInvite = React.lazy(() => import('src/views/tenant/administration/GDAPInviteWizard')) -const GDAPRoleWizard = React.lazy(() => import('src/views/tenant/administration/GDAPRoleWizard')) -const GDAPRoles = React.lazy(() => import('src/views/tenant/administration/ListGDAPRoles')) -const GDAPRelationships = React.lazy(() => - import('./views/tenant/administration/ListGDAPRelationships'), -) -const appapproval = React.lazy(() => import('src/views/cipp/AppApproval')) -const TenantOffboardingWizard = React.lazy(() => - import('src/views/tenant/administration/TenantOffboardingWizard'), -) -const TenantOnboardingWizard = React.lazy(() => - import('src/views/tenant/administration/TenantOnboardingWizard'), -) - -const adminRoutes = [ - { path: '/cipp', name: 'CIPP' }, - { path: '/cipp/cipp', name: 'CIPP' }, - { path: '/cipp/settings', name: 'Settings', component: CIPPSettings }, - { path: '/cipp/setup', name: 'Setup', component: Setup }, - - { path: '/tenant/administration/gdap', name: 'GDAP Wizard', component: GDAP }, - { - path: '/tenant/administration/gdap-invite', - name: 'GDAP Invite Wizard', - component: GDAPInvite, - }, - { - path: '/tenant/administration/gdap-role-wizard', - name: 'GDAP Role Wizard', - component: GDAPRoleWizard, - }, - { - path: '/tenant/administration/gdap-roles', - name: 'GDAP Roles', - component: GDAPRoles, - }, - { - path: '/tenant/administration/gdap-relationships', - name: 'GDAP Relationships', - component: GDAPRelationships, - }, - { - path: '/tenant/administration/appapproval', - name: 'App Approval', - component: appapproval, - }, - { - path: '/tenant/administration/gdap-status', - name: 'GDAP Status', - component: GDAPStatus, - }, - { - path: '/tenant/standards/list-standards', - name: 'List Standard', - component: ApplyStandard, - }, - { - path: '/tenant/administration/tenant-offboarding-wizard', - name: 'Tenant Offboarding', - component: TenantOffboardingWizard, - }, - { - path: '/tenant/administration/tenant-onboarding-wizard', - name: 'Tenant Onboarding', - component: TenantOnboardingWizard, - }, -] - -export default adminRoutes diff --git a/src/components/layout/AppSidebar.jsx b/src/components/layout/AppSidebar.jsx index f680f42116d1..8a0b0c8a2432 100644 --- a/src/components/layout/AppSidebar.jsx +++ b/src/components/layout/AppSidebar.jsx @@ -12,6 +12,10 @@ import { AppSidebarNav } from 'src/components/layout' import SimpleBar from 'simplebar-react' import 'simplebar/dist/simplebar.min.css' import navigation from 'src/_nav' +import { useAuthCheck } from '../utilities/CippauthCheck' +import routes from 'src/routes' +import { useRouteNavCompare } from 'src/hooks/useRouteNavCompare' +import { useNavFavouriteCheck } from 'src/hooks/useNavFavouriteCheck' const AppSidebar = () => { const i = @@ -22,6 +26,8 @@ const AppSidebar = () => { if (!i.includes('JGySCBt1QXmNc')) { throw '' } + const newNav = useRouteNavCompare(navigation) + const navwithFavourites = useNavFavouriteCheck(newNav) return ( { @@ -41,7 +47,7 @@ const AppSidebar = () => { /> - + diff --git a/src/components/utilities/CippauthCheck.jsx b/src/components/utilities/CippauthCheck.jsx new file mode 100644 index 000000000000..338c22233bf7 --- /dev/null +++ b/src/components/utilities/CippauthCheck.jsx @@ -0,0 +1,27 @@ +import { useLoadClientPrincipalQuery } from 'src/store/api/auth' +import { useDispatch } from 'react-redux' +import { updateAccessToken } from 'src/store/features/auth' +import { Navigate } from 'react-router-dom' + +export const useAuthCheck = (allowedRoles) => { + const dispatch = useDispatch() + const { data: profile, isFetching } = useLoadClientPrincipalQuery() + if (isFetching) { + return { isLoading: true, component: null } + } + dispatch(updateAccessToken(profile)) + let roles = profile?.clientPrincipal?.userRoles || [] + + if (!profile?.clientPrincipal) { + return { + component: ( + + ), + result: false, + } + } + if (allowedRoles && !allowedRoles.some((role) => roles.includes(role))) { + return { component: , result: true } + } + return { component: null, result: false } +} diff --git a/src/components/utilities/PrivateRoute.jsx b/src/components/utilities/PrivateRoute.jsx index b89f0d5aa8ee..b63ba0617b47 100644 --- a/src/components/utilities/PrivateRoute.jsx +++ b/src/components/utilities/PrivateRoute.jsx @@ -1,41 +1,20 @@ import React from 'react' -import { Navigate } from 'react-router-dom' -import { useLoadClientPrincipalQuery } from 'src/store/api/auth' import { FullScreenLoading } from 'src/components/utilities' -import { useDispatch } from 'react-redux' -import { updateAccessToken } from 'src/store/features/auth' import PropTypes from 'prop-types' +import { useAuthCheck } from './CippauthCheck' -export const PrivateRoute = ({ children, routeType }) => { - const dispatch = useDispatch() - const { data: profile, error, isFetching } = useLoadClientPrincipalQuery() - //console.log() - if (isFetching) { +export const PrivateRoute = ({ children, allowedRoles }) => { + const { isLoading, component: authComponent } = useAuthCheck(allowedRoles) + if (isLoading) { return } - - dispatch(updateAccessToken(profile)) - let roles = null - if (null !== profile?.clientPrincipal) { - roles = profile?.clientPrincipal.userRoles - } else if (null === profile?.clientPrincipal) { - return - } - if (null === roles) { - return - } else { - const isAuthenticated = - roles.includes('admin') || roles.includes('editor') || (roles.includes('readonly') && !error) - const isAdmin = roles.includes('admin') - if (routeType === 'admin') { - return !isAdmin ? : children - } else { - return !isAuthenticated ? : children - } + if (authComponent) { + return authComponent } + return children } PrivateRoute.propTypes = { - children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]), - routeType: PropTypes.string, + children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]).isRequired, + allowedRoles: PropTypes.arrayOf(PropTypes.string), } diff --git a/src/hooks/useNavFavouriteCheck.jsx b/src/hooks/useNavFavouriteCheck.jsx new file mode 100644 index 000000000000..622bc2ea0573 --- /dev/null +++ b/src/hooks/useNavFavouriteCheck.jsx @@ -0,0 +1,31 @@ +import { CNavGroup, CNavItem, CNavTitle } from '@coreui/react' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { useSelector } from 'react-redux' + +export const useNavFavouriteCheck = (navigation) => { + const favourites = useSelector((state) => state.app.userSettingsDefaults?.favourites) + + if (Array.isArray(favourites)) { + const newNavigation = [ + { component: CNavTitle, name: 'Favourites' }, + { + component: CNavGroup, + section: 'favourites', + name: 'Favourites', + to: '/favorites', + icon: , + items: favourites.map((item) => { + console.log(item) + return { + name: item.value.name, + to: item.value.to, + component: CNavItem, + } + }), + }, + ...navigation, + ] + return newNavigation + } + return navigation +} diff --git a/src/hooks/useRouteNavCompare.jsx b/src/hooks/useRouteNavCompare.jsx new file mode 100644 index 000000000000..aee23a37474d --- /dev/null +++ b/src/hooks/useRouteNavCompare.jsx @@ -0,0 +1,33 @@ +import { useLoadClientPrincipalQuery } from 'src/store/api/auth' +import { useDispatch } from 'react-redux' +import { updateAccessToken } from 'src/store/features/auth' +import routes from 'src/routes' + +export const useRouteNavCompare = (navigation) => { + const dispatch = useDispatch() + const { data: profile, isFetching } = useLoadClientPrincipalQuery() + if (isFetching) { + return { isLoading: true, component: null } + } + dispatch(updateAccessToken(profile)) + let roles = profile?.clientPrincipal?.userRoles || [] + let newNavigation = navigation.map((nav) => { + if (nav.items) { + nav.items = nav.items.filter((item) => { + const route = routes.find((r) => r.path === item.to) + if ( + !route || + (route.allowedRoles && route.allowedRoles.some((role) => roles.includes(role))) + ) { + return true + } else { + console.log('Removing route', item) + return false + } + }) + } + return nav + }) + + return newNavigation +} diff --git a/src/routes.js b/src/routes.js deleted file mode 100644 index 794ebb4b4c4d..000000000000 --- a/src/routes.js +++ /dev/null @@ -1,714 +0,0 @@ -import React from 'react' -import MailTest from 'src/views/email-exchange/tools/MailTest' - -const Home = React.lazy(() => import('src/views/home/Home')) -const Logs = React.lazy(() => import('src/views/cipp/Logs')) -const Scheduler = React.lazy(() => import('src/views/cipp/Scheduler')) -const Statistics = React.lazy(() => import('src/views/cipp/Statistics')) -const Users = React.lazy(() => import('src/views/identity/administration/Users')) -const DeletedItems = React.lazy(() => import('src/views/identity/administration/Deleted')) -const ViewBEC = React.lazy(() => import('src/views/identity/administration/ViewBEC')) -const AddUser = React.lazy(() => import('src/views/identity/administration/AddUser')) -const AddUserBulk = React.lazy(() => import('src/views/identity/administration/AddUserBulk')) - -const InviteGuest = React.lazy(() => import('src/views/identity/administration/InviteGuest')) -const EditUser = React.lazy(() => import('src/views/identity/administration/EditUser')) -const ViewUser = React.lazy(() => import('src/views/identity/administration/ViewUser')) -const Groups = React.lazy(() => import('src/views/identity/administration/Groups')) -const AddGroup = React.lazy(() => import('src/views/identity/administration/AddGroup')) -const UserSettings = React.lazy(() => import('src/views/cipp/UserSettings')) - -const AddGroupTemplates = React.lazy(() => - import('src/views/identity/administration/AddGroupTemplate'), -) -const DeployGroupTemplates = React.lazy(() => - import('src/views/identity/administration/DeployGroupTemplate'), -) -const GeoIPLookup = React.lazy(() => import('src/views/tenant/administration/GeoIPLookup')) - -const TenantLookup = React.lazy(() => import('src/views/tenant/administration/TenantLookup')) - -const GroupTemplates = React.lazy(() => import('src/views/identity/administration/GroupTemplates')) - -const EditGroup = React.lazy(() => import('src/views/identity/administration/EditGroup')) -const ViewGroup = React.lazy(() => import('src/views/identity/administration/ViewGroup')) -const Roles = React.lazy(() => import('src/views/identity/administration/Roles')) -const Devices = React.lazy(() => import('src/views/endpoint/intune/Devices')) -const allDevices = React.lazy(() => import('src/views/identity/administration/Devices')) - -const PageLogOut = React.lazy(() => import('src/views/pages/LogoutRedirect/PageLogOut')) - -const Page404 = React.lazy(() => import('src/views/pages/page404/Page404')) -const Page403 = React.lazy(() => import('src/views/pages/page403/Page403')) -const Page500 = React.lazy(() => import('src/views/pages/page500/Page500')) - -const MFAReport = React.lazy(() => import('src/views/identity/reports/MFAReport')) -const Tenants = React.lazy(() => import('src/views/tenant/administration/Tenants')) -const AlertWizard = React.lazy(() => import('src/views/tenant/administration/AlertWizard')) -const AlertRules = React.lazy(() => import('src/views/tenant/administration/AlertRules')) - -const AlertsQueue = React.lazy(() => import('src/views/tenant/administration/ListAlertsQueue')) -const GraphExplorer = React.lazy(() => import('src/views/tenant/administration/GraphExplorer')) - -const Domains = React.lazy(() => import('src/views/tenant/administration/Domains')) -const EditTenant = React.lazy(() => import('src/views/tenant/administration/EditTenant')) -const ConditionalAccess = React.lazy(() => import('src/views/tenant/conditional/ConditionalAccess')) -const DeployVacationCA = React.lazy(() => import('src/views/tenant/conditional/DeployVacation')) -const NamedLocations = React.lazy(() => import('src/views/tenant/conditional/NamedLocations')) - -const ListConditionalTemplates = React.lazy(() => - import('src/views/tenant/conditional/ListCATemplates'), -) - -const DeployNamedLocation = React.lazy(() => - import('src/views/tenant/conditional/DeployNamedLocation'), -) -const AddConditionalTemplate = React.lazy(() => - import('src/views/tenant/conditional/AddCATemplate'), -) - -const DeployConditional = React.lazy(() => import('src/views/tenant/conditional/DeployCA')) - -const ListLicences = React.lazy(() => import('src/views/tenant/administration/ListLicences')) -const ListAppConsent = React.lazy(() => import('src/views/tenant/administration/ListOauthApps')) - -const InActiveUserReport = React.lazy(() => import('src/views/identity/reports/InactiveUsers')) -const SignInReport = React.lazy(() => import('src/views/identity/reports/SignIns')) - -const AzureADConnectReport = React.lazy(() => - import('src/views/identity/reports/AzureADConnectReport'), -) -const DeviceComplianceReport = React.lazy(() => - import('src/views/security/reports/ListDeviceComplianceReport'), -) -const BestPracticeAnalyzer = React.lazy(() => - import('src/views/tenant/standards/BestPracticeAnalyser'), -) -const BPAReportBuilder = React.lazy(() => import('src/views/tenant/standards/BPAReportBuilder')) -const DomainsAnalyser = React.lazy(() => import('src/views/tenant/standards/DomainsAnalyser')) -const OffboardingWizard = React.lazy(() => - import('src/views/identity/administration/OffboardingWizard'), -) -const ListAppliedStandards = React.lazy(() => - import('src/views/tenant/standards/ListAppliedStandards'), -) -const IndividualDomain = React.lazy(() => import('src/views/tenant/standards/IndividualDomain')) -const ListAlerts = React.lazy(() => import('src/views/security/incidents/ListAlerts')) -const ApplicationsList = React.lazy(() => - import('src/views/endpoint/applications/ApplicationsList'), -) -const ApplicationsQueue = React.lazy(() => - import('src/views/endpoint/applications/ListApplicationQueue'), -) -const ApplicationsAddChocoApp = React.lazy(() => - import('src/views/endpoint/applications/ApplicationsAddChocoApp'), -) -const ApplicationsAddWingetApp = React.lazy(() => - import('src/views/endpoint/applications/ApplicationsAddWinGet'), -) -const ApplicationsAddOfficeApp = React.lazy(() => - import('src/views/endpoint/applications/ApplicationsAddOffice'), -) -const ApplicationsAddRMMApp = React.lazy(() => - import('src/views/endpoint/applications/ApplicationsAddRMM'), -) -const AutopilotAddDevice = React.lazy(() => - import('src/views/endpoint/autopilot/AutopilotAddDevice'), -) -const AutopilotAddProfile = React.lazy(() => - import('src/views/endpoint/autopilot/AutopilotAddProfile'), -) -const AutopilotAddStatusPage = React.lazy(() => - import('src/views/endpoint/autopilot/AutopilotAddStatusPage'), -) -const AutopilotListDevices = React.lazy(() => - import('src/views/endpoint/autopilot/AutopilotListDevices'), -) -const AutopilotListProfiles = React.lazy(() => - import('src/views/endpoint/autopilot/AutopilotListProfiles'), -) -const AutopilotListStatusPages = React.lazy(() => - import('src/views/endpoint/autopilot/AutopilotListStatusPages'), -) -const IntuneListPolicies = React.lazy(() => import('src/views/endpoint/intune/MEMListPolicies')) -const IntuneListCompliance = React.lazy(() => import('src/views/endpoint/intune/MEMListCompliance')) - -const IntuneListAppProtection = React.lazy(() => - import('src/views/endpoint/intune/MEMListAppProtection'), -) - -const MEMEditPolicy = React.lazy(() => import('src/views/endpoint/intune/MEMEditPolicy')) - -const IntuneCAPolicies = React.lazy(() => import('src/views/endpoint/intune/MEMCAPolicies')) -const IntuneAddPolicy = React.lazy(() => import('src/views/endpoint/intune/MEMAddPolicy')) -const MEMAddPolicyTemplate = React.lazy(() => - import('src/views/endpoint/intune/MEMAddPolicyTemplate'), -) -const IntuneListPolicyTemplate = React.lazy(() => - import('src/views/endpoint/intune/MEMListPolicyTemplates'), -) -const ListDefender = React.lazy(() => import('src/views/security/defender/ListDefender')) -const ListVulnerabilities = React.lazy(() => import('src/views/security/defender/ListVuln')) - -const DeployDefender = React.lazy(() => import('src/views/security/defender/DeployDefender')) - -const OneDriveList = React.lazy(() => import('src/views/teams-share/onedrive/OneDriveList')) -const SharepointList = React.lazy(() => import('src/views/teams-share/sharepoint/SharepointList')) -const BusinessVoice = React.lazy(() => import('src/views/teams-share/teams/BusinessVoice')) -const TeamsListTeam = React.lazy(() => import('src/views/teams-share/teams/TeamsListTeam')) -const TeamsAddTeam = React.lazy(() => import('src/views/teams-share/teams/TeamsAddTeam')) -const ViewTeamsSettings = React.lazy(() => import('src/views/teams-share/teams/ViewTeamSettings')) -const TeamsActivity = React.lazy(() => import('src/views/teams-share/teams/TeamsActivity')) -const ContactsList = React.lazy(() => - import('src/views/email-exchange/administration/ContactsList'), -) -const EditContact = React.lazy(() => import('src/views/email-exchange/administration/EditContact')) -const EditMailboxPermissions = React.lazy(() => - import('src/views/email-exchange/administration/EditMailboxPermissions'), -) -const AddSharedMailbox = React.lazy(() => - import('src/views/email-exchange/administration/AddSharedMailbox'), -) -const AddContact = React.lazy(() => import('src/views/email-exchange/administration/AddContact')) -const EditCalendarPermissions = React.lazy(() => - import('src/views/email-exchange/administration/EditCalendarPermissions'), -) -const ViewMobileDevices = React.lazy(() => - import('src/views/email-exchange/administration/ViewMobileDevices'), -) -const MailboxesList = React.lazy(() => - import('src/views/email-exchange/administration/MailboxesList'), -) -const MailboxRulesList = React.lazy(() => - import('src/views/email-exchange/administration/MailboxRuleList'), -) -const QuarantineList = React.lazy(() => - import('src/views/email-exchange/administration/QuarantineList'), -) -const MailboxClientAccessSettingsList = React.lazy(() => - import('src/views/email-exchange/reports/MailboxClientAccessSettingsList'), -) -const MailboxStatisticsList = React.lazy(() => - import('src/views/email-exchange/reports/MailboxStatisticsList'), -) -const SharedMailboxEnabledAccount = React.lazy(() => - import('src/views/email-exchange/reports/SharedMailboxEnabledAccount'), -) -const MessageTrace = React.lazy(() => import('src/views/email-exchange/reports/MessageTrace')) -const PhishingPoliciesList = React.lazy(() => - import('src/views/email-exchange/reports/PhishingPoliciesList'), -) -const TransportRulesList = React.lazy(() => - import('src/views/email-exchange/transport/TransportRules'), -) -const TransportTemplate = React.lazy(() => - import('src/views/email-exchange/transport/ListTransportTemplates'), -) -const AddTransportTemplate = React.lazy(() => - import('src/views/email-exchange/transport/AddTransportTemplate'), -) -const TransportDeploy = React.lazy(() => - import('src/views/email-exchange/transport/DeployTransport'), -) -const SpamfilterList = React.lazy(() => import('src/views/email-exchange/spamfilter/Spamfilter')) -const SpamFilterTemplate = React.lazy(() => - import('src/views/email-exchange/spamfilter/ListSpamfilterTemplates'), -) -const AddSpamFilterTemplate = React.lazy(() => - import('src/views/email-exchange/spamfilter/AddSpamfilterTemplate'), -) -const SpamFilterDeploy = React.lazy(() => - import('src/views/email-exchange/spamfilter/DeploySpamfilter'), -) -const ConnectorList = React.lazy(() => import('src/views/email-exchange/connectors/ConnectorList')) -const ConnectorListTemplates = React.lazy(() => - import('src/views/email-exchange/connectors/ListConnectorTemplates'), -) -const DeployConnector = React.lazy(() => - import('src/views/email-exchange/connectors/DeployConnector'), -) -const AddConnectorTemplate = React.lazy(() => - import('src/views/email-exchange/connectors/AddConnectorTemplate'), -) - -const SecurityComplianceAlerts = React.lazy(() => import('src/views/security/incidents/ListAlerts')) -const SecurityComplianceIncidents = React.lazy(() => - import('src/views/security/incidents/ListIncidents'), -) -const License = React.lazy(() => import('src/views/pages/license/License')) -const ServiceHealth = React.lazy(() => import('src/views/tenant/administration/ServiceHealth')) - -const EnterpriseApplications = React.lazy(() => - import('src/views/tenant/administration/ListEnterpriseApps'), -) -const AppConsentRequests = React.lazy(() => - import('src/views/tenant/administration/ListAppConsentRequests'), -) -const MailboxRestoreWizard = React.lazy(() => - import('src/views/email-exchange/tools/MailboxRestoreWizard'), -) -const MailboxRestores = React.lazy(() => import('src/views/email-exchange/tools/MailboxRestores')) -const Mailtest = React.lazy(() => import('src/views/email-exchange/tools/MailTest')) - -const routes = [ - // { path: '/', exact: true, name: 'Home' }, - { path: '/home', name: 'Home', component: Home }, - { path: '/cipp/logs', name: 'Logs', component: Logs }, - { path: '/cipp/scheduler', name: 'Scheduler', component: Scheduler }, - { path: '/cipp/statistics', name: 'Statistics', component: Statistics }, - { path: '/cipp/404', name: 'Error', component: Page404 }, - { path: '/cipp/403', name: 'Error', component: Page403 }, - { path: '/cipp/500', name: 'Error', component: Page500 }, - { path: '/identity', name: 'Identity' }, - { path: '/identity/administration/users/add', name: 'Add User', component: AddUser }, - { - path: '/identity/administration/users/addbulk', - name: 'Add User Bulk', - component: AddUserBulk, - }, - - { path: '/identity/administration/users/edit', name: 'Edit User', component: EditUser }, - { path: '/identity/administration/users/view', name: 'View User', component: ViewUser }, - { - path: '/identity/administration/users/InviteGuest', - name: 'Invite Guest', - component: InviteGuest, - }, - { path: '/identity/administration/ViewBec', name: 'View BEC', component: ViewBEC }, - { path: '/identity/administration', name: 'Administration' }, - { path: '/identity/administration/users', name: 'Users', component: Users }, - { path: '/identity/administration/devices', name: 'Devices', component: allDevices }, - - { path: '/identity/administration/groups/add', name: 'Add Group', component: AddGroup }, - { - path: '/identity/administration/group-templates', - name: 'Group Templates', - component: GroupTemplates, - }, - { - path: '/identity/administration/group-add-template', - name: 'Add Group Template', - component: AddGroupTemplates, - }, - { - path: '/identity/administration/deploy-group-template', - name: 'Deploy Group Template', - component: DeployGroupTemplates, - }, - { path: '/identity/administration/groups/edit', name: 'Edit Group', component: EditGroup }, - { path: '/identity/administration/groups/view', name: 'View Group', component: ViewGroup }, - { path: '/identity/administration/groups', name: 'Groups', component: Groups }, - { path: '/identity/administration/roles', name: 'Roles', component: Roles }, - { - path: '/identity/administration/deleted-items', - name: 'Deleted Items', - component: DeletedItems, - }, - - { path: '/teams-share/teams/business-voice', name: 'BusinessVoice', component: BusinessVoice }, - { - path: '/identity/administration/offboarding-wizard', - name: 'Offboarding Wizard', - component: OffboardingWizard, - }, - { path: '/identity/reports', name: 'Reports' }, - { path: '/endpoint/reports/devices', name: 'Devices', component: Devices }, - { path: '/identity/reports/mfa-report', name: 'MFA Report', component: MFAReport }, - { - path: '/identity/reports/inactive-users-report', - name: 'Inactive Users Report', - component: InActiveUserReport, - }, - { - path: '/identity/reports/Signin-report', - name: 'Sign-In Report', - component: SignInReport, - }, - { - path: '/identity/reports/azure-ad-connect-report', - name: 'AAD Connect Report', - component: AzureADConnectReport, - }, - { path: '/tenant', name: 'Tenant' }, - { path: '/tenant/administration', name: 'Administration' }, - { path: '/tenant/administration/tenants', name: 'Tenants', component: Tenants }, - { path: '/tenant/administration/tenants/edit', name: 'Edit Tenant', component: EditTenant }, - { path: '/tenant/administration/domains', name: 'Domains', component: Domains }, - { path: '/tenant/administration/alertswizard', name: 'Alerts Wizard', component: AlertWizard }, - { path: '/tenant/administration/alertrules', name: 'Alerts Wizard', component: AlertRules }, - - { path: '/tenant/administration/alertsqueue', name: 'Alerts Queue', component: AlertsQueue }, - { - path: '/tenant/administration/graph-explorer', - name: 'Graph Explorer', - component: GraphExplorer, - }, - { - path: '/tenant/administration/service-health', - name: 'Service Health', - component: ServiceHealth, - }, - { - path: '/tenant/administration/enterprise-apps', - name: 'Enterprise Applications', - component: EnterpriseApplications, - }, - { - path: '/tenant/administration/app-consent-requests', - name: 'App Consent Requests', - component: AppConsentRequests, - }, - { - path: '/tenant/conditional/list-policies', - name: 'Conditional Access', - component: ConditionalAccess, - }, - { - path: '/tenant/conditional/deploy-vacation', - name: 'Deploy Vacation Mode', - component: DeployVacationCA, - }, - { - path: '/tenant/conditional/list-named-locations', - name: 'Named Locations', - component: NamedLocations, - }, - { - path: '/tenant/conditional/deploy', - name: 'Deploy Conditional Access', - component: DeployConditional, - }, - { - path: '/tenant/conditional/deploy-named-location', - name: 'Deploy Named Locations', - component: DeployNamedLocation, - }, - { - path: '/tenant/conditional/list-template', - name: 'Conditional Access Templates', - component: ListConditionalTemplates, - }, - { - path: '/tenant/conditional/add-template', - name: 'Conditional Access Add Template', - component: AddConditionalTemplate, - }, - { - path: '/tenant/administration/list-licenses', - name: 'List Licenses', - component: ListLicences, - }, - { - path: '/tenant/administration/application-consent', - name: 'Consented Applications', - component: ListAppConsent, - }, - { path: '/tenant/standards', name: 'Standards' }, - { - path: '/tenant/standards/list-applied-standards', - name: 'List Applied Standards', - component: ListAppliedStandards, - }, - { - path: '/tenant/standards/bpa-report', - name: 'Best Practice Report', - component: BestPracticeAnalyzer, - }, - { - path: '/tenant/standards/domains-analyser', - name: 'Domains Analyser', - component: DomainsAnalyser, - }, - { - path: '/tenant/standards/individual-domains', - name: 'Individual Domain Check', - component: IndividualDomain, - }, - { - path: '/tenant/administration/tenantlookup', - name: 'Tenant Lookup', - component: TenantLookup, - }, - { - path: '/tenant/tools/geoiplookup', - name: 'Geo IP Lookup', - component: GeoIPLookup, - }, - { - path: '/tenant/tools/bpa-report-builder', - name: 'BPA Report Builder', - component: BPAReportBuilder, - }, - { path: '/tenant/standards/alert-list', name: 'Alert List (Alpha)', component: ListAlerts }, - { path: '/endpoint', name: 'Endpoint' }, - { path: '/endpoint/applications', name: 'Applications' }, - { path: '/endpoint/applications/list', name: 'List Applications', component: ApplicationsList }, - { path: '/endpoint/applications/queue', name: 'Application Queue', component: ApplicationsQueue }, - - { - path: '/endpoint/applications/add-choco-app', - name: 'Add Choco App', - component: ApplicationsAddChocoApp, - }, - { - path: '/endpoint/applications/add-winget-app', - name: 'Add Store App', - component: ApplicationsAddWingetApp, - }, - { - path: '/endpoint/applications/add-office-app', - name: 'Add Office App', - component: ApplicationsAddOfficeApp, - }, - { - path: '/endpoint/applications/add-rmm-app', - name: 'Add RMM App', - component: ApplicationsAddRMMApp, - }, - { path: '/endpoint/autopilot', name: 'Autopilot' }, - { path: '/endpoint/autopilot/add-device', name: 'Add Device', component: AutopilotAddDevice }, - { path: '/endpoint/autopilot/add-profile', name: 'Add Profile', component: AutopilotAddProfile }, - { - path: '/endpoint/autopilot/add-status-page', - name: 'Add Status Page', - component: AutopilotAddStatusPage, - }, - { - path: '/endpoint/autopilot/list-devices', - name: 'List Devices', - component: AutopilotListDevices, - }, - { - path: '/endpoint/autopilot/list-profiles', - name: 'List Profiles', - component: AutopilotListProfiles, - }, - { - path: '/endpoint/autopilot/list-status-pages', - name: 'List Status Pages', - component: AutopilotListStatusPages, - }, - { path: '/endpoint/MEM', name: 'MEM' }, - { - path: '/endpoint/MEM/list-policies', - name: 'List Intune Policies', - component: IntuneListPolicies, - }, - { - path: '/endpoint/MEM/list-compliance-policies', - name: 'List Intune Compliance Policies', - component: IntuneListCompliance, - }, - { - path: '/endpoint/MEM/list-appprotection-policies', - name: 'List App Protection Policies', - component: IntuneListAppProtection, - }, - - { path: '/endpoint/MEM/edit-policy', name: 'Edit MEM Policy', component: MEMEditPolicy }, - { path: '/endpoint/MEM/ca-policies', name: 'List Status Pages', component: IntuneCAPolicies }, - { path: '/endpoint/MEM/add-policy', name: 'Add Intune Policy', component: IntuneAddPolicy }, - { - path: '/endpoint/MEM/add-policy-template', - name: 'Add Endpoint Manager Policy Template', - component: MEMAddPolicyTemplate, - }, - { - path: '/endpoint/MEM/list-templates', - name: 'List Intune Policy Template', - component: IntuneListPolicyTemplate, - }, - { path: '/security/defender', name: 'Defender' }, - { path: '/security/defender/deployment', name: 'Deploy Defender', component: DeployDefender }, - { path: '/security/defender/list-defender', name: 'List Defender', component: ListDefender }, - { - path: '/security/defender/list-defender-tvm', - name: 'List Vulnerabilities', - component: ListVulnerabilities, - }, - - { path: '/teams-share', name: 'Teams & SharePoint' }, - { path: '/teams-share/onedrive', name: 'OneDrive' }, - { path: '/teams-share/onedrive/list', name: 'List OneDrive', component: OneDriveList }, - { path: '/teams-share/sharepoint', name: 'SharePoint' }, - { - path: '/teams-share/sharepoint/list-sharepoint', - name: 'List SharePoint', - component: SharepointList, - }, - { path: '/teams-share/teams', name: 'Teams' }, - { path: '/teams-share/teams/list-team', name: 'List Teams', component: TeamsListTeam }, - { - path: '/teams-share/teams/view-team-settings', - name: 'View Team Settings', - component: ViewTeamsSettings, - }, - { path: '/teams-share/teams/add-team', name: 'Add Team', component: TeamsAddTeam }, - { path: '/teams-share/teams/teams-activity', name: 'Teams Activity', component: TeamsActivity }, - { name: 'Email & Exchange', path: '/email' }, - { name: 'Email Administration', path: '/email/administration' }, - { name: 'List Contacts', path: '/email/administration/contacts', component: ContactsList }, - { - path: '/email/connectors/list-connectors', - name: 'List Connectors', - component: ConnectorList, - }, - { - path: '/email/connectors/deploy-connector', - name: 'Deploy Connectors', - component: DeployConnector, - }, - { - path: '/email/connectors/add-connector-templates', - name: 'Add Connectors Templates', - component: AddConnectorTemplate, - }, - { - path: '/email/connectors/list-connector-templates', - name: 'List Connectors Templates', - component: ConnectorListTemplates, - }, - { - path: '/email/transport/list-rules', - name: 'List Transport Rules', - component: TransportRulesList, - }, - { - path: '/email/transport/deploy-rules', - name: 'Deploy Transport Rule', - component: TransportDeploy, - }, - { - path: '/email/transport/list-templates', - name: 'Transport Rule Templates', - component: TransportTemplate, - }, - { - path: '/email/transport/add-template', - name: 'Transport Rule Add Temmplate', - component: AddTransportTemplate, - }, - { - path: '/email/spamfilter/list-spamfilter', - name: 'List Spamfilter', - component: SpamfilterList, - }, - { - path: '/email/spamfilter/deploy', - name: 'Deploy Spamfilter', - component: SpamFilterDeploy, - }, - { - path: '/email/spamfilter/list-templates', - name: 'List Spamfilter Templates', - component: SpamFilterTemplate, - }, - { - path: '/email/tools/mailbox-restore-wizard', - name: 'Mailbox Restore Wizard', - component: MailboxRestoreWizard, - }, - { - path: '/email/tools/mailbox-restores', - name: 'Mailbox Restores', - component: MailboxRestores, - }, - { - path: '/email/tools/mail-test', - name: 'Mail Test', - component: MailTest, - }, - { - path: '/email/spamfilter/add-template', - name: 'Add Spamfilter Template', - component: AddSpamFilterTemplate, - }, - { - name: 'Edit Mailbox Permissions', - path: '/email/administration/edit-mailbox-permissions', - component: EditMailboxPermissions, - }, - { - name: 'Add Shared Mailbox', - path: '/email/administration/add-shared-mailbox', - component: AddSharedMailbox, - }, - { - name: 'Edit Contact', - path: '/email/administration/add-contact', - component: AddContact, - }, - { - name: 'Edit Calendar Permissions', - path: '/email/administration/edit-calendar-permissions', - component: EditCalendarPermissions, - }, - { - name: 'View Mobile Devices', - path: '/email/administration/view-mobile-devices', - component: ViewMobileDevices, - }, - { name: 'Edit Contact', path: '/email/administration/edit-contact', component: EditContact }, - { name: 'List Mailboxes', path: '/email/administration/mailboxes', component: MailboxesList }, - { - name: 'List Mailbox Rules', - path: '/email/administration/mailbox-rules', - component: MailboxRulesList, - }, - - { - name: 'List Quarantine', - path: '/email/administration/Quarantine', - component: QuarantineList, - }, - - { name: 'Email Reports', path: '/email/reports' }, - { - name: 'Mailbox Statistics', - path: '/email/reports/mailbox-statistics', - component: MailboxStatisticsList, - }, - { - name: 'Shared Mailbox Enabled Account', - path: '/email/reports/SharedMailboxEnabledAccount', - component: SharedMailboxEnabledAccount, - }, - { - name: 'Mailbox Client Access Settings', - path: '/email/reports/mailbox-cas-settings', - component: MailboxClientAccessSettingsList, - }, - { name: 'Message Trace', path: '/email/reports/message-trace', component: MessageTrace }, - { path: '/cipp/user-settings', name: 'User Settings', component: UserSettings }, - - { - name: 'Phishing Policies', - path: '/email/reports/phishing-policies', - component: PhishingPoliciesList, - }, - { name: 'Security & Compliance', path: '/security' }, - { name: 'Security Administration', path: '/security/administration' }, - { name: 'Security Reports', path: '/security/reports' }, - { - name: 'List Alerts', - path: '/security/incidents/list-alerts', - component: SecurityComplianceAlerts, - }, - { - name: 'List Incidents', - path: '/security/incidents/list-incidents', - component: SecurityComplianceIncidents, - }, - { - name: 'List Device Compliance Report', - path: '/security/reports/list-device-compliance', - component: DeviceComplianceReport, - }, - { - name: 'License', - path: '/license', - component: License, - }, -] - -export default routes diff --git a/src/routes.json b/src/routes.json new file mode 100644 index 000000000000..bdb96a077822 --- /dev/null +++ b/src/routes.json @@ -0,0 +1,921 @@ +[ + { + "path": "/home", + "name": "Home", + "component": "views/home/Home", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/cipp/logs", + "name": "Logs", + "component": "views/cipp/Logs", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/cipp/scheduler", + "name": "Scheduler", + "component": "views/cipp/Scheduler", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/cipp/statistics", + "name": "Statistics", + "component": "views/cipp/Statistics", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/cipp/404", + "name": "Error", + "component": "views/pages/page404/Page404", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/cipp/403", + "name": "Error", + "component": "views/pages/page403/Page403", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/cipp/500", + "name": "Error", + "component": "views/pages/page500/Page500", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity", + "name": "Identity", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/users/add", + "name": "Add User", + "component": "views/identity/administration/AddUser", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/users/addbulk", + "name": "Add User Bulk", + "component": "views/identity/administration/AddUserBulk", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/users/edit", + "name": "Edit User", + "component": "views/identity/administration/EditUser", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/users/view", + "name": "View User", + "component": "views/identity/administration/ViewUser", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/users/InviteGuest", + "name": "Invite Guest", + "component": "views/identity/administration/InviteGuest", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/ViewBec", + "name": "View BEC", + "component": "views/identity/administration/ViewBEC", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration", + "name": "Administration", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/users", + "name": "Users", + "component": "views/identity/administration/Users", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/devices", + "name": "Devices", + "component": "views/identity/administration/Devices", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/groups/add", + "name": "Add Group", + "component": "views/identity/administration/AddGroup", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/group-templates", + "name": "Group Templates", + "component": "views/identity/administration/GroupTemplates", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/group-add-template", + "name": "Add Group Template", + "component": "views/identity/administration/AddGroupTemplate", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/deploy-group-template", + "name": "Deploy Group Template", + "component": "views/identity/administration/DeployGroupTemplate", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/groups/edit", + "name": "Edit Group", + "component": "views/identity/administration/EditGroup", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/groups/view", + "name": "View Group", + "component": "views/identity/administration/ViewGroup", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/groups", + "name": "Groups", + "component": "views/identity/administration/Groups", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/roles", + "name": "Roles", + "component": "views/identity/administration/Roles", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/deleted-items", + "name": "Deleted Items", + "component": "views/identity/administration/Deleted", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share/teams/business-voice", + "name": "BusinessVoice", + "component": "views/teams-share/teams/BusinessVoice", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/administration/offboarding-wizard", + "name": "Offboarding Wizard", + "component": "views/identity/administration/OffboardingWizard", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/reports", + "name": "Reports", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/reports/devices", + "name": "Devices", + "component": "views/endpoint/intune/Devices", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/reports/mfa-report", + "name": "MFA Report", + "component": "views/identity/reports/MFAReport", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/reports/inactive-users-report", + "name": "Inactive Users Report", + "component": "views/identity/reports/InactiveUsers", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/reports/Signin-report", + "name": "Sign-In Report", + "component": "views/identity/reports/SignIns", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/identity/reports/azure-ad-connect-report", + "name": "AAD Connect Report", + "component": "views/identity/reports/AzureADConnectReport", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant", + "name": "Tenant", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration", + "name": "Administration", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/tenants", + "name": "Tenants", + "component": "views/tenant/administration/Tenants", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/tenants/edit", + "name": "Edit Tenant", + "component": "views/tenant/administration/EditTenant", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/domains", + "name": "Domains", + "component": "views/tenant/administration/Domains", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/alertswizard", + "name": "Alerts Wizard", + "component": "views/tenant/administration/AlertWizard", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/alertrules", + "name": "Alerts Wizard", + "component": "views/tenant/administration/AlertRules", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/alertsqueue", + "name": "Alerts Queue", + "component": "views/tenant/administration/ListAlertsQueue", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/graph-explorer", + "name": "Graph Explorer", + "component": "views/tenant/administration/GraphExplorer", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/service-health", + "name": "Service Health", + "component": "views/tenant/administration/ServiceHealth", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/enterprise-apps", + "name": "Enterprise Applications", + "component": "views/tenant/administration/ListEnterpriseApps", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/app-consent-requests", + "name": "App Consent Requests", + "component": "views/tenant/administration/ListAppConsentRequests", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/conditional/list-policies", + "name": "Conditional Access", + "component": "views/tenant/conditional/ConditionalAccess", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/conditional/deploy-vacation", + "name": "Deploy Vacation Mode", + "component": "views/tenant/conditional/DeployVacation", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/conditional/list-named-locations", + "name": "Named Locations", + "component": "views/tenant/conditional/NamedLocations", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/conditional/deploy", + "name": "Deploy Conditional Access", + "component": "views/tenant/conditional/DeployCA", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/conditional/deploy-named-location", + "name": "Deploy Named Locations", + "component": "views/tenant/conditional/DeployNamedLocation", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/conditional/list-template", + "name": "Conditional Access Templates", + "component": "views/tenant/conditional/ListCATemplates", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/conditional/add-template", + "name": "Conditional Access Add Template", + "component": "views/tenant/conditional/AddCATemplate", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/list-licenses", + "name": "List Licenses", + "component": "views/tenant/administration/ListLicences", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/application-consent", + "name": "Consented Applications", + "component": "views/tenant/administration/ListOauthApps", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/standards", + "name": "Standards", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/standards/list-applied-standards", + "name": "List Applied Standards", + "component": "views/tenant/standards/ListAppliedStandards", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/standards/bpa-report", + "name": "Best Practice Report", + "component": "views/tenant/standards/BestPracticeAnalyser", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/standards/domains-analyser", + "name": "Domains Analyser", + "component": "views/tenant/standards/DomainsAnalyser", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/standards/individual-domains", + "name": "Individual Domain Check", + "component": "views/tenant/standards/IndividualDomain", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/administration/tenantlookup", + "name": "Tenant Lookup", + "component": "views/tenant/administration/TenantLookup", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/tools/geoiplookup", + "name": "Geo IP Lookup", + "component": "views/tenant/administration/GeoIPLookup", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/tools/bpa-report-builder", + "name": "BPA Report Builder", + "component": "views/tenant/standards/BPAReportBuilder", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/tenant/standards/alert-list", + "name": "Alert List (Alpha)", + "component": "views/security/incidents/ListAlerts", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint", + "name": "Endpoint", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/applications", + "name": "Applications", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/applications/list", + "name": "List Applications", + "component": "views/endpoint/applications/ApplicationsList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/applications/queue", + "name": "Application Queue", + "component": "views/endpoint/applications/ListApplicationQueue", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/applications/add-choco-app", + "name": "Add Choco App", + "component": "views/endpoint/applications/ApplicationsAddChocoApp", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/applications/add-winget-app", + "name": "Add Store App", + "component": "views/endpoint/applications/ApplicationsAddWinGet", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/applications/add-office-app", + "name": "Add Office App", + "component": "views/endpoint/applications/ApplicationsAddOffice", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/applications/add-rmm-app", + "name": "Add RMM App", + "component": "views/endpoint/applications/ApplicationsAddRMM", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/autopilot", + "name": "Autopilot", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/autopilot/add-device", + "name": "Add Device", + "component": "views/endpoint/autopilot/AutopilotAddDevice", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/autopilot/add-profile", + "name": "Add Profile", + "component": "views/endpoint/autopilot/AutopilotAddProfile", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/autopilot/add-status-page", + "name": "Add Status Page", + "component": "views/endpoint/autopilot/AutopilotAddStatusPage", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/autopilot/list-devices", + "name": "List Devices", + "component": "views/endpoint/autopilot/AutopilotListDevices", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/autopilot/list-profiles", + "name": "List Profiles", + "component": "views/endpoint/autopilot/AutopilotListProfiles", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/autopilot/list-status-pages", + "name": "List Status Pages", + "component": "views/endpoint/autopilot/AutopilotListStatusPages", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/MEM", + "name": "MEM", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/MEM/list-policies", + "name": "List Intune Policies", + "component": "views/endpoint/intune/MEMListPolicies", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/MEM/list-compliance-policies", + "name": "List Intune Compliance Policies", + "component": "views/endpoint/intune/MEMListCompliance", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/MEM/list-appprotection-policies", + "name": "List App Protection Policies", + "component": "views/endpoint/intune/MEMListAppProtection", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/MEM/edit-policy", + "name": "Edit MEM Policy", + "component": "views/endpoint/intune/MEMEditPolicy", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/MEM/ca-policies", + "name": "List Status Pages", + "component": "views/endpoint/intune/MEMCAPolicies", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/MEM/add-policy", + "name": "Add Intune Policy", + "component": "views/endpoint/intune/MEMAddPolicy", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/MEM/add-policy-template", + "name": "Add Endpoint Manager Policy Template", + "component": "views/endpoint/intune/MEMAddPolicyTemplate", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/endpoint/MEM/list-templates", + "name": "List Intune Policy Template", + "component": "views/endpoint/intune/MEMListPolicyTemplates", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/security/defender", + "name": "Defender", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/security/defender/deployment", + "name": "Deploy Defender", + "component": "views/security/defender/DeployDefender", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/security/defender/list-defender", + "name": "List Defender", + "component": "views/security/defender/ListDefender", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/security/defender/list-defender-tvm", + "name": "List Vulnerabilities", + "component": "views/security/defender/ListVuln", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share", + "name": "Teams & SharePoint", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share/onedrive", + "name": "OneDrive", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share/onedrive/list", + "name": "List OneDrive", + "component": "views/teams-share/onedrive/OneDriveList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share/sharepoint", + "name": "SharePoint", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share/sharepoint/list-sharepoint", + "name": "List SharePoint", + "component": "views/teams-share/sharepoint/SharepointList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share/teams", + "name": "Teams", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share/teams/list-team", + "name": "List Teams", + "component": "views/teams-share/teams/TeamsListTeam", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share/teams/view-team-settings", + "name": "View Team Settings", + "component": "views/teams-share/teams/ViewTeamSettings", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share/teams/add-team", + "name": "Add Team", + "component": "views/teams-share/teams/TeamsAddTeam", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/teams-share/teams/teams-activity", + "name": "Teams Activity", + "component": "views/teams-share/teams/TeamsActivity", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Email & Exchange", + "path": "/email", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Email Administration", + "path": "/email/administration", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "List Contacts", + "path": "/email/administration/contacts", + "component": "views/email-exchange/administration/ContactsList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/connectors/list-connectors", + "name": "List Connectors", + "component": "views/email-exchange/connectors/ConnectorList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/connectors/deploy-connector", + "name": "Deploy Connectors", + "component": "views/email-exchange/connectors/DeployConnector", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/connectors/add-connector-templates", + "name": "Add Connectors Templates", + "component": "views/email-exchange/connectors/AddConnectorTemplate", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/connectors/list-connector-templates", + "name": "List Connectors Templates", + "component": "views/email-exchange/connectors/ListConnectorTemplates", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/transport/list-rules", + "name": "List Transport Rules", + "component": "views/email-exchange/transport/TransportRules", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/transport/deploy-rules", + "name": "Deploy Transport Rule", + "component": "views/email-exchange/transport/DeployTransport", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/transport/list-templates", + "name": "Transport Rule Templates", + "component": "views/email-exchange/transport/ListTransportTemplates", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/transport/add-template", + "name": "Transport Rule Add Temmplate", + "component": "views/email-exchange/transport/AddTransportTemplate", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/spamfilter/list-spamfilter", + "name": "List Spamfilter", + "component": "views/email-exchange/spamfilter/Spamfilter", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/spamfilter/deploy", + "name": "Deploy Spamfilter", + "component": "views/email-exchange/spamfilter/DeploySpamfilter", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/spamfilter/list-templates", + "name": "List Spamfilter Templates", + "component": "views/email-exchange/spamfilter/ListSpamfilterTemplates", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/tools/mailbox-restore-wizard", + "name": "Mailbox Restore Wizard", + "component": "views/email-exchange/tools/MailboxRestoreWizard", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/tools/mailbox-restores", + "name": "Mailbox Restores", + "component": "views/email-exchange/tools/MailboxRestores", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/tools/mail-test", + "name": "Mail Test", + "component": "views/email-exchange/tools/MailTest", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/email/spamfilter/add-template", + "name": "Add Spamfilter Template", + "component": "views/email-exchange/spamfilter/AddSpamfilterTemplate", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Edit Mailbox Permissions", + "path": "/email/administration/edit-mailbox-permissions", + "component": "views/email-exchange/administration/EditMailboxPermissions", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Add Shared Mailbox", + "path": "/email/administration/add-shared-mailbox", + "component": "views/email-exchange/administration/AddSharedMailbox", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Edit Contact", + "path": "/email/administration/add-contact", + "component": "views/email-exchange/administration/AddContact", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Edit Calendar Permissions", + "path": "/email/administration/edit-calendar-permissions", + "component": "views/email-exchange/administration/EditCalendarPermissions", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "View Mobile Devices", + "path": "/email/administration/view-mobile-devices", + "component": "views/email-exchange/administration/ViewMobileDevices", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Edit Contact", + "path": "/email/administration/edit-contact", + "component": "views/email-exchange/administration/EditContact", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "List Mailboxes", + "path": "/email/administration/mailboxes", + "component": "views/email-exchange/administration/MailboxesList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "List Mailbox Rules", + "path": "/email/administration/mailbox-rules", + "component": "views/email-exchange/administration/MailboxRuleList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "List Quarantine", + "path": "/email/administration/Quarantine", + "component": "views/email-exchange/administration/QuarantineList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Email Reports", + "path": "/email/reports", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Mailbox Statistics", + "path": "/email/reports/mailbox-statistics", + "component": "views/email-exchange/reports/MailboxStatisticsList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Shared Mailbox Enabled Account", + "path": "/email/reports/SharedMailboxEnabledAccount", + "component": "views/email-exchange/reports/SharedMailboxEnabledAccount", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Mailbox Client Access Settings", + "path": "/email/reports/mailbox-cas-settings", + "component": "views/email-exchange/reports/MailboxClientAccessSettingsList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Message Trace", + "path": "/email/reports/message-trace", + "component": "views/email-exchange/reports/MessageTrace", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/cipp/user-settings", + "name": "User Settings", + "component": "views/cipp/UserSettings", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Phishing Policies", + "path": "/email/reports/phishing-policies", + "component": "views/email-exchange/reports/PhishingPoliciesList", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Security & Compliance", + "path": "/security", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Security Administration", + "path": "/security/administration", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "Security Reports", + "path": "/security/reports", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "List Alerts", + "path": "/security/incidents/list-alerts", + "component": "views/security/incidents/ListAlerts", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "List Incidents", + "path": "/security/incidents/list-incidents", + "component": "views/security/incidents/ListIncidents", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "List Device Compliance Report", + "path": "/security/reports/list-device-compliance", + "component": "views/security/reports/ListDeviceComplianceReport", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "name": "License", + "path": "/license", + "component": "views/pages/license/License", + "allowedRoles": ["admin", "editor", "readonly"] + }, + { + "path": "/cipp", + "name": "CIPP", + "allowedRoles": ["admin"] + }, + { + "path": "/cipp/cipp", + "name": "CIPP", + "allowedRoles": ["admin"] + }, + { + "path": "/cipp/settings", + "name": "Settings", + "component": "views/cipp/app-settings/CIPPSettings", + "allowedRoles": ["admin"] + }, + { + "path": "/cipp/setup", + "name": "Setup", + "component": "views/cipp/Setup", + "allowedRoles": ["admin"] + }, + { + "path": "/tenant/administration/gdap", + "name": "GDAP Wizard", + "component": "views/tenant/administration/GDAPWizard", + "allowedRoles": ["admin"] + }, + { + "path": "/tenant/administration/gdap-invite", + "name": "GDAP Invite Wizard", + "component": "views/tenant/administration/GDAPInviteWizard", + "allowedRoles": ["admin"] + }, + { + "path": "/tenant/administration/gdap-role-wizard", + "name": "GDAP Role Wizard", + "component": "views/tenant/administration/GDAPRoleWizard", + "allowedRoles": ["admin"] + }, + { + "path": "/tenant/administration/gdap-roles", + "name": "GDAP Roles", + "component": "views/tenant/administration/ListGDAPRoles", + "allowedRoles": ["admin"] + }, + { + "path": "/tenant/administration/gdap-relationships", + "name": "GDAP Relationships", + "component": "./views/tenant/administration/ListGDAPRelationships", + "allowedRoles": ["admin"] + }, + { + "path": "/tenant/administration/appapproval", + "name": "App Approval", + "component": "views/cipp/AppApproval", + "allowedRoles": ["admin"] + }, + { + "path": "/tenant/administration/gdap-status", + "name": "GDAP Status", + "component": "views/tenant/administration/ListGDAPQueue", + "allowedRoles": ["admin"] + }, + { + "path": "/tenant/standards/list-standards", + "name": "List Standard", + "component": "views/tenant/standards/ListStandards", + "allowedRoles": ["admin"] + }, + { + "path": "/tenant/administration/tenant-offboarding-wizard", + "name": "Tenant Offboarding", + "component": "views/tenant/administration/TenantOffboardingWizard", + "allowedRoles": ["admin"] + }, + { + "path": "/tenant/administration/tenant-onboarding-wizard", + "name": "Tenant Onboarding", + "component": "views/tenant/administration/TenantOnboardingWizard", + "allowedRoles": ["admin"] + } +] diff --git a/src/views/cipp/UserSettings.jsx b/src/views/cipp/UserSettings.jsx index 953d94df0d7c..21ab0182287c 100644 --- a/src/views/cipp/UserSettings.jsx +++ b/src/views/cipp/UserSettings.jsx @@ -14,9 +14,9 @@ import { import { useDispatch, useSelector } from 'react-redux' import { Form } from 'react-final-form' import { RFFCFormSwitch, RFFSelectSearch } from 'src/components/forms' +import _nav from 'src/_nav' import { useGenericGetRequestQuery, useLazyGenericPostRequestQuery } from 'src/store/api/app' -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import 'react-datepicker/dist/react-datepicker.css' import TenantListSelector from 'src/components/utilities/TenantListSelector' @@ -204,26 +204,34 @@ const UserSettings = () => { isLoading={availableProperties.isFetching} />
    - - - {addedAttributes > 0 && ( - setAddedAttribute(addedAttributes - 1)} - className={`circular-button`} - title={'-'} - > - - - )} - setAddedAttribute(addedAttributes + 1)} - className={`circular-button`} - title={'+'} - > - - - - + + +

    Favourite Menu Items

    +
    + acc.concat(val.items), []) + .map( + (item) => ( + console.log(item), + { + name: item?.name, + value: { to: item?.to, name: item?.name }, + } + ), + )} + allowCreate={false} + refreshFunction={() => + setRandom3((Math.random() + 1).toString(36).substring(7)) + } + isLoading={availableProperties.isFetching} + /> +
    From e493d7174f523e578e29c8129304fbb4011a7829 Mon Sep 17 00:00:00 2001 From: KelvinTegelaar Date: Tue, 2 Apr 2024 11:43:42 +0200 Subject: [PATCH 33/40] add dash header if favorites are set. --- src/hooks/useNavFavouriteCheck.jsx | 1 + src/views/tenant/conditional/NamedLocations.jsx | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/useNavFavouriteCheck.jsx b/src/hooks/useNavFavouriteCheck.jsx index 622bc2ea0573..90f710405b18 100644 --- a/src/hooks/useNavFavouriteCheck.jsx +++ b/src/hooks/useNavFavouriteCheck.jsx @@ -23,6 +23,7 @@ export const useNavFavouriteCheck = (navigation) => { } }), }, + { component: CNavTitle, name: 'Dashboard' }, ...navigation, ] return newNavigation diff --git a/src/views/tenant/conditional/NamedLocations.jsx b/src/views/tenant/conditional/NamedLocations.jsx index b7f1ebb0f68c..93679c0751b9 100644 --- a/src/views/tenant/conditional/NamedLocations.jsx +++ b/src/views/tenant/conditional/NamedLocations.jsx @@ -58,7 +58,6 @@ const columns = [ name: 'Last Modified (Local)', selector: (row) => DateNotNull(row['modifiedDateTime']), sortable: true, - cell: cellDateFormatter(), exportSelector: 'modifiedDateTime', maxWidth: '150px', }, From d4ef10f16243ed6580ef4cbf7b8196ea557196c5 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Tue, 2 Apr 2024 11:46:24 -0400 Subject: [PATCH 34/40] null safe props on mail test --- src/views/email-exchange/tools/MailTest.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/views/email-exchange/tools/MailTest.jsx b/src/views/email-exchange/tools/MailTest.jsx index d433e658dba3..633d351fd489 100644 --- a/src/views/email-exchange/tools/MailTest.jsx +++ b/src/views/email-exchange/tools/MailTest.jsx @@ -40,22 +40,22 @@ const MailTest = () => { }, { name: 'SPF', - selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'spf')[0].Status == 'pass', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'spf')[0]?.Status == 'pass', cell: cellBooleanFormatter(), }, { name: 'DKIM', - selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'dkim')[0].Status == 'pass', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'dkim')[0]?.Status == 'pass', cell: cellBooleanFormatter(), }, { name: 'DMARC', - selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'dmarc')[0].Status == 'pass', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'dmarc')[0]?.Status == 'pass', cell: cellBooleanFormatter(), }, { name: 'Comp Auth', - selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'compauth')[0].Status == 'pass', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'compauth')[0]?.Status == 'pass', cell: cellBooleanFormatter(), }, { From 73209c1209a9e852c9cbeb95f40aa09f7bd32440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Tue, 2 Apr 2024 22:01:10 +0200 Subject: [PATCH 35/40] Update licenses --- src/data/M365Licenses.json | 1380 +++++++++++++++++++++++++----------- 1 file changed, 974 insertions(+), 406 deletions(-) diff --git a/src/data/M365Licenses.json b/src/data/M365Licenses.json index 3f8b5e97c369..fd2757b1b074 100644 --- a/src/data/M365Licenses.json +++ b/src/data/M365Licenses.json @@ -351,6 +351,38 @@ "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", "Service_Plans_Included_Friendly_Names": "Azure Rights Management" }, + { + "Product_Display_Name": "Basic Collaboration", + "String_Id": "OFFICEBASIC", + "GUID": "4468c39a-28b2-42fb-9094-840bcf28771f", + "Service_Plan_Name": "EXCHANGE_S_STANDARD", + "Service_Plan_Id": "9aaf7827-d63c-4b61-89c3-182f06f82e5c", + "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 1)" + }, + { + "Product_Display_Name": "Basic Collaboration", + "String_Id": "OFFICEBASIC", + "GUID": "4468c39a-28b2-42fb-9094-840bcf28771f", + "Service_Plan_Name": "ONEDRIVELITE_IW", + "Service_Plan_Id": "b4ac11a0-32ff-4e78-982d-e039fa803dec", + "Service_Plans_Included_Friendly_Names": "Office for the web with OneDrive for business" + }, + { + "Product_Display_Name": "Basic Collaboration", + "String_Id": "OFFICEBASIC", + "GUID": "4468c39a-28b2-42fb-9094-840bcf28771f", + "Service_Plan_Name": "MCOBASIC", + "Service_Plan_Id": "448898aa-3ae7-478c-b49a-1fac7a8a35cf", + "Service_Plans_Included_Friendly_Names": "Skype Meetings" + }, + { + "Product_Display_Name": "Basic Collaboration", + "String_Id": "OFFICEBASIC", + "GUID": "4468c39a-28b2-42fb-9094-840bcf28771f", + "Service_Plan_Name": "YAMMER_BASIC", + "Service_Plan_Id": "6db7aeea-6c4a-475d-bbb0-7338bc73d646", + "Service_Plans_Included_Friendly_Names": "Yammer" + }, { "Product_Display_Name": "Business Apps (free)", "String_Id": "SMB_APPS", @@ -957,7 +989,7 @@ "GUID": "a3d0cd86-8068-4071-ad40-4dc5b5908c4b", "Service_Plan_Name": "CDS_CUSTOMER_INSIGHTS_BASE", "Service_Plan_Id": "d04ca659-b119-4a92-b8fc-3ede584a9d65", - "Service_Plans_Included_Friendly_Names": "Dataverse for Customer Insights�BASE" + "Service_Plans_Included_Friendly_Names": "Dataverse for Customer Insights?BASE" }, { "Product_Display_Name": "Dynamics 365 Customer Insights Attach", @@ -1221,7 +1253,7 @@ "GUID": "0c250654-c7f7-461f-871a-7222f6592cf2", "Service_Plan_Name": "CDS_CUSTOMER_INSIGHTS_BASE", "Service_Plan_Id": "d04ca659-b119-4a92-b8fc-3ede584a9d65", - "Service_Plans_Included_Friendly_Names": "Dataverse for Cust Insights�BASE" + "Service_Plans_Included_Friendly_Names": "Dataverse for Cust Insights?BASE" }, { "Product_Display_Name": "Dynamics 365 Customer Insights Standalone", @@ -1567,6 +1599,22 @@ "Service_Plan_Id": "5dbe027f-2339-4123-9542-606e4d348a72", "Service_Plans_Included_Friendly_Names": "SharePoint (Plan 2)" }, + { + "Product_Display_Name": "Dynamics 365 for Customer Service Professional Attach to Qualifying Dynamics 365 Base Offer", + "String_Id": "D365_CUSTOMER_SERVICE_PRO_ATTACH", + "GUID": "19dec69d-d9f3-4792-8a39-d8ecdf51937b", + "Service_Plan_Name": "D365_CUSTOMER_SERVICE_PRO_ATTACH", + "Service_Plan_Id": "a9dd2dca-10ae-4da2-aaf0-d3fe8a825110", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Customer Service Pro Attach" + }, + { + "Product_Display_Name": "Dynamics 365 for Customer Service Professional Attach to Qualifying Dynamics 365 Base Offer", + "String_Id": "D365_CUSTOMER_SERVICE_PRO_ATTACH", + "GUID": "19dec69d-d9f3-4792-8a39-d8ecdf51937b", + "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", + "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", + "Service_Plans_Included_Friendly_Names": "Exchange Foundation" + }, { "Product_Display_Name": "Dynamics 365 Customer Voice", "String_Id": "DYN365_CUSTOMER_VOICE_BASE", @@ -1757,7 +1805,7 @@ "GUID": "977464c4-bfaf-4b67-b761-a9bb735a2196", "Service_Plan_Name": "CRM_AUTO_ROUTING_ENGINE_ADDON", "Service_Plan_Id": "24435e4b-87d0-4d7d-8beb-63a9b1573022", - "Service_Plans_Included_Friendly_Names": "Field Service � Automated Routing Engine Add-On" + "Service_Plans_Included_Friendly_Names": "Field Service ? Automated Routing Engine Add-On" }, { "Product_Display_Name": "Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization", @@ -1765,7 +1813,7 @@ "GUID": "977464c4-bfaf-4b67-b761-a9bb735a2196", "Service_Plan_Name": "CRM_AUTO_ROUTING_ADDON", "Service_Plan_Id": "2ba394e0-6f18-4b77-b45f-a5663bbab540", - "Service_Plans_Included_Friendly_Names": "RETIRED - Field Service � Automated Routing Engine Add-On" + "Service_Plans_Included_Friendly_Names": "RETIRED - Field Service ? Automated Routing Engine Add-On" }, { "Product_Display_Name": "Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization", @@ -2495,6 +2543,46 @@ "Service_Plan_Id": "874fc546-6efe-4d22-90b8-5c4e7aa59f4b", "Service_Plans_Included_Friendly_Names": "DYNAMICS 365 FOR FINANCIALS" }, + { + "Product_Display_Name": "Dynamics 365 Guides vTrial", + "String_Id": "Dynamics_365_Guides_vTrial", + "GUID": "99cb3f83-fbec-4aa1-8262-9679e6df7c53", + "Service_Plan_Name": "D365_GUIDES_VIRAL_TRIAL", + "Service_Plan_Id": "fe986032-d840-4817-82d4-51fe4fbbe163", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 Guides vTrial" + }, + { + "Product_Display_Name": "Dynamics 365 Guides vTrial", + "String_Id": "Dynamics_365_Guides_vTrial", + "GUID": "99cb3f83-fbec-4aa1-8262-9679e6df7c53", + "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", + "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", + "Service_Plans_Included_Friendly_Names": "Exchange Foundation" + }, + { + "Product_Display_Name": "Dynamics 365 Guides vTrial", + "String_Id": "Dynamics_365_Guides_vTrial", + "GUID": "99cb3f83-fbec-4aa1-8262-9679e6df7c53", + "Service_Plan_Name": "DYN365_CDS_VIRAL", + "Service_Plan_Id": "17ab22cd-a0b3-4536-910a-cb6eb12696c0", + "Service_Plans_Included_Friendly_Names": "Common Data Service" + }, + { + "Product_Display_Name": "Dynamics 365 Guides vTrial", + "String_Id": "Dynamics_365_Guides_vTrial", + "GUID": "99cb3f83-fbec-4aa1-8262-9679e6df7c53", + "Service_Plan_Name": "POWER_APPS_DYN365_VIRAL_TRIAL_MIXED_REALITY", + "Service_Plan_Id": "066e2fd1-ba15-40e7-aa96-d6636b1cdf71", + "Service_Plans_Included_Friendly_Names": "Power Apps for Dynamics 365 Mixed Reality" + }, + { + "Product_Display_Name": "Dynamics 365 Guides vTrial", + "String_Id": "Dynamics_365_Guides_vTrial", + "GUID": "99cb3f83-fbec-4aa1-8262-9679e6df7c53", + "Service_Plan_Name": "POWER_AUTOMATE_DYN365_VIRAL_TRIAL_MIXED_REALITY", + "Service_Plan_Id": "26fa8a18-2812-4b3d-96b4-864818ce26be", + "Service_Plans_Included_Friendly_Names": "Power Automate for Dynamics 365 Mixed Reality" + }, { "Product_Display_Name": "Dynamics 365 Hybrid Connector", "String_Id": "CRM_HYBRIDCONNECTOR", @@ -2623,6 +2711,118 @@ "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", "Service_Plans_Included_Friendly_Names": "Exchange Foundation" }, + { + "Product_Display_Name": "Dynamics 365 Operations ? Activity", + "String_Id": "Dyn365_Operations_Activity", + "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", + "Service_Plan_Name": "DYN365_RETAIL_Activity", + "Service_Plan_Id": "f06754ec-6d72-4bf6-991c-4cb5413d9932", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Retail Activity" + }, + { + "Product_Display_Name": "Dynamics 365 Operations ? Activity", + "String_Id": "Dyn365_Operations_Activity", + "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", + "Service_Plan_Name": "DYN365_Enterprise_Talent_Attract_Activity", + "Service_Plan_Id": "aac5a56b-b02e-4608-8014-b076646d4011", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Talent - Attract Experience Activity" + }, + { + "Product_Display_Name": "Dynamics 365 Operations ? Activity", + "String_Id": "Dyn365_Operations_Activity", + "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", + "Service_Plan_Name": "DYN365_Enterprise_Talent_Onboard_Activity", + "Service_Plan_Id": "db225597-e9c2-4d96-8ace-5424744c80f8", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Talent - Onboard Experience" + }, + { + "Product_Display_Name": "Dynamics 365 Operations ? Activity", + "String_Id": "Dyn365_Operations_Activity", + "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", + "Service_Plan_Name": "Dynamics_365_for_Talent_Activity", + "Service_Plan_Id": "1f87ee90-5c3a-4cf9-b6fd-e3e8017c26ec", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Talent Activity" + }, + { + "Product_Display_Name": "Dynamics 365 Operations ? Activity", + "String_Id": "Dyn365_Operations_Activity", + "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", + "Service_Plan_Name": "Dynamics_365_for_Operations_Activity", + "Service_Plan_Id": "6bddf93e-d6f4-4991-b9fc-30cfdf07ee7b", + "Service_Plans_Included_Friendly_Names": "Dynamics365 for Operations Activity" + }, + { + "Product_Display_Name": "Dynamics 365 Operations ? Activity", + "String_Id": "Dyn365_Operations_Activity", + "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", + "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", + "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", + "Service_Plans_Included_Friendly_Names": "Exchange Foundation" + }, + { + "Product_Display_Name": "Dynamics 365 Project Operations Attach", + "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", + "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", + "Service_Plan_Name": "D365CDSforProjectOperations", + "Service_Plan_Id": "7df1d500-ca5c-4229-8cea-815bc88798c9", + "Service_Plans_Included_Friendly_Names": "Common Data Service for Dynamics 365 Project Operations" + }, + { + "Product_Display_Name": "Dynamics 365 Project Operations Attach", + "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", + "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", + "Service_Plan_Name": "D365_ProjectOperationsCDSAttach", + "Service_Plan_Id": "e564d403-7eaf-4c91-b92f-bb0dc62026e1", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 Project Operations CDS Attach" + }, + { + "Product_Display_Name": "Dynamics 365 Project Operations Attach", + "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", + "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", + "Service_Plan_Name": "Power_Pages_Internal_User", + "Service_Plan_Id": "60bf28f9-2b70-4522-96f7-335f5e06c941", + "Service_Plans_Included_Friendly_Names": "Power Pages Internal User" + }, + { + "Product_Display_Name": "Dynamics 365 Project Operations Attach", + "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", + "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", + "Service_Plan_Name": "D365_ProjectOperations", + "Service_Plan_Id": "69f07c66-bee4-4222-b051-195095efee5b", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 Project Operations" + }, + { + "Product_Display_Name": "Dynamics 365 Project Operations Attach", + "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", + "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", + "Service_Plan_Name": "D365_ProjectOperationsAttach", + "Service_Plan_Id": "fa7675bd-6717-40e7-8172-d0bbcbe1ab12", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 Project Operations Attach" + }, + { + "Product_Display_Name": "Dynamics 365 Project Operations Attach", + "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", + "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", + "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", + "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", + "Service_Plans_Included_Friendly_Names": "Exchange Foundation" + }, + { + "Product_Display_Name": "Dynamics 365 Project Operations Attach", + "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", + "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", + "Service_Plan_Name": "PROJECT_FOR_PROJECT_OPERATIONS_ATTACH", + "Service_Plan_Id": "6d8e07c6-9613-484f-8cc1-a66c5c3979bb", + "Service_Plans_Included_Friendly_Names": "Project for Project Operations Attach" + }, + { + "Product_Display_Name": "Dynamics 365 Project Operations Attach", + "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", + "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", + "Service_Plan_Name": "SHAREPOINTSTANDARD", + "Service_Plan_Id": "c7699d2e-19aa-44de-8edf-1736da088ca1", + "Service_Plans_Included_Friendly_Names": "SharePoint (Plan 1)" + }, { "Product_Display_Name": "Dynamics 365 for Project Service Automation Enterprise Edition for Government", "String_Id": "DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV", @@ -3095,6 +3295,54 @@ "Service_Plan_Id": "2da8e897-7791-486b-b08f-cc63c8129df7", "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Sales" }, + { + "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", + "String_Id": "DYN365_SCM_ATTACH", + "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", + "Service_Plan_Name": "Power_Pages_Internal_User", + "Service_Plan_Id": "60bf28f9-2b70-4522-96f7-335f5e06c941", + "Service_Plans_Included_Friendly_Names": "Power Pages Internal User" + }, + { + "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", + "String_Id": "DYN365_SCM_ATTACH", + "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", + "Service_Plan_Name": "DYN365_CDS_SUPPLYCHAINMANAGEMENT", + "Service_Plan_Id": "b6a8b974-2956-4e14-ae81-f0384c363528", + "Service_Plans_Included_Friendly_Names": "Common Data Service for Dynamics 365 Supply Chain Management" + }, + { + "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", + "String_Id": "DYN365_SCM_ATTACH", + "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", + "Service_Plan_Name": "CDS_FOR_IOM", + "Service_Plan_Id": "2bb89402-51e9-4c5a-be33-e954a9dd1ba6", + "Service_Plans_Included_Friendly_Names": "Dataverse for IOM" + }, + { + "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", + "String_Id": "DYN365_SCM_ATTACH", + "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", + "Service_Plan_Name": "DYN365_REGULATORY_SERVICE", + "Service_Plan_Id": "c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service" + }, + { + "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", + "String_Id": "DYN365_SCM_ATTACH", + "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", + "Service_Plan_Name": "D365_SCM_Attach", + "Service_Plan_Id": "b21c777f-c2d5-486e-88f6-fc0a3e474271", + "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Supply Chain Management Attach" + }, + { + "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", + "String_Id": "DYN365_SCM_ATTACH", + "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", + "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", + "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", + "Service_Plans_Included_Friendly_Names": "Exchange Foundation" + }, { "Product_Display_Name": "Dynamics 365 for Marketing Business Edition", "String_Id": "DYN365_BUSINESS_MARKETING", @@ -5053,7 +5301,7 @@ "GUID": "4b590615-0888-425a-a965-b3bf7789848d", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 A3 for Faculty", @@ -5421,7 +5669,7 @@ "GUID": "7cfd9a2b-e110-4c39-bf20-c6a3f36a3121", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 A3 for Students", @@ -6077,7 +6325,7 @@ "GUID": "1aa94593-ca12-4254-a738-81a5972958e8", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 A3 - Unattended License for students use benefit", @@ -6413,7 +6661,7 @@ "GUID": "e97c048c-37a4-45fb-ab50-922fbf07a370", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 A5 for Faculty", @@ -7021,7 +7269,7 @@ "GUID": "46c119d4-0379-4a9d-85e4-97c66d3f909e", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 A5 for Students", @@ -7901,7 +8149,7 @@ "GUID": "9b8fe788-6174-4c4e-983b-3330c93ec278", "Service_Plan_Name": "Content_Explorer", "Service_Plan_Id": "d9fa6af4-e046-4c89-9226-729a0786685d", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Premium" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Premium" }, { "Product_Display_Name": "Microsoft 365 A5 Suite features for faculty", @@ -9125,7 +9373,7 @@ "GUID": "f245ecc8-75af-4f8e-b61f-27d8114de5f3", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 Business Standard", @@ -9397,7 +9645,7 @@ "GUID": "c1f79c29-5d7a-4bec-a2c1-1a76774864c0", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Bing Chat Enterprise" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 Business Standard EEA (no Teams)", @@ -10077,7 +10325,7 @@ "GUID": "cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 Business Premium", @@ -10493,7 +10741,7 @@ "GUID": "a3f586b6-8cce-4d9b-99d6-55238397f77a", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Bing Chat Enterprise" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 Business Premium EEA (no Teams)", @@ -10871,6 +11119,30 @@ "Service_Plan_Id": "ded3d325-1bdc-453e-8432-5bac26d7a014", "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365" }, + { + "Product_Display_Name": "Microsoft 365 Business Voice (US)", + "String_Id": "BUSINESS_VOICE_MED2_TELCO", + "GUID": "08d7bce8-6e16-490e-89db-1d508e5e9609", + "Service_Plan_Name": "MCOMEETADV", + "Service_Plan_Id": "3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40", + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Audio Conferencing" + }, + { + "Product_Display_Name": "Microsoft 365 Business Voice (US)", + "String_Id": "BUSINESS_VOICE_MED2_TELCO", + "GUID": "08d7bce8-6e16-490e-89db-1d508e5e9609", + "Service_Plan_Name": "MCOPSTN1", + "Service_Plan_Id": "4ed3ff63-69d7-4fb7-b984-5aec7f605ca8", + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Domestic Calling Plan" + }, + { + "Product_Display_Name": "Microsoft 365 Business Voice (US)", + "String_Id": "BUSINESS_VOICE_MED2_TELCO", + "GUID": "08d7bce8-6e16-490e-89db-1d508e5e9609", + "Service_Plan_Name": "MCOEV", + "Service_Plan_Id": "4828c8ec-dc2e-4779-b502-87ac9ce28ab7", + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Phone System" + }, { "Product_Display_Name": "Microsoft 365 Domestic Calling Plan (120 Minutes)", "String_Id": "MCOPSTN_5", @@ -10923,17 +11195,17 @@ "Product_Display_Name": "Microsoft 365 E3", "String_Id": "SPE_E3", "GUID": "05e9a617-0261-4cee-bb44-138d3ef5d965", - "Service_Plan_Name": "CDS_O365_P2", - "Service_Plan_Id": "95b76021-6a53-4741-ab8b-1d1f3d66a95a", - "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" + "Service_Plan_Name": "Bing_Chat_Enterprise", + "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E3", "String_Id": "SPE_E3", "GUID": "05e9a617-0261-4cee-bb44-138d3ef5d965", - "Service_Plan_Name": "Bing_Chat_Enterprise", - "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plan_Name": "CDS_O365_P2", + "Service_Plan_Id": "95b76021-6a53-4741-ab8b-1d1f3d66a95a", + "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" }, { "Product_Display_Name": "Microsoft 365 E3", @@ -10943,13 +11215,21 @@ "Service_Plan_Id": "efb87545-963c-4e0d-99df-69c6916d9eb0", "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 2)" }, + { + "Product_Display_Name": "Microsoft 365 E3", + "String_Id": "SPE_E3", + "GUID": "05e9a617-0261-4cee-bb44-138d3ef5d965", + "Service_Plan_Name": "MESH_IMMERSIVE_FOR_TEAMS", + "Service_Plan_Id": "f0ff6ac6-297d-49cd-be34-6dfef97f0c28", + "Service_Plans_Included_Friendly_Names": "Immersive spaces for Teams" + }, { "Product_Display_Name": "Microsoft 365 E3", "String_Id": "SPE_E3", "GUID": "05e9a617-0261-4cee-bb44-138d3ef5d965", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E3", @@ -11281,167 +11561,167 @@ }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Azure Rights Management", + "Service_Plan_Name": "RMS_S_ENTERPRISE", "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", - "Service_Plans_Included_Friendly_Names": "RMS_S_ENTERPRISE" + "Service_Plans_Included_Friendly_Names": "Azure Rights Management" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Common Data Service for Teams", + "Service_Plan_Name": "CDS_O365_P2", "Service_Plan_Id": "95b76021-6a53-4741-ab8b-1d1f3d66a95a", - "Service_Plans_Included_Friendly_Names": "CDS_O365_P2" + "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Copilot", + "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Bing_Chat_Enterprise" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Exchange Online (Plan 2)", + "Service_Plan_Name": "EXCHANGE_S_ENTERPRISE", "Service_Plan_Id": "efb87545-963c-4e0d-99df-69c6916d9eb0", - "Service_Plans_Included_Friendly_Names": "EXCHANGE_S_ENTERPRISE" + "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Information Protection and Governance Analytics � Standard", + "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "ContentExplorer_Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Information Protection for Office 365 - Standard", + "Service_Plan_Name": "MIP_S_CLP1", "Service_Plan_Id": "5136a095-5cf0-4aff-bec3-e84448b38ea5", - "Service_Plans_Included_Friendly_Names": "MIP_S_CLP1" + "Service_Plans_Included_Friendly_Names": "Information Protection for Office 365 - Standard" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Insights by MyAnalytics", + "Service_Plan_Name": "MYANALYTICS_P2", "Service_Plan_Id": "33c4f319-9bdd-48d6-9c4d-410b750a4a5a", - "Service_Plans_Included_Friendly_Names": "MYANALYTICS_P2" + "Service_Plans_Included_Friendly_Names": "Insights by MyAnalytics" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft 365 Apps for enterprise", + "Service_Plan_Name": "OFFICESUBSCRIPTION", "Service_Plan_Id": "43de0ff5-c92c-492b-9116-175376d08c38", - "Service_Plans_Included_Friendly_Names": "OFFICESUBSCRIPTION" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Apps for enterprise" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft 365 Lighthouse (Plan 1)", + "Service_Plan_Name": "M365_LIGHTHOUSE_CUSTOMER_PLAN1", "Service_Plan_Id": "6f23d6a9-adbf-481c-8538-b4c095654487", - "Service_Plans_Included_Friendly_Names": "M365_LIGHTHOUSE_CUSTOMER_PLAN1" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Lighthouse (Plan 1)" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft 365 Lighthouse (Plan 2)", + "Service_Plan_Name": "M365_LIGHTHOUSE_PARTNER_PLAN1", "Service_Plan_Id": "d55411c9-cfff-40a9-87c7-240f14df7da5", - "Service_Plans_Included_Friendly_Names": "M365_LIGHTHOUSE_PARTNER_PLAN1" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Lighthouse (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Bookings", + "Service_Plan_Name": "MICROSOFTBOOKINGS", "Service_Plan_Id": "199a5c09-e0ca-4e37-8f7c-b05d533e1ea2", - "Service_Plans_Included_Friendly_Names": "MICROSOFTBOOKINGS" + "Service_Plans_Included_Friendly_Names": "Microsoft Bookings" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Clipchamp", + "Service_Plan_Name": "CLIPCHAMP", "Service_Plan_Id": "a1ace008-72f3-4ea0-8dac-33b3a23a2472", - "Service_Plans_Included_Friendly_Names": "CLIPCHAMP" + "Service_Plans_Included_Friendly_Names": "Microsoft Clipchamp" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Defender for Endpoint Plan 1", + "Service_Plan_Name": "MDE_LITE", "Service_Plan_Id": "292cc034-7b7c-4950-aaf5-943befd3f1d4", - "Service_Plans_Included_Friendly_Names": "MDE_LITE" + "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Endpoint Plan 1" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Forms (Plan E3)", + "Service_Plan_Name": "FORMS_PLAN_E3", "Service_Plan_Id": "2789c901-c14e-48ab-a76a-be334d9d793a", - "Service_Plans_Included_Friendly_Names": "FORMS_PLAN_E3" + "Service_Plans_Included_Friendly_Names": "Microsoft Forms (Plan E3)" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Kaizala Pro", + "Service_Plan_Name": "KAIZALA_O365_P3", "Service_Plan_Id": "aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1", - "Service_Plans_Included_Friendly_Names": "KAIZALA_O365_P3" + "Service_Plans_Included_Friendly_Names": "Microsoft Kaizala Pro" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Planner", + "Service_Plan_Name": "PROJECTWORKMANAGEMENT", "Service_Plan_Id": "b737dad2-2f6c-4c65-90e3-ca563267e8b9", - "Service_Plans_Included_Friendly_Names": "PROJECTWORKMANAGEMENT" + "Service_Plans_Included_Friendly_Names": "Microsoft Planner" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Search", + "Service_Plan_Name": "MICROSOFT_SEARCH", "Service_Plan_Id": "94065c59-bc8e-4e8b-89e5-5138d471eaff", - "Service_Plans_Included_Friendly_Names": "MICROSOFT_SEARCH" + "Service_Plans_Included_Friendly_Names": "Microsoft Search" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft StaffHub", + "Service_Plan_Name": "Deskless", "Service_Plan_Id": "8c7d2df8-86f0-4902-b2ed-a0458298f3b3", - "Service_Plans_Included_Friendly_Names": "Deskless" + "Service_Plans_Included_Friendly_Names": "Microsoft StaffHub" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Stream for Office 365 E3", + "Service_Plan_Name": "STREAM_O365_E3", "Service_Plan_Id": "9e700747-8b1d-45e5-ab8d-ef187ceec156", - "Service_Plans_Included_Friendly_Names": "STREAM_O365_E3" + "Service_Plans_Included_Friendly_Names": "Microsoft Stream for Office 365 E3" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Mobile Device Management for Office 365", + "Service_Plan_Name": "INTUNE_O365", "Service_Plan_Id": "882e1d05-acd1-4ccb-8708-6ee03664b117", - "Service_Plans_Included_Friendly_Names": "INTUNE_O365" + "Service_Plans_Included_Friendly_Names": "Mobile Device Management for Office 365" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", "Service_Plan_Name": "Nucleus", "Service_Plan_Id": "db4d623d-b514-490b-b7ef-8885eee514de", @@ -11449,187 +11729,187 @@ }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Office for the Web", + "Service_Plan_Name": "SHAREPOINTWAC", "Service_Plan_Id": "e95bec33-7c88-4a70-8e19-b10bd9d0c014", - "Service_Plans_Included_Friendly_Names": "SHAREPOINTWAC" + "Service_Plans_Included_Friendly_Names": "Office for the Web" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Project for Office (Plan E3)", + "Service_Plan_Name": "PROJECT_O365_P2", "Service_Plan_Id": "31b4e2fc-4cd6-4e7d-9c1b-41407303bd66", - "Service_Plans_Included_Friendly_Names": "PROJECT_O365_P2" + "Service_Plans_Included_Friendly_Names": "Project for Office (Plan E3)" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "SharePoint (Plan 2)", + "Service_Plan_Name": "SHAREPOINTENTERPRISE", "Service_Plan_Id": "5dbe027f-2339-4123-9542-606e4d348a72", - "Service_Plans_Included_Friendly_Names": "SHAREPOINTENTERPRISE" + "Service_Plans_Included_Friendly_Names": "SharePoint (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Skype for Business Online (Plan 2)", + "Service_Plan_Name": "MCOSTANDARD", "Service_Plan_Id": "0feaeb32-d00e-4d66-bd5a-43b5b83db82c", - "Service_Plans_Included_Friendly_Names": "MCOSTANDARD" + "Service_Plans_Included_Friendly_Names": "Skype for Business Online (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Sway", + "Service_Plan_Name": "SWAY", "Service_Plan_Id": "a23b959c-7ce8-4e57-9140-b90eb88a9e97", - "Service_Plans_Included_Friendly_Names": "SWAY" + "Service_Plans_Included_Friendly_Names": "Sway" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "To-Do (Plan 2)", + "Service_Plan_Name": "BPOS_S_TODO_2", "Service_Plan_Id": "c87f142c-d1e9-4363-8630-aaea9c4d9ae5", - "Service_Plans_Included_Friendly_Names": "BPOS_S_TODO_2" + "Service_Plans_Included_Friendly_Names": "To-Do (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Viva Engage Core", + "Service_Plan_Name": "VIVAENGAGE_CORE", "Service_Plan_Id": "a82fbf69-b4d7-49f4-83a6-915b2cf354f4", - "Service_Plans_Included_Friendly_Names": "VIVAENGAGE_CORE" + "Service_Plans_Included_Friendly_Names": "Viva Engage Core" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Viva Learning Seeded", + "Service_Plan_Name": "VIVA_LEARNING_SEEDED", "Service_Plan_Id": "b76fb638-6ba6-402a-b9f9-83d28acb3d86", - "Service_Plans_Included_Friendly_Names": "VIVA_LEARNING_SEEDED" + "Service_Plans_Included_Friendly_Names": "Viva Learning Seeded" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Whiteboard (Plan 2)", + "Service_Plan_Name": "WHITEBOARD_PLAN2", "Service_Plan_Id": "94a54592-cd8b-425e-87c6-97868b000b91", - "Service_Plans_Included_Friendly_Names": "WHITEBOARD_PLAN2" + "Service_Plans_Included_Friendly_Names": "Whiteboard (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Yammer Enterprise", + "Service_Plan_Name": "YAMMER_ENTERPRISE", "Service_Plan_Id": "7547a3fe-08ee-4ccb-b430-5077c5041653", - "Service_Plans_Included_Friendly_Names": "YAMMER_ENTERPRISE" + "Service_Plans_Included_Friendly_Names": "Yammer Enterprise" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Universal Print", + "Service_Plan_Name": "UNIVERSAL_PRINT_01", "Service_Plan_Id": "795f6fe0-cc4d-4773-b050-5dde4dc704c9", - "Service_Plans_Included_Friendly_Names": "UNIVERSAL_PRINT_01" + "Service_Plans_Included_Friendly_Names": "Universal Print" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Windows 10/11 Enterprise (Original)", + "Service_Plan_Name": "WIN10_PRO_ENT_SUB", "Service_Plan_Id": "21b439ba-a0ca-424f-a6cc-52f954a5b111", - "Service_Plans_Included_Friendly_Names": "WIN10_PRO_ENT_SUB" + "Service_Plans_Included_Friendly_Names": "Windows 10/11 Enterprise (Original)" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Windows Autopatch", + "Service_Plan_Name": "Windows_Autopatch", "Service_Plan_Id": "9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3", - "Service_Plans_Included_Friendly_Names": "Windows_Autopatch" + "Service_Plans_Included_Friendly_Names": "Windows Autopatch" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Windows Update for Business Deployment Service", + "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", - "Service_Plans_Included_Friendly_Names": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE" + "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Azure Information Protection Premium P1", + "Service_Plan_Name": "RMS_S_PREMIUM", "Service_Plan_Id": "6c57d4b6-3b23-47a5-9bc9-69f17b4947b3", - "Service_Plans_Included_Friendly_Names": "RMS_S_PREMIUM" + "Service_Plans_Included_Friendly_Names": "Azure Information Protection Premium P1" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Common Data Service", + "Service_Plan_Name": "DYN365_CDS_O365_P2", "Service_Plan_Id": "4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14", - "Service_Plans_Included_Friendly_Names": "DYN365_CDS_O365_P2" + "Service_Plans_Included_Friendly_Names": "Common Data Service" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Azure Multi-Factor Authentication", + "Service_Plan_Name": "MFA_PREMIUM", "Service_Plan_Id": "8a256a2b-b617-496d-b51b-e76466e88db0", - "Service_Plans_Included_Friendly_Names": "MFA_PREMIUM" + "Service_Plans_Included_Friendly_Names": "Microsoft Azure Multi-Factor Authentication" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Defender for Cloud Apps Discovery", + "Service_Plan_Name": "ADALLOM_S_DISCOVERY", "Service_Plan_Id": "932ad362-64a8-4783-9106-97849a1a30b9", - "Service_Plans_Included_Friendly_Names": "ADALLOM_S_DISCOVERY" + "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Cloud Apps Discovery" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Entra ID P1", + "Service_Plan_Name": "AAD_PREMIUM", "Service_Plan_Id": "41781fb2-bc02-4b7c-bd55-b576c07bb09d", - "Service_Plans_Included_Friendly_Names": "AAD_PREMIUM" + "Service_Plans_Included_Friendly_Names": "Microsoft Entra ID P1" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Microsoft Intune Plan 1", + "Service_Plan_Name": "INTUNE_A", "Service_Plan_Id": "c1ec4a95-1f05-45b3-a911-aa3fa01094f5", - "Service_Plans_Included_Friendly_Names": "INTUNE_A" + "Service_Plans_Included_Friendly_Names": "Microsoft Intune Plan 1" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Power Apps for Office 365", + "Service_Plan_Name": "POWERAPPS_O365_P2", "Service_Plan_Id": "c68f8d98-5534-41c8-bf36-22fa496fa792", - "Service_Plans_Included_Friendly_Names": "POWERAPPS_O365_P2" + "Service_Plans_Included_Friendly_Names": "Power Apps for Office 365" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Power Automate for Office 365", + "Service_Plan_Name": "FLOW_O365_P2", "Service_Plan_Id": "76846ad7-7776-4c40-a281-a386362dd1b9", - "Service_Plans_Included_Friendly_Names": "FLOW_O365_P2" + "Service_Plans_Included_Friendly_Names": "Power Automate for Office 365" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o�Teams�Bundle_M3", + "String_Id": "O365_w/o?Teams?Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Power Virtual Agents for Office 365", + "Service_Plan_Name": "POWER_VIRTUAL_AGENTS_O365_P2", "Service_Plan_Id": "041fe683-03e4-45b6-b1af-c0cdc516daee", - "Service_Plans_Included_Friendly_Names": "POWER_VIRTUAL_AGENTS_O365_P2" + "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365" }, { "Product_Display_Name": "Microsoft 365 E3 Extra Features", @@ -11653,7 +11933,7 @@ "GUID": "f5b15d67-b99e-406b-90f1-308452f94de6", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E3 Extra Features", @@ -11679,13 +11959,21 @@ "Service_Plan_Id": "9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3", "Service_Plans_Included_Friendly_Names": "Windows Autopatch" }, + { + "Product_Display_Name": "Microsoft 365 E3 Extra Features", + "String_Id": "Microsoft_365_E3_Extra_Features", + "GUID": "f5b15d67-b99e-406b-90f1-308452f94de6", + "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", + "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", + "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" + }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams) - Unattended License", "String_Id": "Microsoft_365_E3_EEA_(no_Teams)_Unattended_License", "GUID": "a23dbafb-3396-48b3-ad9c-a304fe206043", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Bing Chat Enterprise" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams) - Unattended License", @@ -12053,7 +12341,7 @@ "GUID": "c2ac2ee4-9bb1-47e4-8541-d689c7e83371", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E3 - Unattended License", @@ -12421,7 +12709,7 @@ "GUID": "0c21030a-7e60-4ec7-9a0f-0042e0e0211a", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E3 (500 seats min)_HUB", @@ -12437,7 +12725,7 @@ "GUID": "0c21030a-7e60-4ec7-9a0f-0042e0e0211a", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E3 (500 seats min)_HUB", @@ -12773,7 +13061,7 @@ "GUID": "602e6573-55a3-46b1-a1a0-cc267991501a", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB", @@ -12789,7 +13077,7 @@ "GUID": "602e6573-55a3-46b1-a1a0-cc267991501a", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB", @@ -13355,17 +13643,17 @@ "Product_Display_Name": "Microsoft 365 E5", "String_Id": "SPE_E5", "GUID": "06ebc4ee-1bb5-47dd-8120-11324bc54e06", - "Service_Plan_Name": "CDS_O365_P3", - "Service_Plan_Id": "afa73018-811e-46e9-988f-f75d2b1b8430", - "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" + "Service_Plan_Name": "Bing_Chat_Enterprise", + "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5", "String_Id": "SPE_E5", "GUID": "06ebc4ee-1bb5-47dd-8120-11324bc54e06", - "Service_Plan_Name": "Bing_Chat_Enterprise", - "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plan_Name": "CDS_O365_P3", + "Service_Plan_Id": "afa73018-811e-46e9-988f-f75d2b1b8430", + "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" }, { "Product_Display_Name": "Microsoft 365 E5", @@ -13407,6 +13695,14 @@ "Service_Plan_Id": "a6520331-d7d4-4276-95f5-15c0933bc757", "Service_Plans_Included_Friendly_Names": "Graph Connectors Search with Index" }, + { + "Product_Display_Name": "Microsoft 365 E5", + "String_Id": "SPE_E5", + "GUID": "06ebc4ee-1bb5-47dd-8120-11324bc54e06", + "Service_Plan_Name": "MESH_IMMERSIVE_FOR_TEAMS", + "Service_Plan_Id": "f0ff6ac6-297d-49cd-be34-6dfef97f0c28", + "Service_Plans_Included_Friendly_Names": "Immersive spaces for Teams" + }, { "Product_Display_Name": "Microsoft 365 E5", "String_Id": "SPE_E5", @@ -13429,7 +13725,7 @@ "GUID": "06ebc4ee-1bb5-47dd-8120-11324bc54e06", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5", @@ -14069,7 +14365,7 @@ "GUID": "6ee4114a-9b2d-4577-9e7a-49fa43d222d3", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) with Calling Minutes", @@ -14605,7 +14901,7 @@ "GUID": "90277bc7-a6fe-4181-99d8-712b08b8d32b", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Bing Chat Enterprise" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) without Audio Conferencing", @@ -14677,7 +14973,7 @@ "GUID": "90277bc7-a6fe-4181-99d8-712b08b8d32b", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) without Audio Conferencing", @@ -15253,7 +15549,7 @@ "GUID": "db684ac5-c0e7-4f92-8284-ef9ebde75d33", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 (500 seats min)_HUB", @@ -15317,7 +15613,7 @@ "GUID": "db684ac5-c0e7-4f92-8284-ef9ebde75d33", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5 (500 seats min)_HUB", @@ -15909,7 +16205,7 @@ "GUID": "c42b9cae-ea4f-4ab7-9717-81576235ccac", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 Developer (without Windows and Audio Conferencing)", @@ -16477,7 +16773,7 @@ "GUID": "184efa21-98c3-4e5d-95ab-d07053a96e67", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5 Compliance", @@ -16627,337 +16923,337 @@ "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "SharePoint Online (Plan 2)", + "Service_Plan_Name": "SHAREPOINTENTERPRISE", "Service_Plan_Id": "5dbe027f-2339-4123-9542-606e4d348a72", - "Service_Plans_Included_Friendly_Names": "SHAREPOINTENTERPRISE" + "Service_Plans_Included_Friendly_Names": "SharePoint Online (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Bing Chat Enterprise", + "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Bing_Chat_Enterprise" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Common Data Service for Teams", + "Service_Plan_Name": "CDS_O365_P3", "Service_Plan_Id": "afa73018-811e-46e9-988f-f75d2b1b8430", - "Service_Plans_Included_Friendly_Names": "CDS_O365_P3" + "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Customer Lockbox", + "Service_Plan_Name": "LOCKBOX_ENTERPRISE", "Service_Plan_Id": "9f431833-0334-42de-a7dc-70aa40db46db", - "Service_Plans_Included_Friendly_Names": "LOCKBOX_ENTERPRISE" + "Service_Plans_Included_Friendly_Names": "Customer Lockbox" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Customer Lockbox (A)", + "Service_Plan_Name": "CustomerLockboxA_Enterprise", "Service_Plan_Id": "3ec18638-bd4c-4d3b-8905-479ed636b83e", - "Service_Plans_Included_Friendly_Names": "CustomerLockboxA_Enterprise" + "Service_Plans_Included_Friendly_Names": "Customer Lockbox (A)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Data Classification in Microsoft 365", + "Service_Plan_Name": "MIP_S_Exchange", "Service_Plan_Id": "cd31b152-6326-4d1b-ae1b-997b625182e6", - "Service_Plans_Included_Friendly_Names": "MIP_S_Exchange" + "Service_Plans_Included_Friendly_Names": "Data Classification in Microsoft 365" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Exchange Online (Plan 2)", + "Service_Plan_Name": "EXCHANGE_S_ENTERPRISE", "Service_Plan_Id": "efb87545-963c-4e0d-99df-69c6916d9eb0", - "Service_Plans_Included_Friendly_Names": "EXCHANGE_S_ENTERPRISE" + "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Graph Connectors Search with Index", + "Service_Plan_Name": "GRAPH_CONNECTORS_SEARCH_INDEX", "Service_Plan_Id": "a6520331-d7d4-4276-95f5-15c0933bc757", - "Service_Plans_Included_Friendly_Names": "GRAPH_CONNECTORS_SEARCH_INDEX" + "Service_Plans_Included_Friendly_Names": "Graph Connectors Search with Index" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Information Barriers", + "Service_Plan_Name": "INFORMATION_BARRIERS", "Service_Plan_Id": "c4801e8a-cb58-4c35-aca6-f2dcc106f287", - "Service_Plans_Included_Friendly_Names": "INFORMATION_BARRIERS" + "Service_Plans_Included_Friendly_Names": "Information Barriers" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Information Protection and Governance Analytics - Premium", + "Service_Plan_Name": "Content_Explorer", "Service_Plan_Id": "d9fa6af4-e046-4c89-9226-729a0786685d", - "Service_Plans_Included_Friendly_Names": "Content_Explorer" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics - Premium" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Information Protection and Governance Analytics � Standard", + "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "ContentExplorer_Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Information Protection for Office 365 - Premium", + "Service_Plan_Name": "MIP_S_CLP2", "Service_Plan_Id": "efb0351d-3b08-4503-993d-383af8de41e3", - "Service_Plans_Included_Friendly_Names": "MIP_S_CLP2" + "Service_Plans_Included_Friendly_Names": "Information Protection for Office 365 - Premium" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Information Protection for Office 365 - Standard", + "Service_Plan_Name": "MIP_S_CLP1", "Service_Plan_Id": "5136a095-5cf0-4aff-bec3-e84448b38ea5", - "Service_Plans_Included_Friendly_Names": "MIP_S_CLP1" + "Service_Plans_Included_Friendly_Names": "Information Protection for Office 365 - Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Insights by MyAnalytics", + "Service_Plan_Name": "MYANALYTICS_P2", "Service_Plan_Id": "33c4f319-9bdd-48d6-9c4d-410b750a4a5a", - "Service_Plans_Included_Friendly_Names": "MYANALYTICS_P2" + "Service_Plans_Included_Friendly_Names": "Insights by MyAnalytics" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft 365 Advanced Auditing", + "Service_Plan_Name": "M365_ADVANCED_AUDITING", "Service_Plan_Id": "2f442157-a11c-46b9-ae5b-6e39ff4e5849", - "Service_Plans_Included_Friendly_Names": "M365_ADVANCED_AUDITING" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Advanced Auditing" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft 365 Apps for enterprise", + "Service_Plan_Name": "OFFICESUBSCRIPTION", "Service_Plan_Id": "43de0ff5-c92c-492b-9116-175376d08c38", - "Service_Plans_Included_Friendly_Names": "OFFICESUBSCRIPTION" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Apps for enterprise" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft 365 Audio Conferencing", + "Service_Plan_Name": "MCOMEETADV", "Service_Plan_Id": "3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40", - "Service_Plans_Included_Friendly_Names": "MCOMEETADV" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Audio Conferencing" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft 365 Audit Platform", + "Service_Plan_Name": "M365_AUDIT_PLATFORM", "Service_Plan_Id": "f6de4823-28fa-440b-b886-4783fa86ddba", - "Service_Plans_Included_Friendly_Names": "M365_AUDIT_PLATFORM" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Audit Platform" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft 365 Communication Compliance", + "Service_Plan_Name": "MICROSOFT_COMMUNICATION_COMPLIANCE", "Service_Plan_Id": "a413a9ff-720c-4822-98ef-2f37c2a21f4c", - "Service_Plans_Included_Friendly_Names": "MICROSOFT_COMMUNICATION_COMPLIANCE" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Communication Compliance" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft 365 Defender", + "Service_Plan_Name": "MTP", "Service_Plan_Id": "bf28f719-7844-4079-9c78-c1307898e192", - "Service_Plans_Included_Friendly_Names": "MTP" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Defender" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft 365 Lighthouse (Plan 1)", + "Service_Plan_Name": "M365_LIGHTHOUSE_CUSTOMER_PLAN1", "Service_Plan_Id": "6f23d6a9-adbf-481c-8538-b4c095654487", - "Service_Plans_Included_Friendly_Names": "M365_LIGHTHOUSE_CUSTOMER_PLAN1" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Lighthouse (Plan 1)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft 365 Phone System", + "Service_Plan_Name": "MCOEV", "Service_Plan_Id": "4828c8ec-dc2e-4779-b502-87ac9ce28ab7", - "Service_Plans_Included_Friendly_Names": "MCOEV" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Phone System" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Bookings", + "Service_Plan_Name": "MICROSOFTBOOKINGS", "Service_Plan_Id": "199a5c09-e0ca-4e37-8f7c-b05d533e1ea2", - "Service_Plans_Included_Friendly_Names": "MICROSOFTBOOKINGS" + "Service_Plans_Included_Friendly_Names": "Microsoft Bookings" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Clipchamp", + "Service_Plan_Name": "CLIPCHAMP", "Service_Plan_Id": "a1ace008-72f3-4ea0-8dac-33b3a23a2472", - "Service_Plans_Included_Friendly_Names": "CLIPCHAMP" + "Service_Plans_Included_Friendly_Names": "Microsoft Clipchamp" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Communications DLP", + "Service_Plan_Name": "COMMUNICATIONS_DLP", "Service_Plan_Id": "6dc145d6-95dd-4191-b9c3-185575ee6f6b", - "Service_Plans_Included_Friendly_Names": "COMMUNICATIONS_DLP" + "Service_Plans_Included_Friendly_Names": "Microsoft Communications DLP" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Customer Key", + "Service_Plan_Name": "CUSTOMER_KEY", "Service_Plan_Id": "6db1f1db-2b46-403f-be40-e39395f08dbb", - "Service_Plans_Included_Friendly_Names": "CUSTOMER_KEY" + "Service_Plans_Included_Friendly_Names": "Microsoft Customer Key" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Data Investigations", + "Service_Plan_Name": "DATA_INVESTIGATIONS", "Service_Plan_Id": "46129a58-a698-46f0-aa5b-17f6586297d9", - "Service_Plans_Included_Friendly_Names": "DATA_INVESTIGATIONS" + "Service_Plans_Included_Friendly_Names": "Microsoft Data Investigations" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Defender for Office 365 (Plan 1)", + "Service_Plan_Name": "ATP_ENTERPRISE", "Service_Plan_Id": "f20fedf3-f3c3-43c3-8267-2bfdd51c0939", - "Service_Plans_Included_Friendly_Names": "ATP_ENTERPRISE" + "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Office 365 (Plan 1)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Defender for Office 365 (Plan 2)", + "Service_Plan_Name": "THREAT_INTELLIGENCE", "Service_Plan_Id": "8e0c0a52-6a6c-4d40-8370-dd62790dcd70", - "Service_Plans_Included_Friendly_Names": "THREAT_INTELLIGENCE" + "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Office 365 (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Excel Advanced Analytics", + "Service_Plan_Name": "EXCEL_PREMIUM", "Service_Plan_Id": "531ee2f8-b1cb-453b-9c21-d2180d014ca5", - "Service_Plans_Included_Friendly_Names": "EXCEL_PREMIUM" + "Service_Plans_Included_Friendly_Names": "Microsoft Excel Advanced Analytics" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Forms (Plan E5)", + "Service_Plan_Name": "FORMS_PLAN_E5", "Service_Plan_Id": "e212cbc7-0961-4c40-9825-01117710dcb1", - "Service_Plans_Included_Friendly_Names": "FORMS_PLAN_E5" + "Service_Plans_Included_Friendly_Names": "Microsoft Forms (Plan E5)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Information Governance", + "Service_Plan_Name": "INFO_GOVERNANCE", "Service_Plan_Id": "e26c2fcc-ab91-4a61-b35c-03cdc8dddf66", - "Service_Plans_Included_Friendly_Names": "INFO_GOVERNANCE" + "Service_Plans_Included_Friendly_Names": "Microsoft Information Governance" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Insider Risk Management", + "Service_Plan_Name": "INSIDER_RISK", "Service_Plan_Id": "d587c7a3-bda9-4f99-8776-9bcf59c84f75", - "Service_Plans_Included_Friendly_Names": "INSIDER_RISK" + "Service_Plans_Included_Friendly_Names": "Microsoft Insider Risk Management" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Kaizala Pro", + "Service_Plan_Name": "KAIZALA_STANDALONE", "Service_Plan_Id": "0898bdbb-73b0-471a-81e5-20f1fe4dd66e", - "Service_Plans_Included_Friendly_Names": "KAIZALA_STANDALONE" + "Service_Plans_Included_Friendly_Names": "Microsoft Kaizala Pro" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft ML-Based Classification", + "Service_Plan_Name": "ML_CLASSIFICATION", "Service_Plan_Id": "d2d51368-76c9-4317-ada2-a12c004c432f", - "Service_Plans_Included_Friendly_Names": "ML_CLASSIFICATION" + "Service_Plans_Included_Friendly_Names": "Microsoft ML-Based Classification" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft MyAnalytics (Full)", + "Service_Plan_Name": "EXCHANGE_ANALYTICS", "Service_Plan_Id": "34c0d7a0-a70f-4668-9238-47f9fc208882", - "Service_Plans_Included_Friendly_Names": "EXCHANGE_ANALYTICS" + "Service_Plans_Included_Friendly_Names": "Microsoft MyAnalytics (Full)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Planner", + "Service_Plan_Name": "PROJECTWORKMANAGEMENT", "Service_Plan_Id": "b737dad2-2f6c-4c65-90e3-ca563267e8b9", - "Service_Plans_Included_Friendly_Names": "PROJECTWORKMANAGEMENT" + "Service_Plans_Included_Friendly_Names": "Microsoft Planner" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Records Management", + "Service_Plan_Name": "RECORDS_MANAGEMENT", "Service_Plan_Id": "65cc641f-cccd-4643-97e0-a17e3045e541", - "Service_Plans_Included_Friendly_Names": "RECORDS_MANAGEMENT" + "Service_Plans_Included_Friendly_Names": "Microsoft Records Management" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Search", + "Service_Plan_Name": "MICROSOFT_SEARCH", "Service_Plan_Id": "94065c59-bc8e-4e8b-89e5-5138d471eaff", - "Service_Plans_Included_Friendly_Names": "MICROSOFT_SEARCH" + "Service_Plans_Included_Friendly_Names": "Microsoft Search" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft StaffHub", + "Service_Plan_Name": "Deskless", "Service_Plan_Id": "8c7d2df8-86f0-4902-b2ed-a0458298f3b3", - "Service_Plans_Included_Friendly_Names": "Deskless" + "Service_Plans_Included_Friendly_Names": "Microsoft StaffHub" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Stream for Office 365 E5", + "Service_Plan_Name": "STREAM_O365_E5", "Service_Plan_Id": "6c6042f5-6f01-4d67-b8c1-eb99d36eed3e", - "Service_Plans_Included_Friendly_Names": "STREAM_O365_E5" + "Service_Plans_Included_Friendly_Names": "Microsoft Stream for Office 365 E5" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Mobile Device Management for Office 365", + "Service_Plan_Name": "INTUNE_O365", "Service_Plan_Id": "882e1d05-acd1-4ccb-8708-6ee03664b117", - "Service_Plans_Included_Friendly_Names": "INTUNE_O365" + "Service_Plans_Included_Friendly_Names": "Mobile Device Management for Office 365" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", @@ -16971,289 +17267,289 @@ "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Office 365 Advanced eDiscovery", + "Service_Plan_Name": "EQUIVIO_ANALYTICS", "Service_Plan_Id": "4de31727-a228-4ec3-a5bf-8e45b5ca48cc", - "Service_Plans_Included_Friendly_Names": "EQUIVIO_ANALYTICS" + "Service_Plans_Included_Friendly_Names": "Office 365 Advanced eDiscovery" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Office 365 Cloud App Security", + "Service_Plan_Name": "ADALLOM_S_O365", "Service_Plan_Id": "8c098270-9dd4-4350-9b30-ba4703f3b36b", - "Service_Plans_Included_Friendly_Names": "ADALLOM_S_O365" + "Service_Plans_Included_Friendly_Names": "Office 365 Cloud App Security" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Office 365 Privileged Access Management", + "Service_Plan_Name": "PAM_ENTERPRISE", "Service_Plan_Id": "b1188c4c-1b36-4018-b48b-ee07604f6feb", - "Service_Plans_Included_Friendly_Names": "PAM_ENTERPRISE" + "Service_Plans_Included_Friendly_Names": "Office 365 Privileged Access Management" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Office 365 SafeDocs", + "Service_Plan_Name": "SAFEDOCS", "Service_Plan_Id": "bf6f5520-59e3-4f82-974b-7dbbc4fd27c7", - "Service_Plans_Included_Friendly_Names": "SAFEDOCS" + "Service_Plans_Included_Friendly_Names": "Office 365 SafeDocs" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Office for the Web", + "Service_Plan_Name": "SHAREPOINTWAC", "Service_Plan_Id": "e95bec33-7c88-4a70-8e19-b10bd9d0c014", - "Service_Plans_Included_Friendly_Names": "SHAREPOINTWAC" + "Service_Plans_Included_Friendly_Names": "Office for the Web" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Power Apps for Office 365 (Plan 3)", + "Service_Plan_Name": "POWERAPPS_O365_P3", "Service_Plan_Id": "9c0dab89-a30c-4117-86e7-97bda240acd2", - "Service_Plans_Included_Friendly_Names": "POWERAPPS_O365_P3" + "Service_Plans_Included_Friendly_Names": "Power Apps for Office 365 (Plan 3)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Premium Encryption in Office 365", + "Service_Plan_Name": "PREMIUM_ENCRYPTION", "Service_Plan_Id": "617b097b-4b93-4ede-83de-5f075bb5fb2f", - "Service_Plans_Included_Friendly_Names": "PREMIUM_ENCRYPTION" + "Service_Plans_Included_Friendly_Names": "Premium Encryption in Office 365" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Project for Office (Plan E5)", + "Service_Plan_Name": "PROJECT_O365_P3", "Service_Plan_Id": "b21a6b06-1988-436e-a07b-51ec6d9f52ad", - "Service_Plans_Included_Friendly_Names": "PROJECT_O365_P3" + "Service_Plans_Included_Friendly_Names": "Project for Office (Plan E5)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "RETIRED - Microsoft Communications Compliance", + "Service_Plan_Name": "COMMUNICATIONS_COMPLIANCE", "Service_Plan_Id": "41fcdd7d-4733-4863-9cf4-c65b83ce2df4", - "Service_Plans_Included_Friendly_Names": "COMMUNICATIONS_COMPLIANCE" + "Service_Plans_Included_Friendly_Names": "RETIRED - Microsoft Communications Compliance" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "RETIRED - Microsoft Insider Risk Management", + "Service_Plan_Name": "INSIDER_RISK_MANAGEMENT", "Service_Plan_Id": "9d0c4ee5-e4a1-4625-ab39-d82b619b1a34", - "Service_Plans_Included_Friendly_Names": "INSIDER_RISK_MANAGEMENT" + "Service_Plans_Included_Friendly_Names": "RETIRED - Microsoft Insider Risk Management" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Skype for Business Online (Plan 2)", + "Service_Plan_Name": "MCOSTANDARD", "Service_Plan_Id": "0feaeb32-d00e-4d66-bd5a-43b5b83db82c", - "Service_Plans_Included_Friendly_Names": "MCOSTANDARD" + "Service_Plans_Included_Friendly_Names": "Skype for Business Online (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Sway", + "Service_Plan_Name": "SWAY", "Service_Plan_Id": "a23b959c-7ce8-4e57-9140-b90eb88a9e97", - "Service_Plans_Included_Friendly_Names": "SWAY" + "Service_Plans_Included_Friendly_Names": "Sway" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "To-Do (Plan 3)", + "Service_Plan_Name": "BPOS_S_TODO_3", "Service_Plan_Id": "3fb82609-8c27-4f7b-bd51-30634711ee67", - "Service_Plans_Included_Friendly_Names": "BPOS_S_TODO_3" + "Service_Plans_Included_Friendly_Names": "To-Do (Plan 3)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Viva Engage Core", + "Service_Plan_Name": "VIVAENGAGE_CORE", "Service_Plan_Id": "a82fbf69-b4d7-49f4-83a6-915b2cf354f4", - "Service_Plans_Included_Friendly_Names": "VIVAENGAGE_CORE" + "Service_Plans_Included_Friendly_Names": "Viva Engage Core" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Viva Learning Seeded", + "Service_Plan_Name": "VIVA_LEARNING_SEEDED", "Service_Plan_Id": "b76fb638-6ba6-402a-b9f9-83d28acb3d86", - "Service_Plans_Included_Friendly_Names": "VIVA_LEARNING_SEEDED" + "Service_Plans_Included_Friendly_Names": "Viva Learning Seeded" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Whiteboard (Plan 3)", + "Service_Plan_Name": "WHITEBOARD_PLAN3", "Service_Plan_Id": "4a51bca5-1eff-43f5-878c-177680f191af", - "Service_Plans_Included_Friendly_Names": "WHITEBOARD_PLAN3" + "Service_Plans_Included_Friendly_Names": "Whiteboard (Plan 3)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Yammer Enterprise", + "Service_Plan_Name": "YAMMER_ENTERPRISE", "Service_Plan_Id": "7547a3fe-08ee-4ccb-b430-5077c5041653", - "Service_Plans_Included_Friendly_Names": "YAMMER_ENTERPRISE" + "Service_Plans_Included_Friendly_Names": "Yammer Enterprise" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Defender for Endpoint", + "Service_Plan_Name": "WINDEFATP", "Service_Plan_Id": "871d91ec-ec1a-452b-a83f-bd76c7d770ef", - "Service_Plans_Included_Friendly_Names": "WINDEFATP" + "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Endpoint" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Endpoint DLP", + "Service_Plan_Name": "MICROSOFTENDPOINTDLP", "Service_Plan_Id": "64bfac92-2b17-4482-b5e5-a0304429de3e", - "Service_Plans_Included_Friendly_Names": "MICROSOFTENDPOINTDLP" + "Service_Plans_Included_Friendly_Names": "Microsoft Endpoint DLP" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Universal Print", + "Service_Plan_Name": "UNIVERSAL_PRINT_01", "Service_Plan_Id": "795f6fe0-cc4d-4773-b050-5dde4dc704c9", - "Service_Plans_Included_Friendly_Names": "UNIVERSAL_PRINT_01" + "Service_Plans_Included_Friendly_Names": "Universal Print" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Windows 10/11 Enterprise (Original)", + "Service_Plan_Name": "WIN10_PRO_ENT_SUB", "Service_Plan_Id": "21b439ba-a0ca-424f-a6cc-52f954a5b111", - "Service_Plans_Included_Friendly_Names": "WIN10_PRO_ENT_SUB" + "Service_Plans_Included_Friendly_Names": "Windows 10/11 Enterprise (Original)" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Windows Autopatch", + "Service_Plan_Name": "Windows_Autopatch", "Service_Plan_Id": "9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3", - "Service_Plans_Included_Friendly_Names": "Windows_Autopatch" + "Service_Plans_Included_Friendly_Names": "Windows Autopatch" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Windows Update for Business Deployment Service", + "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", - "Service_Plans_Included_Friendly_Names": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE" + "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Azure Information Protection Premium P1", + "Service_Plan_Name": "RMS_S_PREMIUM", "Service_Plan_Id": "6c57d4b6-3b23-47a5-9bc9-69f17b4947b3", - "Service_Plans_Included_Friendly_Names": "RMS_S_PREMIUM" + "Service_Plans_Included_Friendly_Names": "Azure Information Protection Premium P1" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Azure Information Protection Premium P2", + "Service_Plan_Name": "RMS_S_PREMIUM2", "Service_Plan_Id": "5689bec4-755d-4753-8b61-40975025187c", - "Service_Plans_Included_Friendly_Names": "RMS_S_PREMIUM2" + "Service_Plans_Included_Friendly_Names": "Azure Information Protection Premium P2" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Azure Rights Management", + "Service_Plan_Name": "RMS_S_ENTERPRISE", "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", - "Service_Plans_Included_Friendly_Names": "RMS_S_ENTERPRISE" + "Service_Plans_Included_Friendly_Names": "Azure Rights Management" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Common Data Service", + "Service_Plan_Name": "DYN365_CDS_O365_P3", "Service_Plan_Id": "28b0fa46-c39a-4188-89e2-58e979a6b014", - "Service_Plans_Included_Friendly_Names": "DYN365_CDS_O365_P3" + "Service_Plans_Included_Friendly_Names": "Common Data Service" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Azure Multi-Factor Authentication", + "Service_Plan_Name": "MFA_PREMIUM", "Service_Plan_Id": "8a256a2b-b617-496d-b51b-e76466e88db0", - "Service_Plans_Included_Friendly_Names": "MFA_PREMIUM" + "Service_Plans_Included_Friendly_Names": "Microsoft Azure Multi-Factor Authentication" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Defender for Cloud Apps", + "Service_Plan_Name": "ADALLOM_S_STANDALONE", "Service_Plan_Id": "2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2", - "Service_Plans_Included_Friendly_Names": "ADALLOM_S_STANDALONE" + "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Cloud Apps" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Defender for Identity", + "Service_Plan_Name": "ATA", "Service_Plan_Id": "14ab5db5-e6c4-4b20-b4bc-13e36fd2227f", - "Service_Plans_Included_Friendly_Names": "ATA" + "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Identity" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Entra ID P1", + "Service_Plan_Name": "AAD_PREMIUM", "Service_Plan_Id": "41781fb2-bc02-4b7c-bd55-b576c07bb09d", - "Service_Plans_Included_Friendly_Names": "AAD_PREMIUM" + "Service_Plans_Included_Friendly_Names": "Microsoft Entra ID P1" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Entra ID P2", + "Service_Plan_Name": "AAD_PREMIUM_P2", "Service_Plan_Id": "eec0eb4f-6444-4f95-aba0-50c24d67f998", - "Service_Plans_Included_Friendly_Names": "AAD_PREMIUM_P2" + "Service_Plans_Included_Friendly_Names": "Microsoft Entra ID P2" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Microsoft Intune Plan 1", + "Service_Plan_Name": "INTUNE_A", "Service_Plan_Id": "c1ec4a95-1f05-45b3-a911-aa3fa01094f5", - "Service_Plans_Included_Friendly_Names": "INTUNE_A" + "Service_Plans_Included_Friendly_Names": "Microsoft Intune Plan 1" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Power Automate for Office 365", + "Service_Plan_Name": "FLOW_O365_P3", "Service_Plan_Id": "07699545-9485-468e-95b6-2fca3738be01", - "Service_Plans_Included_Friendly_Names": "FLOW_O365_P3" + "Service_Plans_Included_Friendly_Names": "Power Automate for Office 365" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Power BI Pro", + "Service_Plan_Name": "BI_AZURE_P2", "Service_Plan_Id": "70d33638-9c74-4d01-bfd3-562de28bd4ba", - "Service_Plans_Included_Friendly_Names": "BI_AZURE_P2" + "Service_Plans_Included_Friendly_Names": "Power BI Pro" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Power Virtual Agents for Office 365", + "Service_Plan_Name": "POWER_VIRTUAL_AGENTS_O365_P3", "Service_Plan_Id": "ded3d325-1bdc-453e-8432-5bac26d7a014", - "Service_Plans_Included_Friendly_Names": "POWER_VIRTUAL_AGENTS_O365_P3" + "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365" }, { "Product_Display_Name": "Microsoft 365 E5 Security", @@ -17397,7 +17693,7 @@ "GUID": "a91fc4e0-65e5-4266-aa76-4037509c1626", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 with Calling Minutes", @@ -17461,7 +17757,7 @@ "GUID": "a91fc4e0-65e5-4266-aa76-4037509c1626", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5 with Calling Minutes", @@ -18061,7 +18357,7 @@ "GUID": "cd2925a3-5076-4233-8931-638a8c94f773", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 without Audio Conferencing", @@ -18125,7 +18421,7 @@ "GUID": "cd2925a3-5076-4233-8931-638a8c94f773", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5 without Audio Conferencing", @@ -18725,7 +19021,7 @@ "GUID": "2113661c-6509-4034-98bb-9c47bd28d63c", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB", @@ -18789,7 +19085,7 @@ "GUID": "2113661c-6509-4034-98bb-9c47bd28d63c", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB", @@ -19357,7 +19653,7 @@ "GUID": "1e988bf3-8b7c-4731-bec0-4e2a2946600c", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB", @@ -19421,7 +19717,7 @@ "GUID": "1e988bf3-8b7c-4731-bec0-4e2a2946600c", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB", @@ -20005,7 +20301,7 @@ "GUID": "a640eead-25f6-4bec-97e3-23cfd382d7c2", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB", @@ -20061,7 +20357,7 @@ "GUID": "a640eead-25f6-4bec-97e3-23cfd382d7c2", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB", @@ -20645,7 +20941,7 @@ "GUID": "4eb45c5b-0d19-4e33-b87c-adfc25268f20", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 E5_USGOV_GCCHIGH", @@ -21255,6 +21551,14 @@ "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", "Service_Plans_Included_Friendly_Names": "Azure Rights Management" }, + { + "Product_Display_Name": "Microsoft 365 F3", + "String_Id": "SPE_F1", + "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", + "Service_Plan_Name": "Bing_Chat_Enterprise", + "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + }, { "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", @@ -21271,6 +21575,14 @@ "Service_Plan_Id": "4a82b400-a79f-41a4-b4e2-e94f5787b113", "Service_Plans_Included_Friendly_Names": "Exchange Online Kiosk" }, + { + "Product_Display_Name": "Microsoft 365 F3", + "String_Id": "SPE_F1", + "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", + "Service_Plan_Name": "M365_LIGHTHOUSE_CUSTOMER_PLAN1", + "Service_Plan_Id": "6f23d6a9-adbf-481c-8538-b4c095654487", + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Lighthouse (Plan 1)" + }, { "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", @@ -21399,6 +21711,14 @@ "Service_Plan_Id": "80873e7a-cd2a-4e67-b061-1b5381a676a5", "Service_Plans_Included_Friendly_Names": "To-Do (Firstline)" }, + { + "Product_Display_Name": "Microsoft 365 F3", + "String_Id": "SPE_F1", + "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", + "Service_Plan_Name": "VIVAENGAGE_CORE", + "Service_Plan_Id": "a82fbf69-b4d7-49f4-83a6-915b2cf354f4", + "Service_Plans_Included_Friendly_Names": "Viva Engage Core" + }, { "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", @@ -21443,17 +21763,17 @@ "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", - "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", - "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", - "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" + "Service_Plan_Name": "Windows_Autopatch", + "Service_Plan_Id": "9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3", + "Service_Plans_Included_Friendly_Names": "Windows Autopatch" }, { "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", - "Service_Plan_Name": "AAD_PREMIUM", - "Service_Plan_Id": "41781fb2-bc02-4b7c-bd55-b576c07bb09d", - "Service_Plans_Included_Friendly_Names": "Microsoft Entra ID P1" + "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", + "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", + "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" }, { "Product_Display_Name": "Microsoft 365 F3", @@ -21487,13 +21807,21 @@ "Service_Plan_Id": "932ad362-64a8-4783-9106-97849a1a30b9", "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Cloud Apps Discovery" }, + { + "Product_Display_Name": "Microsoft 365 F3", + "String_Id": "SPE_F1", + "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", + "Service_Plan_Name": "AAD_PREMIUM", + "Service_Plan_Id": "41781fb2-bc02-4b7c-bd55-b576c07bb09d", + "Service_Plans_Included_Friendly_Names": "Microsoft Entra ID P1" + }, { "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", "Service_Plan_Name": "INTUNE_A", "Service_Plan_Id": "c1ec4a95-1f05-45b3-a911-aa3fa01094f5", - "Service_Plans_Included_Friendly_Names": "Microsoft Intune" + "Service_Plans_Included_Friendly_Names": "Microsoft Intune Plan 1" }, { "Product_Display_Name": "Microsoft 365 F3", @@ -21527,14 +21855,6 @@ "Service_Plan_Id": "ba2fdb48-290b-4632-b46a-e4ecc58ac11a", "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365" }, - { - "Product_Display_Name": "Microsoft 365 F3", - "String_Id": "SPE_F1", - "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", - "Service_Plan_Name": "VIVAENGAGE_CORE", - "Service_Plan_Id": "a82fbf69-b4d7-49f4-83a6-915b2cf354f4", - "Service_Plans_Included_Friendly_Names": "Viva Engage Core" - }, { "Product_Display_Name": "Microsoft 365 F3 EEA (no Teams)", "String_Id": "Microsoft_365_F3_EEA_(no_Teams)", @@ -22205,7 +22525,7 @@ "GUID": "9cfd6bc3-84cd-4274-8a21-8c7c41d6c350", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD", @@ -22965,7 +23285,7 @@ "GUID": "e2be619b-b125-455f-8660-fb503e431a5d", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 GCC G5", @@ -23413,7 +23733,7 @@ "GUID": "b0f809d5-a662-4391-a5aa-136e9c565b9d", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 GCC G5 w/o WDATP/CAS Unified", @@ -23805,7 +24125,7 @@ "GUID": "99cc8282-2f74-4954-83b7-c6a9a1999067", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Copilot" + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 Suite features", @@ -23815,6 +24135,14 @@ "Service_Plan_Id": "3ec18638-bd4c-4d3b-8905-479ed636b83e", "Service_Plans_Included_Friendly_Names": "Customer Lockbox (A)" }, + { + "Product_Display_Name": "Microsoft 365 E5 Suite features", + "String_Id": "M365_E5_SUITE_COMPONENTS", + "GUID": "99cc8282-2f74-4954-83b7-c6a9a1999067", + "Service_Plan_Name": "MESH_IMMERSIVE_FOR_TEAMS", + "Service_Plan_Id": "f0ff6ac6-297d-49cd-be34-6dfef97f0c28", + "Service_Plans_Included_Friendly_Names": "Immersive spaces for Teams" + }, { "Product_Display_Name": "Microsoft 365 E5 Suite features", "String_Id": "M365_E5_SUITE_COMPONENTS", @@ -23887,6 +24215,14 @@ "Service_Plan_Id": "9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3", "Service_Plans_Included_Friendly_Names": "Windows Autopatch" }, + { + "Product_Display_Name": "Microsoft 365 E5 Suite features", + "String_Id": "M365_E5_SUITE_COMPONENTS", + "GUID": "99cc8282-2f74-4954-83b7-c6a9a1999067", + "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", + "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", + "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" + }, { "Product_Display_Name": "Microsoft 365 E5 Suite features", "String_Id": "M365_E5_SUITE_COMPONENTS", @@ -24069,7 +24405,7 @@ "GUID": "e823ca47-49c4-46b3-b38d-ca11d5abe3d2", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Microsoft 365 G3 GCC", @@ -24799,6 +25135,14 @@ "Service_Plan_Id": "871d91ec-ec1a-452b-a83f-bd76c7d770ef", "Service_Plans_Included_Friendly_Names": "MICROSOFT DEFENDER FOR ENDPOINT" }, + { + "Product_Display_Name": "Microsoft Defender for Endpoint F2", + "String_Id": "Microsoft_Defender_for_Endpoint_F2", + "GUID": "e430a580-c37b-4d16-adba-d881d7cd0364", + "Service_Plan_Name": "WINDEFATP", + "Service_Plan_Id": "871d91ec-ec1a-452b-a83f-bd76c7d770ef", + "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Endpoint" + }, { "Product_Display_Name": "Microsoft Defender for Endpoint P1", "String_Id": "DEFENDER_ENDPOINT_P1", @@ -25023,6 +25367,14 @@ "Service_Plan_Id": "874fc546-6efe-4d22-90b8-5c4e7aa59f4b", "Service_Plans_Included_Friendly_Names": "POWERAPPS FOR DYNAMICS 365" }, + { + "Product_Display_Name": "Microsoft Entra ID Governance", + "String_Id": "Microsoft_Entra_ID_Governance", + "GUID": "cf6b0d46-4093-4546-a0ab-0b1546dcc10e", + "Service_Plan_Name": "Entra_Identity_Governance", + "Service_Plan_Id": "e866a266-3cff-43a3-acca-0c90a7e00c8b", + "Service_Plans_Included_Friendly_Names": "Entra Identity Governance" + }, { "Product_Display_Name": "Microsoft Fabric (Free)", "String_Id": "POWER_BI_STANDARD", @@ -25503,6 +25855,38 @@ "Service_Plan_Id": "83bced11-77ce-4071-95bd-240133796768", "Service_Plans_Included_Friendly_Names": "Microsoft Stream Storage Add-On" }, + { + "Product_Display_Name": "Microsoft Sustainability Manager USL Essentials", + "String_Id": "Microsoft_Cloud_for_Sustainability_USL", + "GUID": "ece037b4-a52b-4cf8-93ea-649e5d83767a", + "Service_Plan_Name": "MCS_BizApps_Cloud_for_Sustainability_USL", + "Service_Plan_Id": "c46c42af-d654-4385-8c85-29a84f3dfb22", + "Service_Plans_Included_Friendly_Names": "MCS - BizApps - Cloud for Sustainability USL" + }, + { + "Product_Display_Name": "Microsoft Sustainability Manager USL Essentials", + "String_Id": "Microsoft_Cloud_for_Sustainability_USL", + "GUID": "ece037b4-a52b-4cf8-93ea-649e5d83767a", + "Service_Plan_Name": "POWER_APPS_FOR_MCS_USL", + "Service_Plan_Id": "5ffd371c-037a-41a2-98a3-6452f8c5de17", + "Service_Plans_Included_Friendly_Names": "Power Apps for Cloud for Sustainability USL" + }, + { + "Product_Display_Name": "Microsoft Sustainability Manager USL Essentials", + "String_Id": "Microsoft_Cloud_for_Sustainability_USL", + "GUID": "ece037b4-a52b-4cf8-93ea-649e5d83767a", + "Service_Plan_Name": "POWER_AUTOMATE_FOR_MCS_USL", + "Service_Plan_Id": "ccbe468e-7973-442c-8ec4-5fbe16438711", + "Service_Plans_Included_Friendly_Names": "Power Automate for Cloud for Sustainability USL" + }, + { + "Product_Display_Name": "Microsoft Sustainability Manager USL Essentials", + "String_Id": "Microsoft_Cloud_for_Sustainability_USL", + "GUID": "ece037b4-a52b-4cf8-93ea-649e5d83767a", + "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", + "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", + "Service_Plans_Included_Friendly_Names": "Exchange Foundation" + }, { "Product_Display_Name": "Microsoft Teams Audio Conferencing with dial-out to USA/CAN", "String_Id": "Microsoft_Teams_Audio_Conferencing_select_dial_out", @@ -25559,6 +25943,22 @@ "Service_Plan_Id": "36b29273-c6d0-477a-aca6-6fbe24f538e3", "Service_Plans_Included_Friendly_Names": "WHITEBOARD (FIRSTLINE)" }, + { + "Product_Display_Name": "Microsoft Teams Calling Plan pay-as-you-go (country zone 1 - US)", + "String_Id": "Microsoft_Teams_Calling_Plan_pay_as_you_go_(country_zone_1_US)", + "GUID": "9b196e97-5830-4c2e-adc2-1e10ebf5dee5", + "Service_Plan_Name": "MCOPSTN_PAYG_1", + "Service_Plan_Id": "156a1efe-17cd-4b03-9f17-2eb512298fb3", + "Service_Plans_Included_Friendly_Names": "Microsoft Teams Calling Plan pay-as-you-go - country zone 1" + }, + { + "Product_Display_Name": "Microsoft Teams Domestic Calling Plan (240 min)", + "String_Id": "MCOPSTN_6", + "GUID": "729dbb8f-8d56-4994-8e33-2f218f549544", + "Service_Plan_Name": "MCOPSTN6", + "Service_Plan_Id": "346d83bf-6fe6-42ca-b424-b9300d2e21bf", + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Domestic Calling Plan (240 min)" + }, { "Product_Display_Name": "Microsoft Teams Essentials", "String_Id": "Teams_Ess", @@ -28325,7 +28725,7 @@ "GUID": "a4585165-0533-458a-97e3-c400570268c4", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 A5 for faculty", @@ -28781,7 +29181,7 @@ "GUID": "ee656612-49fa-43e5-b67e-cb1fdf7699df", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 A5 for students", @@ -30051,9 +30451,33 @@ "Product_Display_Name": "Office 365 E3", "String_Id": "ENTERPRISEPACK", "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "DYN365_CDS_O365_P2", - "Service_Plan_Id": "4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14", - "Service_Plans_Included_Friendly_Names": "Common Data Service - O365 P2" + "Service_Plan_Name": "MESH_AVATARS_FOR_TEAMS", + "Service_Plan_Id": "dcf9d2f4-772e-4434-b757-77a453cfbc02", + "Service_Plans_Included_Friendly_Names": "Avatars for Teams" + }, + { + "Product_Display_Name": "Office 365 E3", + "String_Id": "ENTERPRISEPACK", + "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", + "Service_Plan_Name": "MESH_AVATARS_ADDITIONAL_FOR_TEAMS", + "Service_Plan_Id": "3efbd4ed-8958-4824-8389-1321f8730af8", + "Service_Plans_Included_Friendly_Names": "Avatars for Teams (additional)" + }, + { + "Product_Display_Name": "Office 365 E3", + "String_Id": "ENTERPRISEPACK", + "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", + "Service_Plan_Name": "RMS_S_ENTERPRISE", + "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", + "Service_Plans_Included_Friendly_Names": "Azure Rights Management" + }, + { + "Product_Display_Name": "Office 365 E3", + "String_Id": "ENTERPRISEPACK", + "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", + "Service_Plan_Name": "Bing_Chat_Enterprise", + "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", + "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" }, { "Product_Display_Name": "Office 365 E3", @@ -30061,7 +30485,7 @@ "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", "Service_Plan_Name": "CDS_O365_P2", "Service_Plan_Id": "95b76021-6a53-4741-ab8b-1d1f3d66a95a", - "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams_P2" + "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" }, { "Product_Display_Name": "Office 365 E3", @@ -30071,13 +30495,21 @@ "Service_Plan_Id": "efb87545-963c-4e0d-99df-69c6916d9eb0", "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 2)" }, + { + "Product_Display_Name": "Office 365 E3", + "String_Id": "ENTERPRISEPACK", + "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", + "Service_Plan_Name": "MESH_IMMERSIVE_FOR_TEAMS", + "Service_Plan_Id": "f0ff6ac6-297d-49cd-be34-6dfef97f0c28", + "Service_Plans_Included_Friendly_Names": "Immersive spaces for Teams" + }, { "Product_Display_Name": "Office 365 E3", "String_Id": "ENTERPRISEPACK", "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics - Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 E3", @@ -30101,15 +30533,15 @@ "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", "Service_Plan_Name": "OFFICESUBSCRIPTION", "Service_Plan_Id": "43de0ff5-c92c-492b-9116-175376d08c38", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Apps for enterprise" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Apps for Enterprise" }, { "Product_Display_Name": "Office 365 E3", "String_Id": "ENTERPRISEPACK", "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "RMS_S_ENTERPRISE", - "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", - "Service_Plans_Included_Friendly_Names": "Microsoft Microsoft Entra Rights" + "Service_Plan_Name": "M365_LIGHTHOUSE_CUSTOMER_PLAN1", + "Service_Plan_Id": "6f23d6a9-adbf-481c-8538-b4c095654487", + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Lighthouse (Plan 1)" }, { "Product_Display_Name": "Office 365 E3", @@ -30133,7 +30565,7 @@ "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", "Service_Plan_Name": "KAIZALA_O365_P3", "Service_Plan_Id": "aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1", - "Service_Plans_Included_Friendly_Names": "Microsoft Kaizala Pro Plan 3" + "Service_Plans_Included_Friendly_Names": "Microsoft Kaizala Pro" }, { "Product_Display_Name": "Office 365 E3", @@ -30165,7 +30597,7 @@ "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", "Service_Plan_Name": "STREAM_O365_E3", "Service_Plan_Id": "9e700747-8b1d-45e5-ab8d-ef187ceec156", - "Service_Plans_Included_Friendly_Names": "Microsoft Stream for O365 E3 SKU" + "Service_Plans_Included_Friendly_Names": "Microsoft Stream for Office 365 E3" }, { "Product_Display_Name": "Office 365 E3", @@ -30187,33 +30619,17 @@ "Product_Display_Name": "Office 365 E3", "String_Id": "ENTERPRISEPACK", "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "SHAREPOINTWAC", - "Service_Plan_Id": "e95bec33-7c88-4a70-8e19-b10bd9d0c014", - "Service_Plans_Included_Friendly_Names": "Office for the web" - }, - { - "Product_Display_Name": "Office 365 E3", - "String_Id": "ENTERPRISEPACK", - "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "POWERAPPS_O365_P2", - "Service_Plan_Id": "c68f8d98-5534-41c8-bf36-22fa496fa792", - "Service_Plans_Included_Friendly_Names": "Power Apps for Office 365" - }, - { - "Product_Display_Name": "Office 365 E3", - "String_Id": "ENTERPRISEPACK", - "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "FLOW_O365_P2", - "Service_Plan_Id": "76846ad7-7776-4c40-a281-a386362dd1b9", - "Service_Plans_Included_Friendly_Names": "Power Automate for Office 365" + "Service_Plan_Name": "Nucleus", + "Service_Plan_Id": "db4d623d-b514-490b-b7ef-8885eee514de", + "Service_Plans_Included_Friendly_Names": "Nucleus" }, { "Product_Display_Name": "Office 365 E3", "String_Id": "ENTERPRISEPACK", "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "POWER_VIRTUAL_AGENTS_O365_P2", - "Service_Plan_Id": "041fe683-03e4-45b6-b1af-c0cdc516daee", - "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365 P2" + "Service_Plan_Name": "SHAREPOINTWAC", + "Service_Plan_Id": "e95bec33-7c88-4a70-8e19-b10bd9d0c014", + "Service_Plans_Included_Friendly_Names": "Office for the Web" }, { "Product_Display_Name": "Office 365 E3", @@ -30287,6 +30703,38 @@ "Service_Plan_Id": "7547a3fe-08ee-4ccb-b430-5077c5041653", "Service_Plans_Included_Friendly_Names": "Yammer Enterprise" }, + { + "Product_Display_Name": "Office 365 E3", + "String_Id": "ENTERPRISEPACK", + "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", + "Service_Plan_Name": "DYN365_CDS_O365_P2", + "Service_Plan_Id": "4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14", + "Service_Plans_Included_Friendly_Names": "Common Data Service" + }, + { + "Product_Display_Name": "Office 365 E3", + "String_Id": "ENTERPRISEPACK", + "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", + "Service_Plan_Name": "POWERAPPS_O365_P2", + "Service_Plan_Id": "c68f8d98-5534-41c8-bf36-22fa496fa792", + "Service_Plans_Included_Friendly_Names": "Power Apps for Office 365" + }, + { + "Product_Display_Name": "Office 365 E3", + "String_Id": "ENTERPRISEPACK", + "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", + "Service_Plan_Name": "FLOW_O365_P2", + "Service_Plan_Id": "76846ad7-7776-4c40-a281-a386362dd1b9", + "Service_Plans_Included_Friendly_Names": "Power Automate for Office 365" + }, + { + "Product_Display_Name": "Office 365 E3", + "String_Id": "ENTERPRISEPACK", + "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", + "Service_Plan_Name": "POWER_VIRTUAL_AGENTS_O365_P2", + "Service_Plan_Id": "041fe683-03e4-45b6-b1af-c0cdc516daee", + "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365" + }, { "Product_Display_Name": "Office 365 E3 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_E3", @@ -30309,7 +30757,7 @@ "GUID": "d711d25a-a21c-492f-bd19-aae1e8ebaf30", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 E3 EEA (no Teams)", @@ -31437,7 +31885,7 @@ "GUID": "cf50bae9-29e8-4775-b07c-56ee10e3776d", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 E5 EEA (no Teams)", @@ -31901,7 +32349,7 @@ "GUID": "71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 E5 EEA (no Teams) without Audio Conferencing", @@ -32349,7 +32797,7 @@ "GUID": "26d45bd9-adf1-46cd-a9e1-51e9a5524128", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 E5 Without Audio Conferencing", @@ -33437,7 +33885,7 @@ "GUID": "535a3a29-c5f0-42fe-8215-d3b9e1f38c4a", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 G3 GCC", @@ -33629,7 +34077,7 @@ "GUID": "24aebea8-7fac-48d0-8750-de4ee1fde205", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 G3 without Microsoft 365 Apps GCC", @@ -33845,7 +34293,7 @@ "GUID": "8900a2c0-edba-4079-bdf3-b276e293b6a8", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 G5 GCC", @@ -34197,7 +34645,7 @@ "GUID": "1341559b-49df-443c-8e79-fa604fed2d82", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 GCC G5 without Audio Conferencing", @@ -34541,7 +34989,7 @@ "GUID": "2f105cc2-c2c1-435b-a955-c5e82156c05d", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" }, { "Product_Display_Name": "Office 365 GCC G5 without Power BI and Phone System", @@ -35487,6 +35935,46 @@ "Service_Plan_Id": "8e2c2c3d-07f6-4da7-86a9-e78cc8c2c8b9", "Service_Plans_Included_Friendly_Names": "Power Automate for Power Apps per App Plan for Government" }, + { + "Product_Display_Name": "Power Apps Per User BD Only", + "String_Id": "POWERAPPS_PER_USER_BD_ONLY", + "GUID": "2ced8a00-3ed1-4295-ab7c-57170ff28e58", + "Service_Plan_Name": "Power_Pages_Internal_User", + "Service_Plan_Id": "60bf28f9-2b70-4522-96f7-335f5e06c941", + "Service_Plans_Included_Friendly_Names": "Power Pages Internal User" + }, + { + "Product_Display_Name": "Power Apps Per User BD Only", + "String_Id": "POWERAPPS_PER_USER_BD_ONLY", + "GUID": "2ced8a00-3ed1-4295-ab7c-57170ff28e58", + "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", + "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", + "Service_Plans_Included_Friendly_Names": "Exchange Foundation" + }, + { + "Product_Display_Name": "Power Apps Per User BD Only", + "String_Id": "POWERAPPS_PER_USER_BD_ONLY", + "GUID": "2ced8a00-3ed1-4295-ab7c-57170ff28e58", + "Service_Plan_Name": "CDS_ POWERAPPS_PER_USER_CUSTOM", + "Service_Plan_Id": "2e8dde43-6986-479d-b179-7dbe31c31f60", + "Service_Plans_Included_Friendly_Names": "CDS Power Apps Per User Custom" + }, + { + "Product_Display_Name": "Power Apps Per User BD Only", + "String_Id": "POWERAPPS_PER_USER_BD_ONLY", + "GUID": "2ced8a00-3ed1-4295-ab7c-57170ff28e58", + "Service_Plan_Name": "POWERAPPS_PER_USER", + "Service_Plan_Id": "ea2cf03b-ac60-46ae-9c1d-eeaeb63cec86", + "Service_Plans_Included_Friendly_Names": "Power Apps per User Plan" + }, + { + "Product_Display_Name": "Power Apps Per User BD Only", + "String_Id": "POWERAPPS_PER_USER_BD_ONLY", + "GUID": "2ced8a00-3ed1-4295-ab7c-57170ff28e58", + "Service_Plan_Name": "Flow_PowerApps_PerUser", + "Service_Plan_Id": "dc789ed8-0170-4b65-a415-eb77d5bb350a", + "Service_Plans_Included_Friendly_Names": "Power Automate for Power Apps per User Plan" + }, { "Product_Display_Name": "Power Apps per user plan", "String_Id": "POWERAPPS_PER_USER", @@ -36648,7 +37136,7 @@ "Service_Plans_Included_Friendly_Names": "Flow for CCI Bots" }, { - "Product_Display_Name": "Privacy Management � risk", + "Product_Display_Name": "Privacy Management ? risk", "String_Id": "PRIVACY_MANAGEMENT_RISK", "GUID": "e42bc969-759a-4820-9283-6b73085b68e6", "Service_Plan_Name": "MIP_S_Exchange", @@ -36656,7 +37144,7 @@ "Service_Plans_Included_Friendly_Names": "Data Classification in Microsoft 365" }, { - "Product_Display_Name": "Privacy Management � risk", + "Product_Display_Name": "Privacy Management ? risk", "String_Id": "PRIVACY_MANAGEMENT_RISK", "GUID": "e42bc969-759a-4820-9283-6b73085b68e6", "Service_Plan_Name": "PRIVACY_MANGEMENT_RISK", @@ -36664,7 +37152,7 @@ "Service_Plans_Included_Friendly_Names": "Priva - Risk" }, { - "Product_Display_Name": "Privacy Management � risk", + "Product_Display_Name": "Privacy Management ? risk", "String_Id": "PRIVACY_MANAGEMENT_RISK", "GUID": "e42bc969-759a-4820-9283-6b73085b68e6", "Service_Plan_Name": "PRIVACY_MANGEMENT_RISK_EXCHANGE", @@ -38287,6 +38775,14 @@ "Service_Plan_Id": "6b340437-d6f9-4dc5-8cc2-99163f7f83d6", "Service_Plans_Included_Friendly_Names": "MCOPSTN3" }, + { + "Product_Display_Name": "Teams Phone Mobile", + "String_Id": "Operator_Connect_Mobile", + "GUID": "b84d58c9-0a0d-46cf-8a4b-d9f23c1674d5", + "Service_Plan_Name": "MCOFMC1", + "Service_Plan_Id": "cb22fbd7-ed7d-4786-a27a-e4cd617b69c0", + "Service_Plans_Included_Friendly_Names": "Teams Phone Mobile" + }, { "Product_Display_Name": "Teams Phone with Calling Plan", "String_Id": "MCOTEAMS_ESSENTIALS", @@ -38303,6 +38799,70 @@ "Service_Plan_Id": "4828c8ec-dc2e-4779-b502-87ac9ce28ab7", "Service_Plans_Included_Friendly_Names": "Microsoft 365 Phone System" }, + { + "Product_Display_Name": "Teams Premium (for Departments)", + "String_Id": "Teams_Premium_(for_Departments)", + "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", + "Service_Plan_Name": "MICROSOFT_ECDN", + "Service_Plan_Id": "85704d55-2e73-47ee-93b4-4b8ea14db92b", + "Service_Plans_Included_Friendly_Names": "Microsoft eCDN" + }, + { + "Product_Display_Name": "Teams Premium (for Departments)", + "String_Id": "Teams_Premium_(for_Departments)", + "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", + "Service_Plan_Name": "MESH_IMMERSIVE", + "Service_Plan_Id": "acbca54f-c771-423b-a476-6d7a98cbbcec", + "Service_Plans_Included_Friendly_Names": "Microsoft Mesh" + }, + { + "Product_Display_Name": "Teams Premium (for Departments)", + "String_Id": "Teams_Premium_(for_Departments)", + "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", + "Service_Plan_Name": "TEAMSPRO_MGMT", + "Service_Plan_Id": "0504111f-feb8-4a3c-992a-70280f9a2869", + "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Intelligent" + }, + { + "Product_Display_Name": "Teams Premium (for Departments)", + "String_Id": "Teams_Premium_(for_Departments)", + "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", + "Service_Plan_Name": "TEAMSPRO_CUST", + "Service_Plan_Id": "cc8c0802-a325-43df-8cba-995d0c6cb373", + "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Personalized" + }, + { + "Product_Display_Name": "Teams Premium (for Departments)", + "String_Id": "Teams_Premium_(for_Departments)", + "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", + "Service_Plan_Name": "TEAMSPRO_PROTECTION", + "Service_Plan_Id": "f8b44f54-18bb-46a3-9658-44ab58712968", + "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Secure" + }, + { + "Product_Display_Name": "Teams Premium (for Departments)", + "String_Id": "Teams_Premium_(for_Departments)", + "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", + "Service_Plan_Name": "TEAMSPRO_VIRTUALAPPT", + "Service_Plan_Id": "9104f592-f2a7-4f77-904c-ca5a5715883f", + "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Virtual Appointment" + }, + { + "Product_Display_Name": "Teams Premium (for Departments)", + "String_Id": "Teams_Premium_(for_Departments)", + "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", + "Service_Plan_Name": "MCO_VIRTUAL_APPT", + "Service_Plan_Id": "711413d0-b36e-4cd4-93db-0a50a4ab7ea3", + "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Virtual Appointments" + }, + { + "Product_Display_Name": "Teams Premium (for Departments)", + "String_Id": "Teams_Premium_(for_Departments)", + "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", + "Service_Plan_Name": "TEAMSPRO_WEBINAR", + "Service_Plan_Id": "78b58230-ec7e-4309-913c-93a45cc4735b", + "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Webinar" + }, { "Product_Display_Name": "Teams Rooms Premium", "String_Id": "MTR_PREM", @@ -38591,6 +39151,14 @@ "Service_Plan_Id": "2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f", "Service_Plans_Included_Friendly_Names": "Visio Web App" }, + { + "Product_Display_Name": "Viva Goals User-led", + "String_Id": "Viva_Goals_User_led", + "GUID": "3a349c99-ffec-43d2-a2e8-6b97fcb71103", + "Service_Plan_Name": "Viva_Goals_Premium", + "Service_Plan_Id": "b44c6eaf-5c9f-478c-8f16-8cea26353bfb", + "Service_Plans_Included_Friendly_Names": "Viva Goals" + }, { "Product_Display_Name": "Viva Topics", "String_Id": "TOPIC_EXPERIENCES", From f1934dad4675a0d4c0c248d5212f2fac87e7383c Mon Sep 17 00:00:00 2001 From: Esco Date: Wed, 3 Apr 2024 11:44:02 +0200 Subject: [PATCH 36/40] Fix Number defaultValue Update standards.json fix? Co-Authored-By: Kai Stenbro <58435124+GreenChiip@users.noreply.github.com> --- src/components/forms/RFFComponents.jsx | 3 ++- src/data/standards.json | 12 ++++++++---- src/views/tenant/standards/ListAppliedStandards.jsx | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/components/forms/RFFComponents.jsx b/src/components/forms/RFFComponents.jsx index b3d491caa5b7..089a0c6b5226 100644 --- a/src/components/forms/RFFComponents.jsx +++ b/src/components/forms/RFFComponents.jsx @@ -150,10 +150,11 @@ export const RFFCFormInput = ({ spellCheck = true, autoFocus = false, hiddenValue, + defaultValue, onChange, }) => { return ( - + {({ input, meta }) => { const handleChange = onChange ? (e) => { diff --git a/src/data/standards.json b/src/data/standards.json index cab53f3144d6..ba4f6f28d18f 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -308,7 +308,8 @@ { "type": "number", "name": "standards.NudgeMFA.snoozeDurationInDays", - "label": "Number of days to allow users to skip registering Authenticator (0-14, default is 1)" + "label": "Number of days to allow users to skip registering Authenticator (0-14, default is 1)", + "default": 1 } ], "label": "Sets the state for the request to setup Authenticator", @@ -542,7 +543,8 @@ "type": "number", "name": "standards.EnableMailTips.MailTipsLargeAudienceThreshold", "label": "Number of recipients to trigger the large audience MailTip (Default is 25)", - "placeholder": "Enter a profile name" + "placeholder": "Enter a profile name", + "default": 25 } ], "label": "Enable all MailTips", @@ -598,12 +600,14 @@ { "type": "number", "name": "standards.SendReceiveLimitTenant.SendLimit", - "label": "Send limit in MB (Default is 35)" + "label": "Send limit in MB (Default is 35)", + "default": 35 }, { "type": "number", "name": "standards.SendReceiveLimitTenant.ReceiveLimit", - "label": "Receive Limit in MB (Default is 36)" + "label": "Receive Limit in MB (Default is 36)", + "default": 36 } ], "label": "Set send/receive size limits", diff --git a/src/views/tenant/standards/ListAppliedStandards.jsx b/src/views/tenant/standards/ListAppliedStandards.jsx index 19a45bc0b089..5d681c58d142 100644 --- a/src/views/tenant/standards/ListAppliedStandards.jsx +++ b/src/views/tenant/standards/ListAppliedStandards.jsx @@ -491,7 +491,7 @@ const ApplyNewStandard = () => { className="mb-3" name={component.name} label={component.label} - hiddenValue={component.default ?? 0} + defaultValue={component.default} /> )} {component.type === 'boolean' && ( From 6ffac0459d47a2eb97cd97bdc2577e22f228b3df Mon Sep 17 00:00:00 2001 From: John Duprey Date: Wed, 3 Apr 2024 10:46:48 -0400 Subject: [PATCH 37/40] preserve tableFilter in tenant selector fixes #2293 --- src/components/utilities/TenantSelector.jsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/components/utilities/TenantSelector.jsx b/src/components/utilities/TenantSelector.jsx index 3abcc5b9c46f..a7c059c39d4f 100644 --- a/src/components/utilities/TenantSelector.jsx +++ b/src/components/utilities/TenantSelector.jsx @@ -42,6 +42,11 @@ const TenantSelector = ({ action, showAllTenantSelector = true, NavSelector = fa const Paramcount = Array.from(searchParams).length if (Paramcount <= 1) { const customerId = searchParams.get('customerId') + const tableFilter = searchParams.get('tableFilter') + var newSearchParams = {} + if (tableFilter) { + newSearchParams.tableFilter = tableFilter + } if (customerId && isSuccess) { const currentTenant = tenants.filter((tenant) => tenant.customerId === customerId) if (currentTenant.length > 0) { @@ -49,7 +54,8 @@ const TenantSelector = ({ action, showAllTenantSelector = true, NavSelector = fa } } if (!customerId && Object.keys(currentTenant).length > 0) { - updateSearchParams({ customerId: currentTenant?.customerId }) + newSearchParams.customerId = currentTenant?.customerId + updateSearchParams(newSearchParams) } } }, [dispatch, isSuccess, searchParams, currentTenant, tenants, updateSearchParams]) From 8a36a890dea0ddcd56ef0fc03b00d337758f48e7 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Wed, 3 Apr 2024 12:26:19 -0400 Subject: [PATCH 38/40] Up version --- package-lock.json | 4 ++-- package.json | 2 +- public/version_latest.txt | 2 +- version_latest.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 99f82d32aada..2542349cba28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cipp", - "version": "5.3.2", + "version": "5.4.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cipp", - "version": "5.3.2", + "version": "5.4.1", "license": "AGPL-3.0", "dependencies": { "@coreui/chartjs": "^3.0.0", diff --git a/package.json b/package.json index 9e73b8d43a81..3a1237c0f6c0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cipp", - "version": "5.4.0", + "version": "5.4.1", "description": "The CyberDrain Improved Partner Portal is a portal to help manage administration for Microsoft Partners.", "homepage": "https://cipp.app/", "bugs": { diff --git a/public/version_latest.txt b/public/version_latest.txt index 8a30e8f94a39..ade65226e0aa 100644 --- a/public/version_latest.txt +++ b/public/version_latest.txt @@ -1 +1 @@ -5.4.0 +5.4.1 diff --git a/version_latest.txt b/version_latest.txt index 8a30e8f94a39..ade65226e0aa 100644 --- a/version_latest.txt +++ b/version_latest.txt @@ -1 +1 @@ -5.4.0 +5.4.1 From 043b6d3446ec074275faefe2f14c03818ecb9411 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Wed, 3 Apr 2024 15:06:40 -0400 Subject: [PATCH 39/40] Revert "Merge pull request #2298 from KelvinTegelaar/dev" This reverts commit e3cb1417323c144a4e96d87306734157391c9f86, reversing changes made to 1c3eb562dad6b818d1e6974e3b296240aa0285ed. --- package-lock.json | 4 +- package.json | 2 +- public/version_latest.txt | 2 +- src/App.jsx | 40 +- src/adminRoutes.js | 76 + src/components/forms/RFFComponents.jsx | 3 +- src/components/layout/AppSidebar.jsx | 8 +- src/components/tables/CellTable.jsx | 7 +- src/components/utilities/CippauthCheck.jsx | 27 - src/components/utilities/PrivateRoute.jsx | 39 +- src/components/utilities/TenantSelector.jsx | 8 +- src/data/M365Licenses.json | 1380 +++++------------ src/data/standards.json | 12 +- src/hooks/useNavFavouriteCheck.jsx | 32 - src/hooks/useRouteNavCompare.jsx | 33 - src/routes.js | 714 +++++++++ src/routes.json | 921 ----------- src/views/cipp/UserSettings.jsx | 50 +- src/views/email-exchange/tools/MailTest.jsx | 8 +- .../tenant/conditional/NamedLocations.jsx | 1 + .../tenant/standards/ListAppliedStandards.jsx | 1 - version_latest.txt | 2 +- 22 files changed, 1297 insertions(+), 2073 deletions(-) create mode 100644 src/adminRoutes.js delete mode 100644 src/components/utilities/CippauthCheck.jsx delete mode 100644 src/hooks/useNavFavouriteCheck.jsx delete mode 100644 src/hooks/useRouteNavCompare.jsx create mode 100644 src/routes.js delete mode 100644 src/routes.json diff --git a/package-lock.json b/package-lock.json index 2542349cba28..99f82d32aada 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cipp", - "version": "5.4.1", + "version": "5.3.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cipp", - "version": "5.4.1", + "version": "5.3.2", "license": "AGPL-3.0", "dependencies": { "@coreui/chartjs": "^3.0.0", diff --git a/package.json b/package.json index 3a1237c0f6c0..9e73b8d43a81 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cipp", - "version": "5.4.1", + "version": "5.4.0", "description": "The CyberDrain Improved Partner Portal is a portal to help manage administration for Microsoft Partners.", "homepage": "https://cipp.app/", "bugs": { diff --git a/public/version_latest.txt b/public/version_latest.txt index ade65226e0aa..8a30e8f94a39 100644 --- a/public/version_latest.txt +++ b/public/version_latest.txt @@ -1 +1 @@ -5.4.1 +5.4.0 diff --git a/src/App.jsx b/src/App.jsx index d10d00cf6434..db95409b5c98 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,19 +2,22 @@ import React, { Suspense } from 'react' import { BrowserRouter, Route, Routes, Navigate } from 'react-router-dom' import { PrivateRoute, FullScreenLoading, ErrorBoundary } from 'src/components/utilities' import 'src/scss/style.scss' +import routes from 'src/routes' import { Helmet } from 'react-helmet-async' +import adminRoutes from './adminRoutes' import Skeleton from 'react-loading-skeleton' import TimeAgo from 'javascript-time-ago' import en from 'javascript-time-ago/locale/en.json' TimeAgo.addDefaultLocale(en) import { library } from '@fortawesome/fontawesome-svg-core' import { fas } from '@fortawesome/free-solid-svg-icons' -import routes from 'src/routes' -import { useAuthCheck } from './components/utilities/CippauthCheck' library.add(fas) -const dynamicImport = (path) => React.lazy(() => import(`./${path}`)) + +// Containers const DefaultLayout = React.lazy(() => import('./layout/DefaultLayout')) + +// Pages const Page401 = React.lazy(() => import('./views/pages/page401/Page401')) const Page403 = React.lazy(() => import('./views/pages/page403/Page403')) const Page404 = React.lazy(() => import('./views/pages/page404/Page404')) @@ -22,6 +25,7 @@ const Page500 = React.lazy(() => import('./views/pages/page500/Page500')) const PageLogOut = React.lazy(() => import('src/views/pages/LogoutRedirect/PageLogOut')) const Login = React.lazy(() => import('./views/pages/login/Login')) const Logout = React.lazy(() => import('./views/pages/login/Logout')) + const App = () => { return ( @@ -46,23 +50,43 @@ const App = () => { } > {routes.map((route, idx) => { - const Component = dynamicImport(route.component) - const allowedRoles = route.allowedRoles return ( - Component && ( + route.component && ( + }> + + CIPP - {route.name} + + + + + + } + /> + ) + ) + })} + {adminRoutes.map((route, idx) => { + return ( + route.component && ( + }> CIPP - {route.name} - + diff --git a/src/adminRoutes.js b/src/adminRoutes.js new file mode 100644 index 000000000000..2f6f666ab905 --- /dev/null +++ b/src/adminRoutes.js @@ -0,0 +1,76 @@ +import React from 'react' + +const CIPPSettings = React.lazy(() => import('src/views/cipp/app-settings/CIPPSettings')) +const Setup = React.lazy(() => import('src/views/cipp/Setup')) +const ApplyStandard = React.lazy(() => import('src/views/tenant/standards/ListStandards')) +const GDAPStatus = React.lazy(() => import('src/views/tenant/administration/ListGDAPQueue')) +const GDAP = React.lazy(() => import('src/views/tenant/administration/GDAPWizard')) +const GDAPInvite = React.lazy(() => import('src/views/tenant/administration/GDAPInviteWizard')) +const GDAPRoleWizard = React.lazy(() => import('src/views/tenant/administration/GDAPRoleWizard')) +const GDAPRoles = React.lazy(() => import('src/views/tenant/administration/ListGDAPRoles')) +const GDAPRelationships = React.lazy(() => + import('./views/tenant/administration/ListGDAPRelationships'), +) +const appapproval = React.lazy(() => import('src/views/cipp/AppApproval')) +const TenantOffboardingWizard = React.lazy(() => + import('src/views/tenant/administration/TenantOffboardingWizard'), +) +const TenantOnboardingWizard = React.lazy(() => + import('src/views/tenant/administration/TenantOnboardingWizard'), +) + +const adminRoutes = [ + { path: '/cipp', name: 'CIPP' }, + { path: '/cipp/cipp', name: 'CIPP' }, + { path: '/cipp/settings', name: 'Settings', component: CIPPSettings }, + { path: '/cipp/setup', name: 'Setup', component: Setup }, + + { path: '/tenant/administration/gdap', name: 'GDAP Wizard', component: GDAP }, + { + path: '/tenant/administration/gdap-invite', + name: 'GDAP Invite Wizard', + component: GDAPInvite, + }, + { + path: '/tenant/administration/gdap-role-wizard', + name: 'GDAP Role Wizard', + component: GDAPRoleWizard, + }, + { + path: '/tenant/administration/gdap-roles', + name: 'GDAP Roles', + component: GDAPRoles, + }, + { + path: '/tenant/administration/gdap-relationships', + name: 'GDAP Relationships', + component: GDAPRelationships, + }, + { + path: '/tenant/administration/appapproval', + name: 'App Approval', + component: appapproval, + }, + { + path: '/tenant/administration/gdap-status', + name: 'GDAP Status', + component: GDAPStatus, + }, + { + path: '/tenant/standards/list-standards', + name: 'List Standard', + component: ApplyStandard, + }, + { + path: '/tenant/administration/tenant-offboarding-wizard', + name: 'Tenant Offboarding', + component: TenantOffboardingWizard, + }, + { + path: '/tenant/administration/tenant-onboarding-wizard', + name: 'Tenant Onboarding', + component: TenantOnboardingWizard, + }, +] + +export default adminRoutes diff --git a/src/components/forms/RFFComponents.jsx b/src/components/forms/RFFComponents.jsx index 089a0c6b5226..b3d491caa5b7 100644 --- a/src/components/forms/RFFComponents.jsx +++ b/src/components/forms/RFFComponents.jsx @@ -150,11 +150,10 @@ export const RFFCFormInput = ({ spellCheck = true, autoFocus = false, hiddenValue, - defaultValue, onChange, }) => { return ( - + {({ input, meta }) => { const handleChange = onChange ? (e) => { diff --git a/src/components/layout/AppSidebar.jsx b/src/components/layout/AppSidebar.jsx index 8a0b0c8a2432..f680f42116d1 100644 --- a/src/components/layout/AppSidebar.jsx +++ b/src/components/layout/AppSidebar.jsx @@ -12,10 +12,6 @@ import { AppSidebarNav } from 'src/components/layout' import SimpleBar from 'simplebar-react' import 'simplebar/dist/simplebar.min.css' import navigation from 'src/_nav' -import { useAuthCheck } from '../utilities/CippauthCheck' -import routes from 'src/routes' -import { useRouteNavCompare } from 'src/hooks/useRouteNavCompare' -import { useNavFavouriteCheck } from 'src/hooks/useNavFavouriteCheck' const AppSidebar = () => { const i = @@ -26,8 +22,6 @@ const AppSidebar = () => { if (!i.includes('JGySCBt1QXmNc')) { throw '' } - const newNav = useRouteNavCompare(navigation) - const navwithFavourites = useNavFavouriteCheck(newNav) return ( { @@ -47,7 +41,7 @@ const AppSidebar = () => { /> - + diff --git a/src/components/tables/CellTable.jsx b/src/components/tables/CellTable.jsx index aca744aed572..549e4805dfa0 100644 --- a/src/components/tables/CellTable.jsx +++ b/src/components/tables/CellTable.jsx @@ -20,12 +20,7 @@ export default function cellTable( columnProp = column } - if ( - !Array.isArray(columnProp) && - typeof columnProp === 'object' && - columnProp !== undefined && - columnProp !== null - ) { + if (!Array.isArray(columnProp) && typeof columnProp === 'object') { columnProp = Object.keys(columnProp).map((key) => { return { [key]: columnProp[key], diff --git a/src/components/utilities/CippauthCheck.jsx b/src/components/utilities/CippauthCheck.jsx deleted file mode 100644 index 338c22233bf7..000000000000 --- a/src/components/utilities/CippauthCheck.jsx +++ /dev/null @@ -1,27 +0,0 @@ -import { useLoadClientPrincipalQuery } from 'src/store/api/auth' -import { useDispatch } from 'react-redux' -import { updateAccessToken } from 'src/store/features/auth' -import { Navigate } from 'react-router-dom' - -export const useAuthCheck = (allowedRoles) => { - const dispatch = useDispatch() - const { data: profile, isFetching } = useLoadClientPrincipalQuery() - if (isFetching) { - return { isLoading: true, component: null } - } - dispatch(updateAccessToken(profile)) - let roles = profile?.clientPrincipal?.userRoles || [] - - if (!profile?.clientPrincipal) { - return { - component: ( - - ), - result: false, - } - } - if (allowedRoles && !allowedRoles.some((role) => roles.includes(role))) { - return { component: , result: true } - } - return { component: null, result: false } -} diff --git a/src/components/utilities/PrivateRoute.jsx b/src/components/utilities/PrivateRoute.jsx index b63ba0617b47..b89f0d5aa8ee 100644 --- a/src/components/utilities/PrivateRoute.jsx +++ b/src/components/utilities/PrivateRoute.jsx @@ -1,20 +1,41 @@ import React from 'react' +import { Navigate } from 'react-router-dom' +import { useLoadClientPrincipalQuery } from 'src/store/api/auth' import { FullScreenLoading } from 'src/components/utilities' +import { useDispatch } from 'react-redux' +import { updateAccessToken } from 'src/store/features/auth' import PropTypes from 'prop-types' -import { useAuthCheck } from './CippauthCheck' -export const PrivateRoute = ({ children, allowedRoles }) => { - const { isLoading, component: authComponent } = useAuthCheck(allowedRoles) - if (isLoading) { +export const PrivateRoute = ({ children, routeType }) => { + const dispatch = useDispatch() + const { data: profile, error, isFetching } = useLoadClientPrincipalQuery() + //console.log() + if (isFetching) { return } - if (authComponent) { - return authComponent + + dispatch(updateAccessToken(profile)) + let roles = null + if (null !== profile?.clientPrincipal) { + roles = profile?.clientPrincipal.userRoles + } else if (null === profile?.clientPrincipal) { + return + } + if (null === roles) { + return + } else { + const isAuthenticated = + roles.includes('admin') || roles.includes('editor') || (roles.includes('readonly') && !error) + const isAdmin = roles.includes('admin') + if (routeType === 'admin') { + return !isAdmin ? : children + } else { + return !isAuthenticated ? : children + } } - return children } PrivateRoute.propTypes = { - children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]).isRequired, - allowedRoles: PropTypes.arrayOf(PropTypes.string), + children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]), + routeType: PropTypes.string, } diff --git a/src/components/utilities/TenantSelector.jsx b/src/components/utilities/TenantSelector.jsx index a7c059c39d4f..3abcc5b9c46f 100644 --- a/src/components/utilities/TenantSelector.jsx +++ b/src/components/utilities/TenantSelector.jsx @@ -42,11 +42,6 @@ const TenantSelector = ({ action, showAllTenantSelector = true, NavSelector = fa const Paramcount = Array.from(searchParams).length if (Paramcount <= 1) { const customerId = searchParams.get('customerId') - const tableFilter = searchParams.get('tableFilter') - var newSearchParams = {} - if (tableFilter) { - newSearchParams.tableFilter = tableFilter - } if (customerId && isSuccess) { const currentTenant = tenants.filter((tenant) => tenant.customerId === customerId) if (currentTenant.length > 0) { @@ -54,8 +49,7 @@ const TenantSelector = ({ action, showAllTenantSelector = true, NavSelector = fa } } if (!customerId && Object.keys(currentTenant).length > 0) { - newSearchParams.customerId = currentTenant?.customerId - updateSearchParams(newSearchParams) + updateSearchParams({ customerId: currentTenant?.customerId }) } } }, [dispatch, isSuccess, searchParams, currentTenant, tenants, updateSearchParams]) diff --git a/src/data/M365Licenses.json b/src/data/M365Licenses.json index fd2757b1b074..3f8b5e97c369 100644 --- a/src/data/M365Licenses.json +++ b/src/data/M365Licenses.json @@ -351,38 +351,6 @@ "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", "Service_Plans_Included_Friendly_Names": "Azure Rights Management" }, - { - "Product_Display_Name": "Basic Collaboration", - "String_Id": "OFFICEBASIC", - "GUID": "4468c39a-28b2-42fb-9094-840bcf28771f", - "Service_Plan_Name": "EXCHANGE_S_STANDARD", - "Service_Plan_Id": "9aaf7827-d63c-4b61-89c3-182f06f82e5c", - "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 1)" - }, - { - "Product_Display_Name": "Basic Collaboration", - "String_Id": "OFFICEBASIC", - "GUID": "4468c39a-28b2-42fb-9094-840bcf28771f", - "Service_Plan_Name": "ONEDRIVELITE_IW", - "Service_Plan_Id": "b4ac11a0-32ff-4e78-982d-e039fa803dec", - "Service_Plans_Included_Friendly_Names": "Office for the web with OneDrive for business" - }, - { - "Product_Display_Name": "Basic Collaboration", - "String_Id": "OFFICEBASIC", - "GUID": "4468c39a-28b2-42fb-9094-840bcf28771f", - "Service_Plan_Name": "MCOBASIC", - "Service_Plan_Id": "448898aa-3ae7-478c-b49a-1fac7a8a35cf", - "Service_Plans_Included_Friendly_Names": "Skype Meetings" - }, - { - "Product_Display_Name": "Basic Collaboration", - "String_Id": "OFFICEBASIC", - "GUID": "4468c39a-28b2-42fb-9094-840bcf28771f", - "Service_Plan_Name": "YAMMER_BASIC", - "Service_Plan_Id": "6db7aeea-6c4a-475d-bbb0-7338bc73d646", - "Service_Plans_Included_Friendly_Names": "Yammer" - }, { "Product_Display_Name": "Business Apps (free)", "String_Id": "SMB_APPS", @@ -989,7 +957,7 @@ "GUID": "a3d0cd86-8068-4071-ad40-4dc5b5908c4b", "Service_Plan_Name": "CDS_CUSTOMER_INSIGHTS_BASE", "Service_Plan_Id": "d04ca659-b119-4a92-b8fc-3ede584a9d65", - "Service_Plans_Included_Friendly_Names": "Dataverse for Customer Insights?BASE" + "Service_Plans_Included_Friendly_Names": "Dataverse for Customer Insights�BASE" }, { "Product_Display_Name": "Dynamics 365 Customer Insights Attach", @@ -1253,7 +1221,7 @@ "GUID": "0c250654-c7f7-461f-871a-7222f6592cf2", "Service_Plan_Name": "CDS_CUSTOMER_INSIGHTS_BASE", "Service_Plan_Id": "d04ca659-b119-4a92-b8fc-3ede584a9d65", - "Service_Plans_Included_Friendly_Names": "Dataverse for Cust Insights?BASE" + "Service_Plans_Included_Friendly_Names": "Dataverse for Cust Insights�BASE" }, { "Product_Display_Name": "Dynamics 365 Customer Insights Standalone", @@ -1599,22 +1567,6 @@ "Service_Plan_Id": "5dbe027f-2339-4123-9542-606e4d348a72", "Service_Plans_Included_Friendly_Names": "SharePoint (Plan 2)" }, - { - "Product_Display_Name": "Dynamics 365 for Customer Service Professional Attach to Qualifying Dynamics 365 Base Offer", - "String_Id": "D365_CUSTOMER_SERVICE_PRO_ATTACH", - "GUID": "19dec69d-d9f3-4792-8a39-d8ecdf51937b", - "Service_Plan_Name": "D365_CUSTOMER_SERVICE_PRO_ATTACH", - "Service_Plan_Id": "a9dd2dca-10ae-4da2-aaf0-d3fe8a825110", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Customer Service Pro Attach" - }, - { - "Product_Display_Name": "Dynamics 365 for Customer Service Professional Attach to Qualifying Dynamics 365 Base Offer", - "String_Id": "D365_CUSTOMER_SERVICE_PRO_ATTACH", - "GUID": "19dec69d-d9f3-4792-8a39-d8ecdf51937b", - "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", - "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", - "Service_Plans_Included_Friendly_Names": "Exchange Foundation" - }, { "Product_Display_Name": "Dynamics 365 Customer Voice", "String_Id": "DYN365_CUSTOMER_VOICE_BASE", @@ -1805,7 +1757,7 @@ "GUID": "977464c4-bfaf-4b67-b761-a9bb735a2196", "Service_Plan_Name": "CRM_AUTO_ROUTING_ENGINE_ADDON", "Service_Plan_Id": "24435e4b-87d0-4d7d-8beb-63a9b1573022", - "Service_Plans_Included_Friendly_Names": "Field Service ? Automated Routing Engine Add-On" + "Service_Plans_Included_Friendly_Names": "Field Service � Automated Routing Engine Add-On" }, { "Product_Display_Name": "Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization", @@ -1813,7 +1765,7 @@ "GUID": "977464c4-bfaf-4b67-b761-a9bb735a2196", "Service_Plan_Name": "CRM_AUTO_ROUTING_ADDON", "Service_Plan_Id": "2ba394e0-6f18-4b77-b45f-a5663bbab540", - "Service_Plans_Included_Friendly_Names": "RETIRED - Field Service ? Automated Routing Engine Add-On" + "Service_Plans_Included_Friendly_Names": "RETIRED - Field Service � Automated Routing Engine Add-On" }, { "Product_Display_Name": "Dynamics 365 Field Service, Enterprise Edition - Resource Scheduling Optimization", @@ -2543,46 +2495,6 @@ "Service_Plan_Id": "874fc546-6efe-4d22-90b8-5c4e7aa59f4b", "Service_Plans_Included_Friendly_Names": "DYNAMICS 365 FOR FINANCIALS" }, - { - "Product_Display_Name": "Dynamics 365 Guides vTrial", - "String_Id": "Dynamics_365_Guides_vTrial", - "GUID": "99cb3f83-fbec-4aa1-8262-9679e6df7c53", - "Service_Plan_Name": "D365_GUIDES_VIRAL_TRIAL", - "Service_Plan_Id": "fe986032-d840-4817-82d4-51fe4fbbe163", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 Guides vTrial" - }, - { - "Product_Display_Name": "Dynamics 365 Guides vTrial", - "String_Id": "Dynamics_365_Guides_vTrial", - "GUID": "99cb3f83-fbec-4aa1-8262-9679e6df7c53", - "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", - "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", - "Service_Plans_Included_Friendly_Names": "Exchange Foundation" - }, - { - "Product_Display_Name": "Dynamics 365 Guides vTrial", - "String_Id": "Dynamics_365_Guides_vTrial", - "GUID": "99cb3f83-fbec-4aa1-8262-9679e6df7c53", - "Service_Plan_Name": "DYN365_CDS_VIRAL", - "Service_Plan_Id": "17ab22cd-a0b3-4536-910a-cb6eb12696c0", - "Service_Plans_Included_Friendly_Names": "Common Data Service" - }, - { - "Product_Display_Name": "Dynamics 365 Guides vTrial", - "String_Id": "Dynamics_365_Guides_vTrial", - "GUID": "99cb3f83-fbec-4aa1-8262-9679e6df7c53", - "Service_Plan_Name": "POWER_APPS_DYN365_VIRAL_TRIAL_MIXED_REALITY", - "Service_Plan_Id": "066e2fd1-ba15-40e7-aa96-d6636b1cdf71", - "Service_Plans_Included_Friendly_Names": "Power Apps for Dynamics 365 Mixed Reality" - }, - { - "Product_Display_Name": "Dynamics 365 Guides vTrial", - "String_Id": "Dynamics_365_Guides_vTrial", - "GUID": "99cb3f83-fbec-4aa1-8262-9679e6df7c53", - "Service_Plan_Name": "POWER_AUTOMATE_DYN365_VIRAL_TRIAL_MIXED_REALITY", - "Service_Plan_Id": "26fa8a18-2812-4b3d-96b4-864818ce26be", - "Service_Plans_Included_Friendly_Names": "Power Automate for Dynamics 365 Mixed Reality" - }, { "Product_Display_Name": "Dynamics 365 Hybrid Connector", "String_Id": "CRM_HYBRIDCONNECTOR", @@ -2711,118 +2623,6 @@ "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", "Service_Plans_Included_Friendly_Names": "Exchange Foundation" }, - { - "Product_Display_Name": "Dynamics 365 Operations ? Activity", - "String_Id": "Dyn365_Operations_Activity", - "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", - "Service_Plan_Name": "DYN365_RETAIL_Activity", - "Service_Plan_Id": "f06754ec-6d72-4bf6-991c-4cb5413d9932", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Retail Activity" - }, - { - "Product_Display_Name": "Dynamics 365 Operations ? Activity", - "String_Id": "Dyn365_Operations_Activity", - "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", - "Service_Plan_Name": "DYN365_Enterprise_Talent_Attract_Activity", - "Service_Plan_Id": "aac5a56b-b02e-4608-8014-b076646d4011", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Talent - Attract Experience Activity" - }, - { - "Product_Display_Name": "Dynamics 365 Operations ? Activity", - "String_Id": "Dyn365_Operations_Activity", - "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", - "Service_Plan_Name": "DYN365_Enterprise_Talent_Onboard_Activity", - "Service_Plan_Id": "db225597-e9c2-4d96-8ace-5424744c80f8", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Talent - Onboard Experience" - }, - { - "Product_Display_Name": "Dynamics 365 Operations ? Activity", - "String_Id": "Dyn365_Operations_Activity", - "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", - "Service_Plan_Name": "Dynamics_365_for_Talent_Activity", - "Service_Plan_Id": "1f87ee90-5c3a-4cf9-b6fd-e3e8017c26ec", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Talent Activity" - }, - { - "Product_Display_Name": "Dynamics 365 Operations ? Activity", - "String_Id": "Dyn365_Operations_Activity", - "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", - "Service_Plan_Name": "Dynamics_365_for_Operations_Activity", - "Service_Plan_Id": "6bddf93e-d6f4-4991-b9fc-30cfdf07ee7b", - "Service_Plans_Included_Friendly_Names": "Dynamics365 for Operations Activity" - }, - { - "Product_Display_Name": "Dynamics 365 Operations ? Activity", - "String_Id": "Dyn365_Operations_Activity", - "GUID": "b75074f1-4c54-41bf-970f-c9ac871567f5", - "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", - "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", - "Service_Plans_Included_Friendly_Names": "Exchange Foundation" - }, - { - "Product_Display_Name": "Dynamics 365 Project Operations Attach", - "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", - "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", - "Service_Plan_Name": "D365CDSforProjectOperations", - "Service_Plan_Id": "7df1d500-ca5c-4229-8cea-815bc88798c9", - "Service_Plans_Included_Friendly_Names": "Common Data Service for Dynamics 365 Project Operations" - }, - { - "Product_Display_Name": "Dynamics 365 Project Operations Attach", - "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", - "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", - "Service_Plan_Name": "D365_ProjectOperationsCDSAttach", - "Service_Plan_Id": "e564d403-7eaf-4c91-b92f-bb0dc62026e1", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 Project Operations CDS Attach" - }, - { - "Product_Display_Name": "Dynamics 365 Project Operations Attach", - "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", - "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", - "Service_Plan_Name": "Power_Pages_Internal_User", - "Service_Plan_Id": "60bf28f9-2b70-4522-96f7-335f5e06c941", - "Service_Plans_Included_Friendly_Names": "Power Pages Internal User" - }, - { - "Product_Display_Name": "Dynamics 365 Project Operations Attach", - "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", - "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", - "Service_Plan_Name": "D365_ProjectOperations", - "Service_Plan_Id": "69f07c66-bee4-4222-b051-195095efee5b", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 Project Operations" - }, - { - "Product_Display_Name": "Dynamics 365 Project Operations Attach", - "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", - "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", - "Service_Plan_Name": "D365_ProjectOperationsAttach", - "Service_Plan_Id": "fa7675bd-6717-40e7-8172-d0bbcbe1ab12", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 Project Operations Attach" - }, - { - "Product_Display_Name": "Dynamics 365 Project Operations Attach", - "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", - "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", - "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", - "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", - "Service_Plans_Included_Friendly_Names": "Exchange Foundation" - }, - { - "Product_Display_Name": "Dynamics 365 Project Operations Attach", - "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", - "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", - "Service_Plan_Name": "PROJECT_FOR_PROJECT_OPERATIONS_ATTACH", - "Service_Plan_Id": "6d8e07c6-9613-484f-8cc1-a66c5c3979bb", - "Service_Plans_Included_Friendly_Names": "Project for Project Operations Attach" - }, - { - "Product_Display_Name": "Dynamics 365 Project Operations Attach", - "String_Id": "DYN365_PROJECT_OPERATIONS_ATTACH", - "GUID": "af739e8e-dd11-4eb5-a986-5908f595c603", - "Service_Plan_Name": "SHAREPOINTSTANDARD", - "Service_Plan_Id": "c7699d2e-19aa-44de-8edf-1736da088ca1", - "Service_Plans_Included_Friendly_Names": "SharePoint (Plan 1)" - }, { "Product_Display_Name": "Dynamics 365 for Project Service Automation Enterprise Edition for Government", "String_Id": "DYN365_ENTERPRISE_PROJECT_SERVICE_AUTOMATION_GOV", @@ -3295,54 +3095,6 @@ "Service_Plan_Id": "2da8e897-7791-486b-b08f-cc63c8129df7", "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Sales" }, - { - "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", - "String_Id": "DYN365_SCM_ATTACH", - "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", - "Service_Plan_Name": "Power_Pages_Internal_User", - "Service_Plan_Id": "60bf28f9-2b70-4522-96f7-335f5e06c941", - "Service_Plans_Included_Friendly_Names": "Power Pages Internal User" - }, - { - "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", - "String_Id": "DYN365_SCM_ATTACH", - "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", - "Service_Plan_Name": "DYN365_CDS_SUPPLYCHAINMANAGEMENT", - "Service_Plan_Id": "b6a8b974-2956-4e14-ae81-f0384c363528", - "Service_Plans_Included_Friendly_Names": "Common Data Service for Dynamics 365 Supply Chain Management" - }, - { - "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", - "String_Id": "DYN365_SCM_ATTACH", - "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", - "Service_Plan_Name": "CDS_FOR_IOM", - "Service_Plan_Id": "2bb89402-51e9-4c5a-be33-e954a9dd1ba6", - "Service_Plans_Included_Friendly_Names": "Dataverse for IOM" - }, - { - "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", - "String_Id": "DYN365_SCM_ATTACH", - "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", - "Service_Plan_Name": "DYN365_REGULATORY_SERVICE", - "Service_Plan_Id": "c7657ae3-c0b0-4eed-8c1d-6a7967bd9c65", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Finance and Operations, Enterprise edition - Regulatory Service" - }, - { - "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", - "String_Id": "DYN365_SCM_ATTACH", - "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", - "Service_Plan_Name": "D365_SCM_Attach", - "Service_Plan_Id": "b21c777f-c2d5-486e-88f6-fc0a3e474271", - "Service_Plans_Included_Friendly_Names": "Dynamics 365 for Supply Chain Management Attach" - }, - { - "Product_Display_Name": "Dynamics 365 for Supply Chain Management Attach to Qualifying Dynamics 365 Base Offer", - "String_Id": "DYN365_SCM_ATTACH", - "GUID": "090b4a96-8114-4c95-9c91-60e81ef53302", - "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", - "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", - "Service_Plans_Included_Friendly_Names": "Exchange Foundation" - }, { "Product_Display_Name": "Dynamics 365 for Marketing Business Edition", "String_Id": "DYN365_BUSINESS_MARKETING", @@ -5301,7 +5053,7 @@ "GUID": "4b590615-0888-425a-a965-b3bf7789848d", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 A3 for Faculty", @@ -5669,7 +5421,7 @@ "GUID": "7cfd9a2b-e110-4c39-bf20-c6a3f36a3121", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 A3 for Students", @@ -6325,7 +6077,7 @@ "GUID": "1aa94593-ca12-4254-a738-81a5972958e8", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 A3 - Unattended License for students use benefit", @@ -6661,7 +6413,7 @@ "GUID": "e97c048c-37a4-45fb-ab50-922fbf07a370", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 A5 for Faculty", @@ -7269,7 +7021,7 @@ "GUID": "46c119d4-0379-4a9d-85e4-97c66d3f909e", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 A5 for Students", @@ -8149,7 +7901,7 @@ "GUID": "9b8fe788-6174-4c4e-983b-3330c93ec278", "Service_Plan_Name": "Content_Explorer", "Service_Plan_Id": "d9fa6af4-e046-4c89-9226-729a0786685d", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Premium" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Premium" }, { "Product_Display_Name": "Microsoft 365 A5 Suite features for faculty", @@ -9373,7 +9125,7 @@ "GUID": "f245ecc8-75af-4f8e-b61f-27d8114de5f3", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 Business Standard", @@ -9645,7 +9397,7 @@ "GUID": "c1f79c29-5d7a-4bec-a2c1-1a76774864c0", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Bing Chat Enterprise" }, { "Product_Display_Name": "Microsoft 365 Business Standard EEA (no Teams)", @@ -10325,7 +10077,7 @@ "GUID": "cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 Business Premium", @@ -10741,7 +10493,7 @@ "GUID": "a3f586b6-8cce-4d9b-99d6-55238397f77a", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Bing Chat Enterprise" }, { "Product_Display_Name": "Microsoft 365 Business Premium EEA (no Teams)", @@ -11119,30 +10871,6 @@ "Service_Plan_Id": "ded3d325-1bdc-453e-8432-5bac26d7a014", "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365" }, - { - "Product_Display_Name": "Microsoft 365 Business Voice (US)", - "String_Id": "BUSINESS_VOICE_MED2_TELCO", - "GUID": "08d7bce8-6e16-490e-89db-1d508e5e9609", - "Service_Plan_Name": "MCOMEETADV", - "Service_Plan_Id": "3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Audio Conferencing" - }, - { - "Product_Display_Name": "Microsoft 365 Business Voice (US)", - "String_Id": "BUSINESS_VOICE_MED2_TELCO", - "GUID": "08d7bce8-6e16-490e-89db-1d508e5e9609", - "Service_Plan_Name": "MCOPSTN1", - "Service_Plan_Id": "4ed3ff63-69d7-4fb7-b984-5aec7f605ca8", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Domestic Calling Plan" - }, - { - "Product_Display_Name": "Microsoft 365 Business Voice (US)", - "String_Id": "BUSINESS_VOICE_MED2_TELCO", - "GUID": "08d7bce8-6e16-490e-89db-1d508e5e9609", - "Service_Plan_Name": "MCOEV", - "Service_Plan_Id": "4828c8ec-dc2e-4779-b502-87ac9ce28ab7", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Phone System" - }, { "Product_Display_Name": "Microsoft 365 Domestic Calling Plan (120 Minutes)", "String_Id": "MCOPSTN_5", @@ -11191,14 +10919,6 @@ "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", "Service_Plans_Included_Friendly_Names": "Azure Rights Management" }, - { - "Product_Display_Name": "Microsoft 365 E3", - "String_Id": "SPE_E3", - "GUID": "05e9a617-0261-4cee-bb44-138d3ef5d965", - "Service_Plan_Name": "Bing_Chat_Enterprise", - "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" - }, { "Product_Display_Name": "Microsoft 365 E3", "String_Id": "SPE_E3", @@ -11211,17 +10931,17 @@ "Product_Display_Name": "Microsoft 365 E3", "String_Id": "SPE_E3", "GUID": "05e9a617-0261-4cee-bb44-138d3ef5d965", - "Service_Plan_Name": "EXCHANGE_S_ENTERPRISE", - "Service_Plan_Id": "efb87545-963c-4e0d-99df-69c6916d9eb0", - "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 2)" + "Service_Plan_Name": "Bing_Chat_Enterprise", + "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E3", "String_Id": "SPE_E3", "GUID": "05e9a617-0261-4cee-bb44-138d3ef5d965", - "Service_Plan_Name": "MESH_IMMERSIVE_FOR_TEAMS", - "Service_Plan_Id": "f0ff6ac6-297d-49cd-be34-6dfef97f0c28", - "Service_Plans_Included_Friendly_Names": "Immersive spaces for Teams" + "Service_Plan_Name": "EXCHANGE_S_ENTERPRISE", + "Service_Plan_Id": "efb87545-963c-4e0d-99df-69c6916d9eb0", + "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 2)" }, { "Product_Display_Name": "Microsoft 365 E3", @@ -11229,7 +10949,7 @@ "GUID": "05e9a617-0261-4cee-bb44-138d3ef5d965", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E3", @@ -11561,167 +11281,167 @@ }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "RMS_S_ENTERPRISE", + "Service_Plan_Name": "Azure Rights Management", "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", - "Service_Plans_Included_Friendly_Names": "Azure Rights Management" + "Service_Plans_Included_Friendly_Names": "RMS_S_ENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "CDS_O365_P2", + "Service_Plan_Name": "Common Data Service for Teams", "Service_Plan_Id": "95b76021-6a53-4741-ab8b-1d1f3d66a95a", - "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" + "Service_Plans_Included_Friendly_Names": "CDS_O365_P2" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Bing_Chat_Enterprise", + "Service_Plan_Name": "Copilot", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Bing_Chat_Enterprise" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "EXCHANGE_S_ENTERPRISE", + "Service_Plan_Name": "Exchange Online (Plan 2)", "Service_Plan_Id": "efb87545-963c-4e0d-99df-69c6916d9eb0", - "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 2)" + "Service_Plans_Included_Friendly_Names": "EXCHANGE_S_ENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "ContentExplorer_Standard", + "Service_Plan_Name": "Information Protection and Governance Analytics � Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "ContentExplorer_Standard" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "MIP_S_CLP1", + "Service_Plan_Name": "Information Protection for Office 365 - Standard", "Service_Plan_Id": "5136a095-5cf0-4aff-bec3-e84448b38ea5", - "Service_Plans_Included_Friendly_Names": "Information Protection for Office 365 - Standard" + "Service_Plans_Included_Friendly_Names": "MIP_S_CLP1" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "MYANALYTICS_P2", + "Service_Plan_Name": "Insights by MyAnalytics", "Service_Plan_Id": "33c4f319-9bdd-48d6-9c4d-410b750a4a5a", - "Service_Plans_Included_Friendly_Names": "Insights by MyAnalytics" + "Service_Plans_Included_Friendly_Names": "MYANALYTICS_P2" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "OFFICESUBSCRIPTION", + "Service_Plan_Name": "Microsoft 365 Apps for enterprise", "Service_Plan_Id": "43de0ff5-c92c-492b-9116-175376d08c38", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Apps for enterprise" + "Service_Plans_Included_Friendly_Names": "OFFICESUBSCRIPTION" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "M365_LIGHTHOUSE_CUSTOMER_PLAN1", + "Service_Plan_Name": "Microsoft 365 Lighthouse (Plan 1)", "Service_Plan_Id": "6f23d6a9-adbf-481c-8538-b4c095654487", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Lighthouse (Plan 1)" + "Service_Plans_Included_Friendly_Names": "M365_LIGHTHOUSE_CUSTOMER_PLAN1" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "M365_LIGHTHOUSE_PARTNER_PLAN1", + "Service_Plan_Name": "Microsoft 365 Lighthouse (Plan 2)", "Service_Plan_Id": "d55411c9-cfff-40a9-87c7-240f14df7da5", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Lighthouse (Plan 2)" + "Service_Plans_Included_Friendly_Names": "M365_LIGHTHOUSE_PARTNER_PLAN1" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "MICROSOFTBOOKINGS", + "Service_Plan_Name": "Microsoft Bookings", "Service_Plan_Id": "199a5c09-e0ca-4e37-8f7c-b05d533e1ea2", - "Service_Plans_Included_Friendly_Names": "Microsoft Bookings" + "Service_Plans_Included_Friendly_Names": "MICROSOFTBOOKINGS" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "CLIPCHAMP", + "Service_Plan_Name": "Microsoft Clipchamp", "Service_Plan_Id": "a1ace008-72f3-4ea0-8dac-33b3a23a2472", - "Service_Plans_Included_Friendly_Names": "Microsoft Clipchamp" + "Service_Plans_Included_Friendly_Names": "CLIPCHAMP" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "MDE_LITE", + "Service_Plan_Name": "Microsoft Defender for Endpoint Plan 1", "Service_Plan_Id": "292cc034-7b7c-4950-aaf5-943befd3f1d4", - "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Endpoint Plan 1" + "Service_Plans_Included_Friendly_Names": "MDE_LITE" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "FORMS_PLAN_E3", + "Service_Plan_Name": "Microsoft Forms (Plan E3)", "Service_Plan_Id": "2789c901-c14e-48ab-a76a-be334d9d793a", - "Service_Plans_Included_Friendly_Names": "Microsoft Forms (Plan E3)" + "Service_Plans_Included_Friendly_Names": "FORMS_PLAN_E3" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "KAIZALA_O365_P3", + "Service_Plan_Name": "Microsoft Kaizala Pro", "Service_Plan_Id": "aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1", - "Service_Plans_Included_Friendly_Names": "Microsoft Kaizala Pro" + "Service_Plans_Included_Friendly_Names": "KAIZALA_O365_P3" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "PROJECTWORKMANAGEMENT", + "Service_Plan_Name": "Microsoft Planner", "Service_Plan_Id": "b737dad2-2f6c-4c65-90e3-ca563267e8b9", - "Service_Plans_Included_Friendly_Names": "Microsoft Planner" + "Service_Plans_Included_Friendly_Names": "PROJECTWORKMANAGEMENT" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "MICROSOFT_SEARCH", + "Service_Plan_Name": "Microsoft Search", "Service_Plan_Id": "94065c59-bc8e-4e8b-89e5-5138d471eaff", - "Service_Plans_Included_Friendly_Names": "Microsoft Search" + "Service_Plans_Included_Friendly_Names": "MICROSOFT_SEARCH" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Deskless", + "Service_Plan_Name": "Microsoft StaffHub", "Service_Plan_Id": "8c7d2df8-86f0-4902-b2ed-a0458298f3b3", - "Service_Plans_Included_Friendly_Names": "Microsoft StaffHub" + "Service_Plans_Included_Friendly_Names": "Deskless" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "STREAM_O365_E3", + "Service_Plan_Name": "Microsoft Stream for Office 365 E3", "Service_Plan_Id": "9e700747-8b1d-45e5-ab8d-ef187ceec156", - "Service_Plans_Included_Friendly_Names": "Microsoft Stream for Office 365 E3" + "Service_Plans_Included_Friendly_Names": "STREAM_O365_E3" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "INTUNE_O365", + "Service_Plan_Name": "Mobile Device Management for Office 365", "Service_Plan_Id": "882e1d05-acd1-4ccb-8708-6ee03664b117", - "Service_Plans_Included_Friendly_Names": "Mobile Device Management for Office 365" + "Service_Plans_Included_Friendly_Names": "INTUNE_O365" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", "Service_Plan_Name": "Nucleus", "Service_Plan_Id": "db4d623d-b514-490b-b7ef-8885eee514de", @@ -11729,187 +11449,187 @@ }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "SHAREPOINTWAC", + "Service_Plan_Name": "Office for the Web", "Service_Plan_Id": "e95bec33-7c88-4a70-8e19-b10bd9d0c014", - "Service_Plans_Included_Friendly_Names": "Office for the Web" + "Service_Plans_Included_Friendly_Names": "SHAREPOINTWAC" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "PROJECT_O365_P2", + "Service_Plan_Name": "Project for Office (Plan E3)", "Service_Plan_Id": "31b4e2fc-4cd6-4e7d-9c1b-41407303bd66", - "Service_Plans_Included_Friendly_Names": "Project for Office (Plan E3)" + "Service_Plans_Included_Friendly_Names": "PROJECT_O365_P2" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "SHAREPOINTENTERPRISE", + "Service_Plan_Name": "SharePoint (Plan 2)", "Service_Plan_Id": "5dbe027f-2339-4123-9542-606e4d348a72", - "Service_Plans_Included_Friendly_Names": "SharePoint (Plan 2)" + "Service_Plans_Included_Friendly_Names": "SHAREPOINTENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "MCOSTANDARD", + "Service_Plan_Name": "Skype for Business Online (Plan 2)", "Service_Plan_Id": "0feaeb32-d00e-4d66-bd5a-43b5b83db82c", - "Service_Plans_Included_Friendly_Names": "Skype for Business Online (Plan 2)" + "Service_Plans_Included_Friendly_Names": "MCOSTANDARD" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "SWAY", + "Service_Plan_Name": "Sway", "Service_Plan_Id": "a23b959c-7ce8-4e57-9140-b90eb88a9e97", - "Service_Plans_Included_Friendly_Names": "Sway" + "Service_Plans_Included_Friendly_Names": "SWAY" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "BPOS_S_TODO_2", + "Service_Plan_Name": "To-Do (Plan 2)", "Service_Plan_Id": "c87f142c-d1e9-4363-8630-aaea9c4d9ae5", - "Service_Plans_Included_Friendly_Names": "To-Do (Plan 2)" + "Service_Plans_Included_Friendly_Names": "BPOS_S_TODO_2" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "VIVAENGAGE_CORE", + "Service_Plan_Name": "Viva Engage Core", "Service_Plan_Id": "a82fbf69-b4d7-49f4-83a6-915b2cf354f4", - "Service_Plans_Included_Friendly_Names": "Viva Engage Core" + "Service_Plans_Included_Friendly_Names": "VIVAENGAGE_CORE" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "VIVA_LEARNING_SEEDED", + "Service_Plan_Name": "Viva Learning Seeded", "Service_Plan_Id": "b76fb638-6ba6-402a-b9f9-83d28acb3d86", - "Service_Plans_Included_Friendly_Names": "Viva Learning Seeded" + "Service_Plans_Included_Friendly_Names": "VIVA_LEARNING_SEEDED" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "WHITEBOARD_PLAN2", + "Service_Plan_Name": "Whiteboard (Plan 2)", "Service_Plan_Id": "94a54592-cd8b-425e-87c6-97868b000b91", - "Service_Plans_Included_Friendly_Names": "Whiteboard (Plan 2)" + "Service_Plans_Included_Friendly_Names": "WHITEBOARD_PLAN2" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "YAMMER_ENTERPRISE", + "Service_Plan_Name": "Yammer Enterprise", "Service_Plan_Id": "7547a3fe-08ee-4ccb-b430-5077c5041653", - "Service_Plans_Included_Friendly_Names": "Yammer Enterprise" + "Service_Plans_Included_Friendly_Names": "YAMMER_ENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "UNIVERSAL_PRINT_01", + "Service_Plan_Name": "Universal Print", "Service_Plan_Id": "795f6fe0-cc4d-4773-b050-5dde4dc704c9", - "Service_Plans_Included_Friendly_Names": "Universal Print" + "Service_Plans_Included_Friendly_Names": "UNIVERSAL_PRINT_01" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "WIN10_PRO_ENT_SUB", + "Service_Plan_Name": "Windows 10/11 Enterprise (Original)", "Service_Plan_Id": "21b439ba-a0ca-424f-a6cc-52f954a5b111", - "Service_Plans_Included_Friendly_Names": "Windows 10/11 Enterprise (Original)" + "Service_Plans_Included_Friendly_Names": "WIN10_PRO_ENT_SUB" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "Windows_Autopatch", + "Service_Plan_Name": "Windows Autopatch", "Service_Plan_Id": "9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3", - "Service_Plans_Included_Friendly_Names": "Windows Autopatch" + "Service_Plans_Included_Friendly_Names": "Windows_Autopatch" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", + "Service_Plan_Name": "Windows Update for Business Deployment Service", "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", - "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" + "Service_Plans_Included_Friendly_Names": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "RMS_S_PREMIUM", + "Service_Plan_Name": "Azure Information Protection Premium P1", "Service_Plan_Id": "6c57d4b6-3b23-47a5-9bc9-69f17b4947b3", - "Service_Plans_Included_Friendly_Names": "Azure Information Protection Premium P1" + "Service_Plans_Included_Friendly_Names": "RMS_S_PREMIUM" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "DYN365_CDS_O365_P2", + "Service_Plan_Name": "Common Data Service", "Service_Plan_Id": "4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14", - "Service_Plans_Included_Friendly_Names": "Common Data Service" + "Service_Plans_Included_Friendly_Names": "DYN365_CDS_O365_P2" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "MFA_PREMIUM", + "Service_Plan_Name": "Microsoft Azure Multi-Factor Authentication", "Service_Plan_Id": "8a256a2b-b617-496d-b51b-e76466e88db0", - "Service_Plans_Included_Friendly_Names": "Microsoft Azure Multi-Factor Authentication" + "Service_Plans_Included_Friendly_Names": "MFA_PREMIUM" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "ADALLOM_S_DISCOVERY", + "Service_Plan_Name": "Microsoft Defender for Cloud Apps Discovery", "Service_Plan_Id": "932ad362-64a8-4783-9106-97849a1a30b9", - "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Cloud Apps Discovery" + "Service_Plans_Included_Friendly_Names": "ADALLOM_S_DISCOVERY" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "AAD_PREMIUM", + "Service_Plan_Name": "Microsoft Entra ID P1", "Service_Plan_Id": "41781fb2-bc02-4b7c-bd55-b576c07bb09d", - "Service_Plans_Included_Friendly_Names": "Microsoft Entra ID P1" + "Service_Plans_Included_Friendly_Names": "AAD_PREMIUM" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "INTUNE_A", + "Service_Plan_Name": "Microsoft Intune Plan 1", "Service_Plan_Id": "c1ec4a95-1f05-45b3-a911-aa3fa01094f5", - "Service_Plans_Included_Friendly_Names": "Microsoft Intune Plan 1" + "Service_Plans_Included_Friendly_Names": "INTUNE_A" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "POWERAPPS_O365_P2", + "Service_Plan_Name": "Power Apps for Office 365", "Service_Plan_Id": "c68f8d98-5534-41c8-bf36-22fa496fa792", - "Service_Plans_Included_Friendly_Names": "Power Apps for Office 365" + "Service_Plans_Included_Friendly_Names": "POWERAPPS_O365_P2" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "FLOW_O365_P2", + "Service_Plan_Name": "Power Automate for Office 365", "Service_Plan_Id": "76846ad7-7776-4c40-a281-a386362dd1b9", - "Service_Plans_Included_Friendly_Names": "Power Automate for Office 365" + "Service_Plans_Included_Friendly_Names": "FLOW_O365_P2" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams)", - "String_Id": "O365_w/o?Teams?Bundle_M3", + "String_Id": "O365_w/o�Teams�Bundle_M3", "GUID": "c2fe850d-fbbb-4858-b67d-bd0c6e746da3", - "Service_Plan_Name": "POWER_VIRTUAL_AGENTS_O365_P2", + "Service_Plan_Name": "Power Virtual Agents for Office 365", "Service_Plan_Id": "041fe683-03e4-45b6-b1af-c0cdc516daee", - "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365" + "Service_Plans_Included_Friendly_Names": "POWER_VIRTUAL_AGENTS_O365_P2" }, { "Product_Display_Name": "Microsoft 365 E3 Extra Features", @@ -11933,7 +11653,7 @@ "GUID": "f5b15d67-b99e-406b-90f1-308452f94de6", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E3 Extra Features", @@ -11959,21 +11679,13 @@ "Service_Plan_Id": "9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3", "Service_Plans_Included_Friendly_Names": "Windows Autopatch" }, - { - "Product_Display_Name": "Microsoft 365 E3 Extra Features", - "String_Id": "Microsoft_365_E3_Extra_Features", - "GUID": "f5b15d67-b99e-406b-90f1-308452f94de6", - "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", - "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", - "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" - }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams) - Unattended License", "String_Id": "Microsoft_365_E3_EEA_(no_Teams)_Unattended_License", "GUID": "a23dbafb-3396-48b3-ad9c-a304fe206043", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Bing Chat Enterprise" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams) - Unattended License", @@ -12341,7 +12053,7 @@ "GUID": "c2ac2ee4-9bb1-47e4-8541-d689c7e83371", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E3 - Unattended License", @@ -12709,7 +12421,7 @@ "GUID": "0c21030a-7e60-4ec7-9a0f-0042e0e0211a", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E3 (500 seats min)_HUB", @@ -12725,7 +12437,7 @@ "GUID": "0c21030a-7e60-4ec7-9a0f-0042e0e0211a", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E3 (500 seats min)_HUB", @@ -13061,7 +12773,7 @@ "GUID": "602e6573-55a3-46b1-a1a0-cc267991501a", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB", @@ -13077,7 +12789,7 @@ "GUID": "602e6573-55a3-46b1-a1a0-cc267991501a", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E3 EEA (no Teams) (500 seats min)_HUB", @@ -13643,17 +13355,17 @@ "Product_Display_Name": "Microsoft 365 E5", "String_Id": "SPE_E5", "GUID": "06ebc4ee-1bb5-47dd-8120-11324bc54e06", - "Service_Plan_Name": "Bing_Chat_Enterprise", - "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plan_Name": "CDS_O365_P3", + "Service_Plan_Id": "afa73018-811e-46e9-988f-f75d2b1b8430", + "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" }, { "Product_Display_Name": "Microsoft 365 E5", "String_Id": "SPE_E5", "GUID": "06ebc4ee-1bb5-47dd-8120-11324bc54e06", - "Service_Plan_Name": "CDS_O365_P3", - "Service_Plan_Id": "afa73018-811e-46e9-988f-f75d2b1b8430", - "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" + "Service_Plan_Name": "Bing_Chat_Enterprise", + "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E5", @@ -13695,14 +13407,6 @@ "Service_Plan_Id": "a6520331-d7d4-4276-95f5-15c0933bc757", "Service_Plans_Included_Friendly_Names": "Graph Connectors Search with Index" }, - { - "Product_Display_Name": "Microsoft 365 E5", - "String_Id": "SPE_E5", - "GUID": "06ebc4ee-1bb5-47dd-8120-11324bc54e06", - "Service_Plan_Name": "MESH_IMMERSIVE_FOR_TEAMS", - "Service_Plan_Id": "f0ff6ac6-297d-49cd-be34-6dfef97f0c28", - "Service_Plans_Included_Friendly_Names": "Immersive spaces for Teams" - }, { "Product_Display_Name": "Microsoft 365 E5", "String_Id": "SPE_E5", @@ -13725,7 +13429,7 @@ "GUID": "06ebc4ee-1bb5-47dd-8120-11324bc54e06", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5", @@ -14365,7 +14069,7 @@ "GUID": "6ee4114a-9b2d-4577-9e7a-49fa43d222d3", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) with Calling Minutes", @@ -14901,7 +14605,7 @@ "GUID": "90277bc7-a6fe-4181-99d8-712b08b8d32b", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Bing Chat Enterprise" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) without Audio Conferencing", @@ -14973,7 +14677,7 @@ "GUID": "90277bc7-a6fe-4181-99d8-712b08b8d32b", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) without Audio Conferencing", @@ -15549,7 +15253,7 @@ "GUID": "db684ac5-c0e7-4f92-8284-ef9ebde75d33", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 (500 seats min)_HUB", @@ -15613,7 +15317,7 @@ "GUID": "db684ac5-c0e7-4f92-8284-ef9ebde75d33", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5 (500 seats min)_HUB", @@ -16205,7 +15909,7 @@ "GUID": "c42b9cae-ea4f-4ab7-9717-81576235ccac", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 Developer (without Windows and Audio Conferencing)", @@ -16773,7 +16477,7 @@ "GUID": "184efa21-98c3-4e5d-95ab-d07053a96e67", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5 Compliance", @@ -16923,337 +16627,337 @@ "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "SHAREPOINTENTERPRISE", + "Service_Plan_Name": "SharePoint Online (Plan 2)", "Service_Plan_Id": "5dbe027f-2339-4123-9542-606e4d348a72", - "Service_Plans_Included_Friendly_Names": "SharePoint Online (Plan 2)" + "Service_Plans_Included_Friendly_Names": "SHAREPOINTENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Bing_Chat_Enterprise", + "Service_Plan_Name": "Bing Chat Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Bing_Chat_Enterprise" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "CDS_O365_P3", + "Service_Plan_Name": "Common Data Service for Teams", "Service_Plan_Id": "afa73018-811e-46e9-988f-f75d2b1b8430", - "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" + "Service_Plans_Included_Friendly_Names": "CDS_O365_P3" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "LOCKBOX_ENTERPRISE", + "Service_Plan_Name": "Customer Lockbox", "Service_Plan_Id": "9f431833-0334-42de-a7dc-70aa40db46db", - "Service_Plans_Included_Friendly_Names": "Customer Lockbox" + "Service_Plans_Included_Friendly_Names": "LOCKBOX_ENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "CustomerLockboxA_Enterprise", + "Service_Plan_Name": "Customer Lockbox (A)", "Service_Plan_Id": "3ec18638-bd4c-4d3b-8905-479ed636b83e", - "Service_Plans_Included_Friendly_Names": "Customer Lockbox (A)" + "Service_Plans_Included_Friendly_Names": "CustomerLockboxA_Enterprise" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MIP_S_Exchange", + "Service_Plan_Name": "Data Classification in Microsoft 365", "Service_Plan_Id": "cd31b152-6326-4d1b-ae1b-997b625182e6", - "Service_Plans_Included_Friendly_Names": "Data Classification in Microsoft 365" + "Service_Plans_Included_Friendly_Names": "MIP_S_Exchange" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "EXCHANGE_S_ENTERPRISE", + "Service_Plan_Name": "Exchange Online (Plan 2)", "Service_Plan_Id": "efb87545-963c-4e0d-99df-69c6916d9eb0", - "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 2)" + "Service_Plans_Included_Friendly_Names": "EXCHANGE_S_ENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "GRAPH_CONNECTORS_SEARCH_INDEX", + "Service_Plan_Name": "Graph Connectors Search with Index", "Service_Plan_Id": "a6520331-d7d4-4276-95f5-15c0933bc757", - "Service_Plans_Included_Friendly_Names": "Graph Connectors Search with Index" + "Service_Plans_Included_Friendly_Names": "GRAPH_CONNECTORS_SEARCH_INDEX" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "INFORMATION_BARRIERS", + "Service_Plan_Name": "Information Barriers", "Service_Plan_Id": "c4801e8a-cb58-4c35-aca6-f2dcc106f287", - "Service_Plans_Included_Friendly_Names": "Information Barriers" + "Service_Plans_Included_Friendly_Names": "INFORMATION_BARRIERS" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Content_Explorer", + "Service_Plan_Name": "Information Protection and Governance Analytics - Premium", "Service_Plan_Id": "d9fa6af4-e046-4c89-9226-729a0786685d", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics - Premium" + "Service_Plans_Included_Friendly_Names": "Content_Explorer" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "ContentExplorer_Standard", + "Service_Plan_Name": "Information Protection and Governance Analytics � Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "ContentExplorer_Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MIP_S_CLP2", + "Service_Plan_Name": "Information Protection for Office 365 - Premium", "Service_Plan_Id": "efb0351d-3b08-4503-993d-383af8de41e3", - "Service_Plans_Included_Friendly_Names": "Information Protection for Office 365 - Premium" + "Service_Plans_Included_Friendly_Names": "MIP_S_CLP2" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MIP_S_CLP1", + "Service_Plan_Name": "Information Protection for Office 365 - Standard", "Service_Plan_Id": "5136a095-5cf0-4aff-bec3-e84448b38ea5", - "Service_Plans_Included_Friendly_Names": "Information Protection for Office 365 - Standard" + "Service_Plans_Included_Friendly_Names": "MIP_S_CLP1" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MYANALYTICS_P2", + "Service_Plan_Name": "Insights by MyAnalytics", "Service_Plan_Id": "33c4f319-9bdd-48d6-9c4d-410b750a4a5a", - "Service_Plans_Included_Friendly_Names": "Insights by MyAnalytics" + "Service_Plans_Included_Friendly_Names": "MYANALYTICS_P2" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "M365_ADVANCED_AUDITING", + "Service_Plan_Name": "Microsoft 365 Advanced Auditing", "Service_Plan_Id": "2f442157-a11c-46b9-ae5b-6e39ff4e5849", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Advanced Auditing" + "Service_Plans_Included_Friendly_Names": "M365_ADVANCED_AUDITING" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "OFFICESUBSCRIPTION", + "Service_Plan_Name": "Microsoft 365 Apps for enterprise", "Service_Plan_Id": "43de0ff5-c92c-492b-9116-175376d08c38", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Apps for enterprise" + "Service_Plans_Included_Friendly_Names": "OFFICESUBSCRIPTION" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MCOMEETADV", + "Service_Plan_Name": "Microsoft 365 Audio Conferencing", "Service_Plan_Id": "3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Audio Conferencing" + "Service_Plans_Included_Friendly_Names": "MCOMEETADV" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "M365_AUDIT_PLATFORM", + "Service_Plan_Name": "Microsoft 365 Audit Platform", "Service_Plan_Id": "f6de4823-28fa-440b-b886-4783fa86ddba", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Audit Platform" + "Service_Plans_Included_Friendly_Names": "M365_AUDIT_PLATFORM" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MICROSOFT_COMMUNICATION_COMPLIANCE", + "Service_Plan_Name": "Microsoft 365 Communication Compliance", "Service_Plan_Id": "a413a9ff-720c-4822-98ef-2f37c2a21f4c", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Communication Compliance" + "Service_Plans_Included_Friendly_Names": "MICROSOFT_COMMUNICATION_COMPLIANCE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MTP", + "Service_Plan_Name": "Microsoft 365 Defender", "Service_Plan_Id": "bf28f719-7844-4079-9c78-c1307898e192", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Defender" + "Service_Plans_Included_Friendly_Names": "MTP" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "M365_LIGHTHOUSE_CUSTOMER_PLAN1", + "Service_Plan_Name": "Microsoft 365 Lighthouse (Plan 1)", "Service_Plan_Id": "6f23d6a9-adbf-481c-8538-b4c095654487", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Lighthouse (Plan 1)" + "Service_Plans_Included_Friendly_Names": "M365_LIGHTHOUSE_CUSTOMER_PLAN1" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MCOEV", + "Service_Plan_Name": "Microsoft 365 Phone System", "Service_Plan_Id": "4828c8ec-dc2e-4779-b502-87ac9ce28ab7", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Phone System" + "Service_Plans_Included_Friendly_Names": "MCOEV" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MICROSOFTBOOKINGS", + "Service_Plan_Name": "Microsoft Bookings", "Service_Plan_Id": "199a5c09-e0ca-4e37-8f7c-b05d533e1ea2", - "Service_Plans_Included_Friendly_Names": "Microsoft Bookings" + "Service_Plans_Included_Friendly_Names": "MICROSOFTBOOKINGS" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "CLIPCHAMP", + "Service_Plan_Name": "Microsoft Clipchamp", "Service_Plan_Id": "a1ace008-72f3-4ea0-8dac-33b3a23a2472", - "Service_Plans_Included_Friendly_Names": "Microsoft Clipchamp" + "Service_Plans_Included_Friendly_Names": "CLIPCHAMP" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "COMMUNICATIONS_DLP", + "Service_Plan_Name": "Microsoft Communications DLP", "Service_Plan_Id": "6dc145d6-95dd-4191-b9c3-185575ee6f6b", - "Service_Plans_Included_Friendly_Names": "Microsoft Communications DLP" + "Service_Plans_Included_Friendly_Names": "COMMUNICATIONS_DLP" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "CUSTOMER_KEY", + "Service_Plan_Name": "Microsoft Customer Key", "Service_Plan_Id": "6db1f1db-2b46-403f-be40-e39395f08dbb", - "Service_Plans_Included_Friendly_Names": "Microsoft Customer Key" + "Service_Plans_Included_Friendly_Names": "CUSTOMER_KEY" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "DATA_INVESTIGATIONS", + "Service_Plan_Name": "Microsoft Data Investigations", "Service_Plan_Id": "46129a58-a698-46f0-aa5b-17f6586297d9", - "Service_Plans_Included_Friendly_Names": "Microsoft Data Investigations" + "Service_Plans_Included_Friendly_Names": "DATA_INVESTIGATIONS" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "ATP_ENTERPRISE", + "Service_Plan_Name": "Microsoft Defender for Office 365 (Plan 1)", "Service_Plan_Id": "f20fedf3-f3c3-43c3-8267-2bfdd51c0939", - "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Office 365 (Plan 1)" + "Service_Plans_Included_Friendly_Names": "ATP_ENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "THREAT_INTELLIGENCE", + "Service_Plan_Name": "Microsoft Defender for Office 365 (Plan 2)", "Service_Plan_Id": "8e0c0a52-6a6c-4d40-8370-dd62790dcd70", - "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Office 365 (Plan 2)" + "Service_Plans_Included_Friendly_Names": "THREAT_INTELLIGENCE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "EXCEL_PREMIUM", + "Service_Plan_Name": "Microsoft Excel Advanced Analytics", "Service_Plan_Id": "531ee2f8-b1cb-453b-9c21-d2180d014ca5", - "Service_Plans_Included_Friendly_Names": "Microsoft Excel Advanced Analytics" + "Service_Plans_Included_Friendly_Names": "EXCEL_PREMIUM" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "FORMS_PLAN_E5", + "Service_Plan_Name": "Microsoft Forms (Plan E5)", "Service_Plan_Id": "e212cbc7-0961-4c40-9825-01117710dcb1", - "Service_Plans_Included_Friendly_Names": "Microsoft Forms (Plan E5)" + "Service_Plans_Included_Friendly_Names": "FORMS_PLAN_E5" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "INFO_GOVERNANCE", + "Service_Plan_Name": "Microsoft Information Governance", "Service_Plan_Id": "e26c2fcc-ab91-4a61-b35c-03cdc8dddf66", - "Service_Plans_Included_Friendly_Names": "Microsoft Information Governance" + "Service_Plans_Included_Friendly_Names": "INFO_GOVERNANCE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "INSIDER_RISK", + "Service_Plan_Name": "Microsoft Insider Risk Management", "Service_Plan_Id": "d587c7a3-bda9-4f99-8776-9bcf59c84f75", - "Service_Plans_Included_Friendly_Names": "Microsoft Insider Risk Management" + "Service_Plans_Included_Friendly_Names": "INSIDER_RISK" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "KAIZALA_STANDALONE", + "Service_Plan_Name": "Microsoft Kaizala Pro", "Service_Plan_Id": "0898bdbb-73b0-471a-81e5-20f1fe4dd66e", - "Service_Plans_Included_Friendly_Names": "Microsoft Kaizala Pro" + "Service_Plans_Included_Friendly_Names": "KAIZALA_STANDALONE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "ML_CLASSIFICATION", + "Service_Plan_Name": "Microsoft ML-Based Classification", "Service_Plan_Id": "d2d51368-76c9-4317-ada2-a12c004c432f", - "Service_Plans_Included_Friendly_Names": "Microsoft ML-Based Classification" + "Service_Plans_Included_Friendly_Names": "ML_CLASSIFICATION" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "EXCHANGE_ANALYTICS", + "Service_Plan_Name": "Microsoft MyAnalytics (Full)", "Service_Plan_Id": "34c0d7a0-a70f-4668-9238-47f9fc208882", - "Service_Plans_Included_Friendly_Names": "Microsoft MyAnalytics (Full)" + "Service_Plans_Included_Friendly_Names": "EXCHANGE_ANALYTICS" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "PROJECTWORKMANAGEMENT", + "Service_Plan_Name": "Microsoft Planner", "Service_Plan_Id": "b737dad2-2f6c-4c65-90e3-ca563267e8b9", - "Service_Plans_Included_Friendly_Names": "Microsoft Planner" + "Service_Plans_Included_Friendly_Names": "PROJECTWORKMANAGEMENT" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "RECORDS_MANAGEMENT", + "Service_Plan_Name": "Microsoft Records Management", "Service_Plan_Id": "65cc641f-cccd-4643-97e0-a17e3045e541", - "Service_Plans_Included_Friendly_Names": "Microsoft Records Management" + "Service_Plans_Included_Friendly_Names": "RECORDS_MANAGEMENT" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MICROSOFT_SEARCH", + "Service_Plan_Name": "Microsoft Search", "Service_Plan_Id": "94065c59-bc8e-4e8b-89e5-5138d471eaff", - "Service_Plans_Included_Friendly_Names": "Microsoft Search" + "Service_Plans_Included_Friendly_Names": "MICROSOFT_SEARCH" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Deskless", + "Service_Plan_Name": "Microsoft StaffHub", "Service_Plan_Id": "8c7d2df8-86f0-4902-b2ed-a0458298f3b3", - "Service_Plans_Included_Friendly_Names": "Microsoft StaffHub" + "Service_Plans_Included_Friendly_Names": "Deskless" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "STREAM_O365_E5", + "Service_Plan_Name": "Microsoft Stream for Office 365 E5", "Service_Plan_Id": "6c6042f5-6f01-4d67-b8c1-eb99d36eed3e", - "Service_Plans_Included_Friendly_Names": "Microsoft Stream for Office 365 E5" + "Service_Plans_Included_Friendly_Names": "STREAM_O365_E5" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "INTUNE_O365", + "Service_Plan_Name": "Mobile Device Management for Office 365", "Service_Plan_Id": "882e1d05-acd1-4ccb-8708-6ee03664b117", - "Service_Plans_Included_Friendly_Names": "Mobile Device Management for Office 365" + "Service_Plans_Included_Friendly_Names": "INTUNE_O365" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", @@ -17267,289 +16971,289 @@ "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "EQUIVIO_ANALYTICS", + "Service_Plan_Name": "Office 365 Advanced eDiscovery", "Service_Plan_Id": "4de31727-a228-4ec3-a5bf-8e45b5ca48cc", - "Service_Plans_Included_Friendly_Names": "Office 365 Advanced eDiscovery" + "Service_Plans_Included_Friendly_Names": "EQUIVIO_ANALYTICS" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "ADALLOM_S_O365", + "Service_Plan_Name": "Office 365 Cloud App Security", "Service_Plan_Id": "8c098270-9dd4-4350-9b30-ba4703f3b36b", - "Service_Plans_Included_Friendly_Names": "Office 365 Cloud App Security" + "Service_Plans_Included_Friendly_Names": "ADALLOM_S_O365" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "PAM_ENTERPRISE", + "Service_Plan_Name": "Office 365 Privileged Access Management", "Service_Plan_Id": "b1188c4c-1b36-4018-b48b-ee07604f6feb", - "Service_Plans_Included_Friendly_Names": "Office 365 Privileged Access Management" + "Service_Plans_Included_Friendly_Names": "PAM_ENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "SAFEDOCS", + "Service_Plan_Name": "Office 365 SafeDocs", "Service_Plan_Id": "bf6f5520-59e3-4f82-974b-7dbbc4fd27c7", - "Service_Plans_Included_Friendly_Names": "Office 365 SafeDocs" + "Service_Plans_Included_Friendly_Names": "SAFEDOCS" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "SHAREPOINTWAC", + "Service_Plan_Name": "Office for the Web", "Service_Plan_Id": "e95bec33-7c88-4a70-8e19-b10bd9d0c014", - "Service_Plans_Included_Friendly_Names": "Office for the Web" + "Service_Plans_Included_Friendly_Names": "SHAREPOINTWAC" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "POWERAPPS_O365_P3", + "Service_Plan_Name": "Power Apps for Office 365 (Plan 3)", "Service_Plan_Id": "9c0dab89-a30c-4117-86e7-97bda240acd2", - "Service_Plans_Included_Friendly_Names": "Power Apps for Office 365 (Plan 3)" + "Service_Plans_Included_Friendly_Names": "POWERAPPS_O365_P3" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "PREMIUM_ENCRYPTION", + "Service_Plan_Name": "Premium Encryption in Office 365", "Service_Plan_Id": "617b097b-4b93-4ede-83de-5f075bb5fb2f", - "Service_Plans_Included_Friendly_Names": "Premium Encryption in Office 365" + "Service_Plans_Included_Friendly_Names": "PREMIUM_ENCRYPTION" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "PROJECT_O365_P3", + "Service_Plan_Name": "Project for Office (Plan E5)", "Service_Plan_Id": "b21a6b06-1988-436e-a07b-51ec6d9f52ad", - "Service_Plans_Included_Friendly_Names": "Project for Office (Plan E5)" + "Service_Plans_Included_Friendly_Names": "PROJECT_O365_P3" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "COMMUNICATIONS_COMPLIANCE", + "Service_Plan_Name": "RETIRED - Microsoft Communications Compliance", "Service_Plan_Id": "41fcdd7d-4733-4863-9cf4-c65b83ce2df4", - "Service_Plans_Included_Friendly_Names": "RETIRED - Microsoft Communications Compliance" + "Service_Plans_Included_Friendly_Names": "COMMUNICATIONS_COMPLIANCE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "INSIDER_RISK_MANAGEMENT", + "Service_Plan_Name": "RETIRED - Microsoft Insider Risk Management", "Service_Plan_Id": "9d0c4ee5-e4a1-4625-ab39-d82b619b1a34", - "Service_Plans_Included_Friendly_Names": "RETIRED - Microsoft Insider Risk Management" + "Service_Plans_Included_Friendly_Names": "INSIDER_RISK_MANAGEMENT" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MCOSTANDARD", + "Service_Plan_Name": "Skype for Business Online (Plan 2)", "Service_Plan_Id": "0feaeb32-d00e-4d66-bd5a-43b5b83db82c", - "Service_Plans_Included_Friendly_Names": "Skype for Business Online (Plan 2)" + "Service_Plans_Included_Friendly_Names": "MCOSTANDARD" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "SWAY", + "Service_Plan_Name": "Sway", "Service_Plan_Id": "a23b959c-7ce8-4e57-9140-b90eb88a9e97", - "Service_Plans_Included_Friendly_Names": "Sway" + "Service_Plans_Included_Friendly_Names": "SWAY" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "BPOS_S_TODO_3", + "Service_Plan_Name": "To-Do (Plan 3)", "Service_Plan_Id": "3fb82609-8c27-4f7b-bd51-30634711ee67", - "Service_Plans_Included_Friendly_Names": "To-Do (Plan 3)" + "Service_Plans_Included_Friendly_Names": "BPOS_S_TODO_3" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "VIVAENGAGE_CORE", + "Service_Plan_Name": "Viva Engage Core", "Service_Plan_Id": "a82fbf69-b4d7-49f4-83a6-915b2cf354f4", - "Service_Plans_Included_Friendly_Names": "Viva Engage Core" + "Service_Plans_Included_Friendly_Names": "VIVAENGAGE_CORE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "VIVA_LEARNING_SEEDED", + "Service_Plan_Name": "Viva Learning Seeded", "Service_Plan_Id": "b76fb638-6ba6-402a-b9f9-83d28acb3d86", - "Service_Plans_Included_Friendly_Names": "Viva Learning Seeded" + "Service_Plans_Included_Friendly_Names": "VIVA_LEARNING_SEEDED" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "WHITEBOARD_PLAN3", + "Service_Plan_Name": "Whiteboard (Plan 3)", "Service_Plan_Id": "4a51bca5-1eff-43f5-878c-177680f191af", - "Service_Plans_Included_Friendly_Names": "Whiteboard (Plan 3)" + "Service_Plans_Included_Friendly_Names": "WHITEBOARD_PLAN3" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "YAMMER_ENTERPRISE", + "Service_Plan_Name": "Yammer Enterprise", "Service_Plan_Id": "7547a3fe-08ee-4ccb-b430-5077c5041653", - "Service_Plans_Included_Friendly_Names": "Yammer Enterprise" + "Service_Plans_Included_Friendly_Names": "YAMMER_ENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "WINDEFATP", + "Service_Plan_Name": "Microsoft Defender for Endpoint", "Service_Plan_Id": "871d91ec-ec1a-452b-a83f-bd76c7d770ef", - "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Endpoint" + "Service_Plans_Included_Friendly_Names": "WINDEFATP" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MICROSOFTENDPOINTDLP", + "Service_Plan_Name": "Microsoft Endpoint DLP", "Service_Plan_Id": "64bfac92-2b17-4482-b5e5-a0304429de3e", - "Service_Plans_Included_Friendly_Names": "Microsoft Endpoint DLP" + "Service_Plans_Included_Friendly_Names": "MICROSOFTENDPOINTDLP" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "UNIVERSAL_PRINT_01", + "Service_Plan_Name": "Universal Print", "Service_Plan_Id": "795f6fe0-cc4d-4773-b050-5dde4dc704c9", - "Service_Plans_Included_Friendly_Names": "Universal Print" + "Service_Plans_Included_Friendly_Names": "UNIVERSAL_PRINT_01" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "WIN10_PRO_ENT_SUB", + "Service_Plan_Name": "Windows 10/11 Enterprise (Original)", "Service_Plan_Id": "21b439ba-a0ca-424f-a6cc-52f954a5b111", - "Service_Plans_Included_Friendly_Names": "Windows 10/11 Enterprise (Original)" + "Service_Plans_Included_Friendly_Names": "WIN10_PRO_ENT_SUB" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "Windows_Autopatch", + "Service_Plan_Name": "Windows Autopatch", "Service_Plan_Id": "9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3", - "Service_Plans_Included_Friendly_Names": "Windows Autopatch" + "Service_Plans_Included_Friendly_Names": "Windows_Autopatch" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", + "Service_Plan_Name": "Windows Update for Business Deployment Service", "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", - "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" + "Service_Plans_Included_Friendly_Names": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "RMS_S_PREMIUM", + "Service_Plan_Name": "Azure Information Protection Premium P1", "Service_Plan_Id": "6c57d4b6-3b23-47a5-9bc9-69f17b4947b3", - "Service_Plans_Included_Friendly_Names": "Azure Information Protection Premium P1" + "Service_Plans_Included_Friendly_Names": "RMS_S_PREMIUM" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "RMS_S_PREMIUM2", + "Service_Plan_Name": "Azure Information Protection Premium P2", "Service_Plan_Id": "5689bec4-755d-4753-8b61-40975025187c", - "Service_Plans_Included_Friendly_Names": "Azure Information Protection Premium P2" + "Service_Plans_Included_Friendly_Names": "RMS_S_PREMIUM2" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "RMS_S_ENTERPRISE", + "Service_Plan_Name": "Azure Rights Management", "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", - "Service_Plans_Included_Friendly_Names": "Azure Rights Management" + "Service_Plans_Included_Friendly_Names": "RMS_S_ENTERPRISE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "DYN365_CDS_O365_P3", + "Service_Plan_Name": "Common Data Service", "Service_Plan_Id": "28b0fa46-c39a-4188-89e2-58e979a6b014", - "Service_Plans_Included_Friendly_Names": "Common Data Service" + "Service_Plans_Included_Friendly_Names": "DYN365_CDS_O365_P3" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "MFA_PREMIUM", + "Service_Plan_Name": "Microsoft Azure Multi-Factor Authentication", "Service_Plan_Id": "8a256a2b-b617-496d-b51b-e76466e88db0", - "Service_Plans_Included_Friendly_Names": "Microsoft Azure Multi-Factor Authentication" + "Service_Plans_Included_Friendly_Names": "MFA_PREMIUM" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "ADALLOM_S_STANDALONE", + "Service_Plan_Name": "Microsoft Defender for Cloud Apps", "Service_Plan_Id": "2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2", - "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Cloud Apps" + "Service_Plans_Included_Friendly_Names": "ADALLOM_S_STANDALONE" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "ATA", + "Service_Plan_Name": "Microsoft Defender for Identity", "Service_Plan_Id": "14ab5db5-e6c4-4b20-b4bc-13e36fd2227f", - "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Identity" + "Service_Plans_Included_Friendly_Names": "ATA" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "AAD_PREMIUM", + "Service_Plan_Name": "Microsoft Entra ID P1", "Service_Plan_Id": "41781fb2-bc02-4b7c-bd55-b576c07bb09d", - "Service_Plans_Included_Friendly_Names": "Microsoft Entra ID P1" + "Service_Plans_Included_Friendly_Names": "AAD_PREMIUM" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "AAD_PREMIUM_P2", + "Service_Plan_Name": "Microsoft Entra ID P2", "Service_Plan_Id": "eec0eb4f-6444-4f95-aba0-50c24d67f998", - "Service_Plans_Included_Friendly_Names": "Microsoft Entra ID P2" + "Service_Plans_Included_Friendly_Names": "AAD_PREMIUM_P2" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "INTUNE_A", + "Service_Plan_Name": "Microsoft Intune Plan 1", "Service_Plan_Id": "c1ec4a95-1f05-45b3-a911-aa3fa01094f5", - "Service_Plans_Included_Friendly_Names": "Microsoft Intune Plan 1" + "Service_Plans_Included_Friendly_Names": "INTUNE_A" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "FLOW_O365_P3", + "Service_Plan_Name": "Power Automate for Office 365", "Service_Plan_Id": "07699545-9485-468e-95b6-2fca3738be01", - "Service_Plans_Included_Friendly_Names": "Power Automate for Office 365" + "Service_Plans_Included_Friendly_Names": "FLOW_O365_P3" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "BI_AZURE_P2", + "Service_Plan_Name": "Power BI Pro", "Service_Plan_Id": "70d33638-9c74-4d01-bfd3-562de28bd4ba", - "Service_Plans_Included_Friendly_Names": "Power BI Pro" + "Service_Plans_Included_Friendly_Names": "BI_AZURE_P2" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_M5", "GUID": "3271cf8e-2be5-4a09-a549-70fd05baaa17", - "Service_Plan_Name": "POWER_VIRTUAL_AGENTS_O365_P3", + "Service_Plan_Name": "Power Virtual Agents for Office 365", "Service_Plan_Id": "ded3d325-1bdc-453e-8432-5bac26d7a014", - "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365" + "Service_Plans_Included_Friendly_Names": "POWER_VIRTUAL_AGENTS_O365_P3" }, { "Product_Display_Name": "Microsoft 365 E5 Security", @@ -17693,7 +17397,7 @@ "GUID": "a91fc4e0-65e5-4266-aa76-4037509c1626", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 with Calling Minutes", @@ -17757,7 +17461,7 @@ "GUID": "a91fc4e0-65e5-4266-aa76-4037509c1626", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5 with Calling Minutes", @@ -18357,7 +18061,7 @@ "GUID": "cd2925a3-5076-4233-8931-638a8c94f773", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 without Audio Conferencing", @@ -18421,7 +18125,7 @@ "GUID": "cd2925a3-5076-4233-8931-638a8c94f773", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5 without Audio Conferencing", @@ -19021,7 +18725,7 @@ "GUID": "2113661c-6509-4034-98bb-9c47bd28d63c", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB", @@ -19085,7 +18789,7 @@ "GUID": "2113661c-6509-4034-98bb-9c47bd28d63c", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5 without Audio Conferencing (500 seats min)_HUB", @@ -19653,7 +19357,7 @@ "GUID": "1e988bf3-8b7c-4731-bec0-4e2a2946600c", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB", @@ -19717,7 +19421,7 @@ "GUID": "1e988bf3-8b7c-4731-bec0-4e2a2946600c", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) (500 seats min)_HUB", @@ -20301,7 +20005,7 @@ "GUID": "a640eead-25f6-4bec-97e3-23cfd382d7c2", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB", @@ -20357,7 +20061,7 @@ "GUID": "a640eead-25f6-4bec-97e3-23cfd382d7c2", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5 EEA (no Teams) without Audio Conferencing (500 seats min)_HUB", @@ -20941,7 +20645,7 @@ "GUID": "4eb45c5b-0d19-4e33-b87c-adfc25268f20", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 E5_USGOV_GCCHIGH", @@ -21551,14 +21255,6 @@ "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", "Service_Plans_Included_Friendly_Names": "Azure Rights Management" }, - { - "Product_Display_Name": "Microsoft 365 F3", - "String_Id": "SPE_F1", - "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", - "Service_Plan_Name": "Bing_Chat_Enterprise", - "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" - }, { "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", @@ -21575,14 +21271,6 @@ "Service_Plan_Id": "4a82b400-a79f-41a4-b4e2-e94f5787b113", "Service_Plans_Included_Friendly_Names": "Exchange Online Kiosk" }, - { - "Product_Display_Name": "Microsoft 365 F3", - "String_Id": "SPE_F1", - "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", - "Service_Plan_Name": "M365_LIGHTHOUSE_CUSTOMER_PLAN1", - "Service_Plan_Id": "6f23d6a9-adbf-481c-8538-b4c095654487", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Lighthouse (Plan 1)" - }, { "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", @@ -21711,14 +21399,6 @@ "Service_Plan_Id": "80873e7a-cd2a-4e67-b061-1b5381a676a5", "Service_Plans_Included_Friendly_Names": "To-Do (Firstline)" }, - { - "Product_Display_Name": "Microsoft 365 F3", - "String_Id": "SPE_F1", - "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", - "Service_Plan_Name": "VIVAENGAGE_CORE", - "Service_Plan_Id": "a82fbf69-b4d7-49f4-83a6-915b2cf354f4", - "Service_Plans_Included_Friendly_Names": "Viva Engage Core" - }, { "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", @@ -21763,17 +21443,17 @@ "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", - "Service_Plan_Name": "Windows_Autopatch", - "Service_Plan_Id": "9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3", - "Service_Plans_Included_Friendly_Names": "Windows Autopatch" + "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", + "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", + "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" }, { "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", - "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", - "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", - "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" + "Service_Plan_Name": "AAD_PREMIUM", + "Service_Plan_Id": "41781fb2-bc02-4b7c-bd55-b576c07bb09d", + "Service_Plans_Included_Friendly_Names": "Microsoft Entra ID P1" }, { "Product_Display_Name": "Microsoft 365 F3", @@ -21807,21 +21487,13 @@ "Service_Plan_Id": "932ad362-64a8-4783-9106-97849a1a30b9", "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Cloud Apps Discovery" }, - { - "Product_Display_Name": "Microsoft 365 F3", - "String_Id": "SPE_F1", - "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", - "Service_Plan_Name": "AAD_PREMIUM", - "Service_Plan_Id": "41781fb2-bc02-4b7c-bd55-b576c07bb09d", - "Service_Plans_Included_Friendly_Names": "Microsoft Entra ID P1" - }, { "Product_Display_Name": "Microsoft 365 F3", "String_Id": "SPE_F1", "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", "Service_Plan_Name": "INTUNE_A", "Service_Plan_Id": "c1ec4a95-1f05-45b3-a911-aa3fa01094f5", - "Service_Plans_Included_Friendly_Names": "Microsoft Intune Plan 1" + "Service_Plans_Included_Friendly_Names": "Microsoft Intune" }, { "Product_Display_Name": "Microsoft 365 F3", @@ -21855,6 +21527,14 @@ "Service_Plan_Id": "ba2fdb48-290b-4632-b46a-e4ecc58ac11a", "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365" }, + { + "Product_Display_Name": "Microsoft 365 F3", + "String_Id": "SPE_F1", + "GUID": "66b55226-6b4f-492c-910c-a3b7a3c9d993", + "Service_Plan_Name": "VIVAENGAGE_CORE", + "Service_Plan_Id": "a82fbf69-b4d7-49f4-83a6-915b2cf354f4", + "Service_Plans_Included_Friendly_Names": "Viva Engage Core" + }, { "Product_Display_Name": "Microsoft 365 F3 EEA (no Teams)", "String_Id": "Microsoft_365_F3_EEA_(no_Teams)", @@ -22525,7 +22205,7 @@ "GUID": "9cfd6bc3-84cd-4274-8a21-8c7c41d6c350", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 F5 Compliance Add-on AR (DOD)_USGOV_DOD", @@ -23285,7 +22965,7 @@ "GUID": "e2be619b-b125-455f-8660-fb503e431a5d", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 GCC G5", @@ -23733,7 +23413,7 @@ "GUID": "b0f809d5-a662-4391-a5aa-136e9c565b9d", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 GCC G5 w/o WDATP/CAS Unified", @@ -24125,7 +23805,7 @@ "GUID": "99cc8282-2f74-4954-83b7-c6a9a1999067", "Service_Plan_Name": "Bing_Chat_Enterprise", "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plans_Included_Friendly_Names": "Copilot" }, { "Product_Display_Name": "Microsoft 365 E5 Suite features", @@ -24135,14 +23815,6 @@ "Service_Plan_Id": "3ec18638-bd4c-4d3b-8905-479ed636b83e", "Service_Plans_Included_Friendly_Names": "Customer Lockbox (A)" }, - { - "Product_Display_Name": "Microsoft 365 E5 Suite features", - "String_Id": "M365_E5_SUITE_COMPONENTS", - "GUID": "99cc8282-2f74-4954-83b7-c6a9a1999067", - "Service_Plan_Name": "MESH_IMMERSIVE_FOR_TEAMS", - "Service_Plan_Id": "f0ff6ac6-297d-49cd-be34-6dfef97f0c28", - "Service_Plans_Included_Friendly_Names": "Immersive spaces for Teams" - }, { "Product_Display_Name": "Microsoft 365 E5 Suite features", "String_Id": "M365_E5_SUITE_COMPONENTS", @@ -24215,14 +23887,6 @@ "Service_Plan_Id": "9a6eeb79-0b4b-4bf0-9808-39d99a2cd5a3", "Service_Plans_Included_Friendly_Names": "Windows Autopatch" }, - { - "Product_Display_Name": "Microsoft 365 E5 Suite features", - "String_Id": "M365_E5_SUITE_COMPONENTS", - "GUID": "99cc8282-2f74-4954-83b7-c6a9a1999067", - "Service_Plan_Name": "WINDOWSUPDATEFORBUSINESS_DEPLOYMENTSERVICE", - "Service_Plan_Id": "7bf960f6-2cd9-443a-8046-5dbff9558365", - "Service_Plans_Included_Friendly_Names": "Windows Update for Business Deployment Service" - }, { "Product_Display_Name": "Microsoft 365 E5 Suite features", "String_Id": "M365_E5_SUITE_COMPONENTS", @@ -24405,7 +24069,7 @@ "GUID": "e823ca47-49c4-46b3-b38d-ca11d5abe3d2", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Microsoft 365 G3 GCC", @@ -25135,14 +24799,6 @@ "Service_Plan_Id": "871d91ec-ec1a-452b-a83f-bd76c7d770ef", "Service_Plans_Included_Friendly_Names": "MICROSOFT DEFENDER FOR ENDPOINT" }, - { - "Product_Display_Name": "Microsoft Defender for Endpoint F2", - "String_Id": "Microsoft_Defender_for_Endpoint_F2", - "GUID": "e430a580-c37b-4d16-adba-d881d7cd0364", - "Service_Plan_Name": "WINDEFATP", - "Service_Plan_Id": "871d91ec-ec1a-452b-a83f-bd76c7d770ef", - "Service_Plans_Included_Friendly_Names": "Microsoft Defender for Endpoint" - }, { "Product_Display_Name": "Microsoft Defender for Endpoint P1", "String_Id": "DEFENDER_ENDPOINT_P1", @@ -25367,14 +25023,6 @@ "Service_Plan_Id": "874fc546-6efe-4d22-90b8-5c4e7aa59f4b", "Service_Plans_Included_Friendly_Names": "POWERAPPS FOR DYNAMICS 365" }, - { - "Product_Display_Name": "Microsoft Entra ID Governance", - "String_Id": "Microsoft_Entra_ID_Governance", - "GUID": "cf6b0d46-4093-4546-a0ab-0b1546dcc10e", - "Service_Plan_Name": "Entra_Identity_Governance", - "Service_Plan_Id": "e866a266-3cff-43a3-acca-0c90a7e00c8b", - "Service_Plans_Included_Friendly_Names": "Entra Identity Governance" - }, { "Product_Display_Name": "Microsoft Fabric (Free)", "String_Id": "POWER_BI_STANDARD", @@ -25855,38 +25503,6 @@ "Service_Plan_Id": "83bced11-77ce-4071-95bd-240133796768", "Service_Plans_Included_Friendly_Names": "Microsoft Stream Storage Add-On" }, - { - "Product_Display_Name": "Microsoft Sustainability Manager USL Essentials", - "String_Id": "Microsoft_Cloud_for_Sustainability_USL", - "GUID": "ece037b4-a52b-4cf8-93ea-649e5d83767a", - "Service_Plan_Name": "MCS_BizApps_Cloud_for_Sustainability_USL", - "Service_Plan_Id": "c46c42af-d654-4385-8c85-29a84f3dfb22", - "Service_Plans_Included_Friendly_Names": "MCS - BizApps - Cloud for Sustainability USL" - }, - { - "Product_Display_Name": "Microsoft Sustainability Manager USL Essentials", - "String_Id": "Microsoft_Cloud_for_Sustainability_USL", - "GUID": "ece037b4-a52b-4cf8-93ea-649e5d83767a", - "Service_Plan_Name": "POWER_APPS_FOR_MCS_USL", - "Service_Plan_Id": "5ffd371c-037a-41a2-98a3-6452f8c5de17", - "Service_Plans_Included_Friendly_Names": "Power Apps for Cloud for Sustainability USL" - }, - { - "Product_Display_Name": "Microsoft Sustainability Manager USL Essentials", - "String_Id": "Microsoft_Cloud_for_Sustainability_USL", - "GUID": "ece037b4-a52b-4cf8-93ea-649e5d83767a", - "Service_Plan_Name": "POWER_AUTOMATE_FOR_MCS_USL", - "Service_Plan_Id": "ccbe468e-7973-442c-8ec4-5fbe16438711", - "Service_Plans_Included_Friendly_Names": "Power Automate for Cloud for Sustainability USL" - }, - { - "Product_Display_Name": "Microsoft Sustainability Manager USL Essentials", - "String_Id": "Microsoft_Cloud_for_Sustainability_USL", - "GUID": "ece037b4-a52b-4cf8-93ea-649e5d83767a", - "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", - "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", - "Service_Plans_Included_Friendly_Names": "Exchange Foundation" - }, { "Product_Display_Name": "Microsoft Teams Audio Conferencing with dial-out to USA/CAN", "String_Id": "Microsoft_Teams_Audio_Conferencing_select_dial_out", @@ -25943,22 +25559,6 @@ "Service_Plan_Id": "36b29273-c6d0-477a-aca6-6fbe24f538e3", "Service_Plans_Included_Friendly_Names": "WHITEBOARD (FIRSTLINE)" }, - { - "Product_Display_Name": "Microsoft Teams Calling Plan pay-as-you-go (country zone 1 - US)", - "String_Id": "Microsoft_Teams_Calling_Plan_pay_as_you_go_(country_zone_1_US)", - "GUID": "9b196e97-5830-4c2e-adc2-1e10ebf5dee5", - "Service_Plan_Name": "MCOPSTN_PAYG_1", - "Service_Plan_Id": "156a1efe-17cd-4b03-9f17-2eb512298fb3", - "Service_Plans_Included_Friendly_Names": "Microsoft Teams Calling Plan pay-as-you-go - country zone 1" - }, - { - "Product_Display_Name": "Microsoft Teams Domestic Calling Plan (240 min)", - "String_Id": "MCOPSTN_6", - "GUID": "729dbb8f-8d56-4994-8e33-2f218f549544", - "Service_Plan_Name": "MCOPSTN6", - "Service_Plan_Id": "346d83bf-6fe6-42ca-b424-b9300d2e21bf", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Domestic Calling Plan (240 min)" - }, { "Product_Display_Name": "Microsoft Teams Essentials", "String_Id": "Teams_Ess", @@ -28725,7 +28325,7 @@ "GUID": "a4585165-0533-458a-97e3-c400570268c4", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 A5 for faculty", @@ -29181,7 +28781,7 @@ "GUID": "ee656612-49fa-43e5-b67e-cb1fdf7699df", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 A5 for students", @@ -30451,33 +30051,9 @@ "Product_Display_Name": "Office 365 E3", "String_Id": "ENTERPRISEPACK", "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "MESH_AVATARS_FOR_TEAMS", - "Service_Plan_Id": "dcf9d2f4-772e-4434-b757-77a453cfbc02", - "Service_Plans_Included_Friendly_Names": "Avatars for Teams" - }, - { - "Product_Display_Name": "Office 365 E3", - "String_Id": "ENTERPRISEPACK", - "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "MESH_AVATARS_ADDITIONAL_FOR_TEAMS", - "Service_Plan_Id": "3efbd4ed-8958-4824-8389-1321f8730af8", - "Service_Plans_Included_Friendly_Names": "Avatars for Teams (additional)" - }, - { - "Product_Display_Name": "Office 365 E3", - "String_Id": "ENTERPRISEPACK", - "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "RMS_S_ENTERPRISE", - "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", - "Service_Plans_Included_Friendly_Names": "Azure Rights Management" - }, - { - "Product_Display_Name": "Office 365 E3", - "String_Id": "ENTERPRISEPACK", - "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "Bing_Chat_Enterprise", - "Service_Plan_Id": "0d0c0d31-fae7-41f2-b909-eaf4d7f26dba", - "Service_Plans_Included_Friendly_Names": "Commercial data protection for Microsoft Copilot" + "Service_Plan_Name": "DYN365_CDS_O365_P2", + "Service_Plan_Id": "4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14", + "Service_Plans_Included_Friendly_Names": "Common Data Service - O365 P2" }, { "Product_Display_Name": "Office 365 E3", @@ -30485,7 +30061,7 @@ "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", "Service_Plan_Name": "CDS_O365_P2", "Service_Plan_Id": "95b76021-6a53-4741-ab8b-1d1f3d66a95a", - "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams" + "Service_Plans_Included_Friendly_Names": "Common Data Service for Teams_P2" }, { "Product_Display_Name": "Office 365 E3", @@ -30495,21 +30071,13 @@ "Service_Plan_Id": "efb87545-963c-4e0d-99df-69c6916d9eb0", "Service_Plans_Included_Friendly_Names": "Exchange Online (Plan 2)" }, - { - "Product_Display_Name": "Office 365 E3", - "String_Id": "ENTERPRISEPACK", - "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "MESH_IMMERSIVE_FOR_TEAMS", - "Service_Plan_Id": "f0ff6ac6-297d-49cd-be34-6dfef97f0c28", - "Service_Plans_Included_Friendly_Names": "Immersive spaces for Teams" - }, { "Product_Display_Name": "Office 365 E3", "String_Id": "ENTERPRISEPACK", "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics - Standard" }, { "Product_Display_Name": "Office 365 E3", @@ -30533,15 +30101,15 @@ "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", "Service_Plan_Name": "OFFICESUBSCRIPTION", "Service_Plan_Id": "43de0ff5-c92c-492b-9116-175376d08c38", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Apps for Enterprise" + "Service_Plans_Included_Friendly_Names": "Microsoft 365 Apps for enterprise" }, { "Product_Display_Name": "Office 365 E3", "String_Id": "ENTERPRISEPACK", "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "M365_LIGHTHOUSE_CUSTOMER_PLAN1", - "Service_Plan_Id": "6f23d6a9-adbf-481c-8538-b4c095654487", - "Service_Plans_Included_Friendly_Names": "Microsoft 365 Lighthouse (Plan 1)" + "Service_Plan_Name": "RMS_S_ENTERPRISE", + "Service_Plan_Id": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90", + "Service_Plans_Included_Friendly_Names": "Microsoft Microsoft Entra Rights" }, { "Product_Display_Name": "Office 365 E3", @@ -30565,7 +30133,7 @@ "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", "Service_Plan_Name": "KAIZALA_O365_P3", "Service_Plan_Id": "aebd3021-9f8f-4bf8-bbe3-0ed2f4f047a1", - "Service_Plans_Included_Friendly_Names": "Microsoft Kaizala Pro" + "Service_Plans_Included_Friendly_Names": "Microsoft Kaizala Pro Plan 3" }, { "Product_Display_Name": "Office 365 E3", @@ -30597,7 +30165,7 @@ "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", "Service_Plan_Name": "STREAM_O365_E3", "Service_Plan_Id": "9e700747-8b1d-45e5-ab8d-ef187ceec156", - "Service_Plans_Included_Friendly_Names": "Microsoft Stream for Office 365 E3" + "Service_Plans_Included_Friendly_Names": "Microsoft Stream for O365 E3 SKU" }, { "Product_Display_Name": "Office 365 E3", @@ -30619,17 +30187,33 @@ "Product_Display_Name": "Office 365 E3", "String_Id": "ENTERPRISEPACK", "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "Nucleus", - "Service_Plan_Id": "db4d623d-b514-490b-b7ef-8885eee514de", - "Service_Plans_Included_Friendly_Names": "Nucleus" + "Service_Plan_Name": "SHAREPOINTWAC", + "Service_Plan_Id": "e95bec33-7c88-4a70-8e19-b10bd9d0c014", + "Service_Plans_Included_Friendly_Names": "Office for the web" }, { "Product_Display_Name": "Office 365 E3", "String_Id": "ENTERPRISEPACK", "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "SHAREPOINTWAC", - "Service_Plan_Id": "e95bec33-7c88-4a70-8e19-b10bd9d0c014", - "Service_Plans_Included_Friendly_Names": "Office for the Web" + "Service_Plan_Name": "POWERAPPS_O365_P2", + "Service_Plan_Id": "c68f8d98-5534-41c8-bf36-22fa496fa792", + "Service_Plans_Included_Friendly_Names": "Power Apps for Office 365" + }, + { + "Product_Display_Name": "Office 365 E3", + "String_Id": "ENTERPRISEPACK", + "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", + "Service_Plan_Name": "FLOW_O365_P2", + "Service_Plan_Id": "76846ad7-7776-4c40-a281-a386362dd1b9", + "Service_Plans_Included_Friendly_Names": "Power Automate for Office 365" + }, + { + "Product_Display_Name": "Office 365 E3", + "String_Id": "ENTERPRISEPACK", + "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", + "Service_Plan_Name": "POWER_VIRTUAL_AGENTS_O365_P2", + "Service_Plan_Id": "041fe683-03e4-45b6-b1af-c0cdc516daee", + "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365 P2" }, { "Product_Display_Name": "Office 365 E3", @@ -30703,38 +30287,6 @@ "Service_Plan_Id": "7547a3fe-08ee-4ccb-b430-5077c5041653", "Service_Plans_Included_Friendly_Names": "Yammer Enterprise" }, - { - "Product_Display_Name": "Office 365 E3", - "String_Id": "ENTERPRISEPACK", - "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "DYN365_CDS_O365_P2", - "Service_Plan_Id": "4ff01e01-1ba7-4d71-8cf8-ce96c3bbcf14", - "Service_Plans_Included_Friendly_Names": "Common Data Service" - }, - { - "Product_Display_Name": "Office 365 E3", - "String_Id": "ENTERPRISEPACK", - "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "POWERAPPS_O365_P2", - "Service_Plan_Id": "c68f8d98-5534-41c8-bf36-22fa496fa792", - "Service_Plans_Included_Friendly_Names": "Power Apps for Office 365" - }, - { - "Product_Display_Name": "Office 365 E3", - "String_Id": "ENTERPRISEPACK", - "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "FLOW_O365_P2", - "Service_Plan_Id": "76846ad7-7776-4c40-a281-a386362dd1b9", - "Service_Plans_Included_Friendly_Names": "Power Automate for Office 365" - }, - { - "Product_Display_Name": "Office 365 E3", - "String_Id": "ENTERPRISEPACK", - "GUID": "6fd2c87f-b296-42f0-b197-1e91e994b900", - "Service_Plan_Name": "POWER_VIRTUAL_AGENTS_O365_P2", - "Service_Plan_Id": "041fe683-03e4-45b6-b1af-c0cdc516daee", - "Service_Plans_Included_Friendly_Names": "Power Virtual Agents for Office 365" - }, { "Product_Display_Name": "Office 365 E3 EEA (no Teams)", "String_Id": "O365_w/o_Teams_Bundle_E3", @@ -30757,7 +30309,7 @@ "GUID": "d711d25a-a21c-492f-bd19-aae1e8ebaf30", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 E3 EEA (no Teams)", @@ -31885,7 +31437,7 @@ "GUID": "cf50bae9-29e8-4775-b07c-56ee10e3776d", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 E5 EEA (no Teams)", @@ -32349,7 +31901,7 @@ "GUID": "71772aeb-4bb8-4f74-9dd4-36c7a9b5ca74", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 E5 EEA (no Teams) without Audio Conferencing", @@ -32797,7 +32349,7 @@ "GUID": "26d45bd9-adf1-46cd-a9e1-51e9a5524128", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 E5 Without Audio Conferencing", @@ -33885,7 +33437,7 @@ "GUID": "535a3a29-c5f0-42fe-8215-d3b9e1f38c4a", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 G3 GCC", @@ -34077,7 +33629,7 @@ "GUID": "24aebea8-7fac-48d0-8750-de4ee1fde205", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 G3 without Microsoft 365 Apps GCC", @@ -34293,7 +33845,7 @@ "GUID": "8900a2c0-edba-4079-bdf3-b276e293b6a8", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 G5 GCC", @@ -34645,7 +34197,7 @@ "GUID": "1341559b-49df-443c-8e79-fa604fed2d82", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 GCC G5 without Audio Conferencing", @@ -34989,7 +34541,7 @@ "GUID": "2f105cc2-c2c1-435b-a955-c5e82156c05d", "Service_Plan_Name": "ContentExplorer_Standard", "Service_Plan_Id": "2b815d45-56e4-4e3a-b65c-66cb9175b560", - "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics ? Standard" + "Service_Plans_Included_Friendly_Names": "Information Protection and Governance Analytics � Standard" }, { "Product_Display_Name": "Office 365 GCC G5 without Power BI and Phone System", @@ -35935,46 +35487,6 @@ "Service_Plan_Id": "8e2c2c3d-07f6-4da7-86a9-e78cc8c2c8b9", "Service_Plans_Included_Friendly_Names": "Power Automate for Power Apps per App Plan for Government" }, - { - "Product_Display_Name": "Power Apps Per User BD Only", - "String_Id": "POWERAPPS_PER_USER_BD_ONLY", - "GUID": "2ced8a00-3ed1-4295-ab7c-57170ff28e58", - "Service_Plan_Name": "Power_Pages_Internal_User", - "Service_Plan_Id": "60bf28f9-2b70-4522-96f7-335f5e06c941", - "Service_Plans_Included_Friendly_Names": "Power Pages Internal User" - }, - { - "Product_Display_Name": "Power Apps Per User BD Only", - "String_Id": "POWERAPPS_PER_USER_BD_ONLY", - "GUID": "2ced8a00-3ed1-4295-ab7c-57170ff28e58", - "Service_Plan_Name": "EXCHANGE_S_FOUNDATION", - "Service_Plan_Id": "113feb6c-3fe4-4440-bddc-54d774bf0318", - "Service_Plans_Included_Friendly_Names": "Exchange Foundation" - }, - { - "Product_Display_Name": "Power Apps Per User BD Only", - "String_Id": "POWERAPPS_PER_USER_BD_ONLY", - "GUID": "2ced8a00-3ed1-4295-ab7c-57170ff28e58", - "Service_Plan_Name": "CDS_ POWERAPPS_PER_USER_CUSTOM", - "Service_Plan_Id": "2e8dde43-6986-479d-b179-7dbe31c31f60", - "Service_Plans_Included_Friendly_Names": "CDS Power Apps Per User Custom" - }, - { - "Product_Display_Name": "Power Apps Per User BD Only", - "String_Id": "POWERAPPS_PER_USER_BD_ONLY", - "GUID": "2ced8a00-3ed1-4295-ab7c-57170ff28e58", - "Service_Plan_Name": "POWERAPPS_PER_USER", - "Service_Plan_Id": "ea2cf03b-ac60-46ae-9c1d-eeaeb63cec86", - "Service_Plans_Included_Friendly_Names": "Power Apps per User Plan" - }, - { - "Product_Display_Name": "Power Apps Per User BD Only", - "String_Id": "POWERAPPS_PER_USER_BD_ONLY", - "GUID": "2ced8a00-3ed1-4295-ab7c-57170ff28e58", - "Service_Plan_Name": "Flow_PowerApps_PerUser", - "Service_Plan_Id": "dc789ed8-0170-4b65-a415-eb77d5bb350a", - "Service_Plans_Included_Friendly_Names": "Power Automate for Power Apps per User Plan" - }, { "Product_Display_Name": "Power Apps per user plan", "String_Id": "POWERAPPS_PER_USER", @@ -37136,7 +36648,7 @@ "Service_Plans_Included_Friendly_Names": "Flow for CCI Bots" }, { - "Product_Display_Name": "Privacy Management ? risk", + "Product_Display_Name": "Privacy Management � risk", "String_Id": "PRIVACY_MANAGEMENT_RISK", "GUID": "e42bc969-759a-4820-9283-6b73085b68e6", "Service_Plan_Name": "MIP_S_Exchange", @@ -37144,7 +36656,7 @@ "Service_Plans_Included_Friendly_Names": "Data Classification in Microsoft 365" }, { - "Product_Display_Name": "Privacy Management ? risk", + "Product_Display_Name": "Privacy Management � risk", "String_Id": "PRIVACY_MANAGEMENT_RISK", "GUID": "e42bc969-759a-4820-9283-6b73085b68e6", "Service_Plan_Name": "PRIVACY_MANGEMENT_RISK", @@ -37152,7 +36664,7 @@ "Service_Plans_Included_Friendly_Names": "Priva - Risk" }, { - "Product_Display_Name": "Privacy Management ? risk", + "Product_Display_Name": "Privacy Management � risk", "String_Id": "PRIVACY_MANAGEMENT_RISK", "GUID": "e42bc969-759a-4820-9283-6b73085b68e6", "Service_Plan_Name": "PRIVACY_MANGEMENT_RISK_EXCHANGE", @@ -38775,14 +38287,6 @@ "Service_Plan_Id": "6b340437-d6f9-4dc5-8cc2-99163f7f83d6", "Service_Plans_Included_Friendly_Names": "MCOPSTN3" }, - { - "Product_Display_Name": "Teams Phone Mobile", - "String_Id": "Operator_Connect_Mobile", - "GUID": "b84d58c9-0a0d-46cf-8a4b-d9f23c1674d5", - "Service_Plan_Name": "MCOFMC1", - "Service_Plan_Id": "cb22fbd7-ed7d-4786-a27a-e4cd617b69c0", - "Service_Plans_Included_Friendly_Names": "Teams Phone Mobile" - }, { "Product_Display_Name": "Teams Phone with Calling Plan", "String_Id": "MCOTEAMS_ESSENTIALS", @@ -38799,70 +38303,6 @@ "Service_Plan_Id": "4828c8ec-dc2e-4779-b502-87ac9ce28ab7", "Service_Plans_Included_Friendly_Names": "Microsoft 365 Phone System" }, - { - "Product_Display_Name": "Teams Premium (for Departments)", - "String_Id": "Teams_Premium_(for_Departments)", - "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", - "Service_Plan_Name": "MICROSOFT_ECDN", - "Service_Plan_Id": "85704d55-2e73-47ee-93b4-4b8ea14db92b", - "Service_Plans_Included_Friendly_Names": "Microsoft eCDN" - }, - { - "Product_Display_Name": "Teams Premium (for Departments)", - "String_Id": "Teams_Premium_(for_Departments)", - "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", - "Service_Plan_Name": "MESH_IMMERSIVE", - "Service_Plan_Id": "acbca54f-c771-423b-a476-6d7a98cbbcec", - "Service_Plans_Included_Friendly_Names": "Microsoft Mesh" - }, - { - "Product_Display_Name": "Teams Premium (for Departments)", - "String_Id": "Teams_Premium_(for_Departments)", - "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", - "Service_Plan_Name": "TEAMSPRO_MGMT", - "Service_Plan_Id": "0504111f-feb8-4a3c-992a-70280f9a2869", - "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Intelligent" - }, - { - "Product_Display_Name": "Teams Premium (for Departments)", - "String_Id": "Teams_Premium_(for_Departments)", - "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", - "Service_Plan_Name": "TEAMSPRO_CUST", - "Service_Plan_Id": "cc8c0802-a325-43df-8cba-995d0c6cb373", - "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Personalized" - }, - { - "Product_Display_Name": "Teams Premium (for Departments)", - "String_Id": "Teams_Premium_(for_Departments)", - "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", - "Service_Plan_Name": "TEAMSPRO_PROTECTION", - "Service_Plan_Id": "f8b44f54-18bb-46a3-9658-44ab58712968", - "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Secure" - }, - { - "Product_Display_Name": "Teams Premium (for Departments)", - "String_Id": "Teams_Premium_(for_Departments)", - "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", - "Service_Plan_Name": "TEAMSPRO_VIRTUALAPPT", - "Service_Plan_Id": "9104f592-f2a7-4f77-904c-ca5a5715883f", - "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Virtual Appointment" - }, - { - "Product_Display_Name": "Teams Premium (for Departments)", - "String_Id": "Teams_Premium_(for_Departments)", - "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", - "Service_Plan_Name": "MCO_VIRTUAL_APPT", - "Service_Plan_Id": "711413d0-b36e-4cd4-93db-0a50a4ab7ea3", - "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Virtual Appointments" - }, - { - "Product_Display_Name": "Teams Premium (for Departments)", - "String_Id": "Teams_Premium_(for_Departments)", - "GUID": "52ea0e27-ae73-4983-a08f-13561ebdb823", - "Service_Plan_Name": "TEAMSPRO_WEBINAR", - "Service_Plan_Id": "78b58230-ec7e-4309-913c-93a45cc4735b", - "Service_Plans_Included_Friendly_Names": "Microsoft Teams Premium Webinar" - }, { "Product_Display_Name": "Teams Rooms Premium", "String_Id": "MTR_PREM", @@ -39151,14 +38591,6 @@ "Service_Plan_Id": "2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f", "Service_Plans_Included_Friendly_Names": "Visio Web App" }, - { - "Product_Display_Name": "Viva Goals User-led", - "String_Id": "Viva_Goals_User_led", - "GUID": "3a349c99-ffec-43d2-a2e8-6b97fcb71103", - "Service_Plan_Name": "Viva_Goals_Premium", - "Service_Plan_Id": "b44c6eaf-5c9f-478c-8f16-8cea26353bfb", - "Service_Plans_Included_Friendly_Names": "Viva Goals" - }, { "Product_Display_Name": "Viva Topics", "String_Id": "TOPIC_EXPERIENCES", diff --git a/src/data/standards.json b/src/data/standards.json index ba4f6f28d18f..cab53f3144d6 100644 --- a/src/data/standards.json +++ b/src/data/standards.json @@ -308,8 +308,7 @@ { "type": "number", "name": "standards.NudgeMFA.snoozeDurationInDays", - "label": "Number of days to allow users to skip registering Authenticator (0-14, default is 1)", - "default": 1 + "label": "Number of days to allow users to skip registering Authenticator (0-14, default is 1)" } ], "label": "Sets the state for the request to setup Authenticator", @@ -543,8 +542,7 @@ "type": "number", "name": "standards.EnableMailTips.MailTipsLargeAudienceThreshold", "label": "Number of recipients to trigger the large audience MailTip (Default is 25)", - "placeholder": "Enter a profile name", - "default": 25 + "placeholder": "Enter a profile name" } ], "label": "Enable all MailTips", @@ -600,14 +598,12 @@ { "type": "number", "name": "standards.SendReceiveLimitTenant.SendLimit", - "label": "Send limit in MB (Default is 35)", - "default": 35 + "label": "Send limit in MB (Default is 35)" }, { "type": "number", "name": "standards.SendReceiveLimitTenant.ReceiveLimit", - "label": "Receive Limit in MB (Default is 36)", - "default": 36 + "label": "Receive Limit in MB (Default is 36)" } ], "label": "Set send/receive size limits", diff --git a/src/hooks/useNavFavouriteCheck.jsx b/src/hooks/useNavFavouriteCheck.jsx deleted file mode 100644 index 90f710405b18..000000000000 --- a/src/hooks/useNavFavouriteCheck.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import { CNavGroup, CNavItem, CNavTitle } from '@coreui/react' -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import { useSelector } from 'react-redux' - -export const useNavFavouriteCheck = (navigation) => { - const favourites = useSelector((state) => state.app.userSettingsDefaults?.favourites) - - if (Array.isArray(favourites)) { - const newNavigation = [ - { component: CNavTitle, name: 'Favourites' }, - { - component: CNavGroup, - section: 'favourites', - name: 'Favourites', - to: '/favorites', - icon: , - items: favourites.map((item) => { - console.log(item) - return { - name: item.value.name, - to: item.value.to, - component: CNavItem, - } - }), - }, - { component: CNavTitle, name: 'Dashboard' }, - ...navigation, - ] - return newNavigation - } - return navigation -} diff --git a/src/hooks/useRouteNavCompare.jsx b/src/hooks/useRouteNavCompare.jsx deleted file mode 100644 index aee23a37474d..000000000000 --- a/src/hooks/useRouteNavCompare.jsx +++ /dev/null @@ -1,33 +0,0 @@ -import { useLoadClientPrincipalQuery } from 'src/store/api/auth' -import { useDispatch } from 'react-redux' -import { updateAccessToken } from 'src/store/features/auth' -import routes from 'src/routes' - -export const useRouteNavCompare = (navigation) => { - const dispatch = useDispatch() - const { data: profile, isFetching } = useLoadClientPrincipalQuery() - if (isFetching) { - return { isLoading: true, component: null } - } - dispatch(updateAccessToken(profile)) - let roles = profile?.clientPrincipal?.userRoles || [] - let newNavigation = navigation.map((nav) => { - if (nav.items) { - nav.items = nav.items.filter((item) => { - const route = routes.find((r) => r.path === item.to) - if ( - !route || - (route.allowedRoles && route.allowedRoles.some((role) => roles.includes(role))) - ) { - return true - } else { - console.log('Removing route', item) - return false - } - }) - } - return nav - }) - - return newNavigation -} diff --git a/src/routes.js b/src/routes.js new file mode 100644 index 000000000000..794ebb4b4c4d --- /dev/null +++ b/src/routes.js @@ -0,0 +1,714 @@ +import React from 'react' +import MailTest from 'src/views/email-exchange/tools/MailTest' + +const Home = React.lazy(() => import('src/views/home/Home')) +const Logs = React.lazy(() => import('src/views/cipp/Logs')) +const Scheduler = React.lazy(() => import('src/views/cipp/Scheduler')) +const Statistics = React.lazy(() => import('src/views/cipp/Statistics')) +const Users = React.lazy(() => import('src/views/identity/administration/Users')) +const DeletedItems = React.lazy(() => import('src/views/identity/administration/Deleted')) +const ViewBEC = React.lazy(() => import('src/views/identity/administration/ViewBEC')) +const AddUser = React.lazy(() => import('src/views/identity/administration/AddUser')) +const AddUserBulk = React.lazy(() => import('src/views/identity/administration/AddUserBulk')) + +const InviteGuest = React.lazy(() => import('src/views/identity/administration/InviteGuest')) +const EditUser = React.lazy(() => import('src/views/identity/administration/EditUser')) +const ViewUser = React.lazy(() => import('src/views/identity/administration/ViewUser')) +const Groups = React.lazy(() => import('src/views/identity/administration/Groups')) +const AddGroup = React.lazy(() => import('src/views/identity/administration/AddGroup')) +const UserSettings = React.lazy(() => import('src/views/cipp/UserSettings')) + +const AddGroupTemplates = React.lazy(() => + import('src/views/identity/administration/AddGroupTemplate'), +) +const DeployGroupTemplates = React.lazy(() => + import('src/views/identity/administration/DeployGroupTemplate'), +) +const GeoIPLookup = React.lazy(() => import('src/views/tenant/administration/GeoIPLookup')) + +const TenantLookup = React.lazy(() => import('src/views/tenant/administration/TenantLookup')) + +const GroupTemplates = React.lazy(() => import('src/views/identity/administration/GroupTemplates')) + +const EditGroup = React.lazy(() => import('src/views/identity/administration/EditGroup')) +const ViewGroup = React.lazy(() => import('src/views/identity/administration/ViewGroup')) +const Roles = React.lazy(() => import('src/views/identity/administration/Roles')) +const Devices = React.lazy(() => import('src/views/endpoint/intune/Devices')) +const allDevices = React.lazy(() => import('src/views/identity/administration/Devices')) + +const PageLogOut = React.lazy(() => import('src/views/pages/LogoutRedirect/PageLogOut')) + +const Page404 = React.lazy(() => import('src/views/pages/page404/Page404')) +const Page403 = React.lazy(() => import('src/views/pages/page403/Page403')) +const Page500 = React.lazy(() => import('src/views/pages/page500/Page500')) + +const MFAReport = React.lazy(() => import('src/views/identity/reports/MFAReport')) +const Tenants = React.lazy(() => import('src/views/tenant/administration/Tenants')) +const AlertWizard = React.lazy(() => import('src/views/tenant/administration/AlertWizard')) +const AlertRules = React.lazy(() => import('src/views/tenant/administration/AlertRules')) + +const AlertsQueue = React.lazy(() => import('src/views/tenant/administration/ListAlertsQueue')) +const GraphExplorer = React.lazy(() => import('src/views/tenant/administration/GraphExplorer')) + +const Domains = React.lazy(() => import('src/views/tenant/administration/Domains')) +const EditTenant = React.lazy(() => import('src/views/tenant/administration/EditTenant')) +const ConditionalAccess = React.lazy(() => import('src/views/tenant/conditional/ConditionalAccess')) +const DeployVacationCA = React.lazy(() => import('src/views/tenant/conditional/DeployVacation')) +const NamedLocations = React.lazy(() => import('src/views/tenant/conditional/NamedLocations')) + +const ListConditionalTemplates = React.lazy(() => + import('src/views/tenant/conditional/ListCATemplates'), +) + +const DeployNamedLocation = React.lazy(() => + import('src/views/tenant/conditional/DeployNamedLocation'), +) +const AddConditionalTemplate = React.lazy(() => + import('src/views/tenant/conditional/AddCATemplate'), +) + +const DeployConditional = React.lazy(() => import('src/views/tenant/conditional/DeployCA')) + +const ListLicences = React.lazy(() => import('src/views/tenant/administration/ListLicences')) +const ListAppConsent = React.lazy(() => import('src/views/tenant/administration/ListOauthApps')) + +const InActiveUserReport = React.lazy(() => import('src/views/identity/reports/InactiveUsers')) +const SignInReport = React.lazy(() => import('src/views/identity/reports/SignIns')) + +const AzureADConnectReport = React.lazy(() => + import('src/views/identity/reports/AzureADConnectReport'), +) +const DeviceComplianceReport = React.lazy(() => + import('src/views/security/reports/ListDeviceComplianceReport'), +) +const BestPracticeAnalyzer = React.lazy(() => + import('src/views/tenant/standards/BestPracticeAnalyser'), +) +const BPAReportBuilder = React.lazy(() => import('src/views/tenant/standards/BPAReportBuilder')) +const DomainsAnalyser = React.lazy(() => import('src/views/tenant/standards/DomainsAnalyser')) +const OffboardingWizard = React.lazy(() => + import('src/views/identity/administration/OffboardingWizard'), +) +const ListAppliedStandards = React.lazy(() => + import('src/views/tenant/standards/ListAppliedStandards'), +) +const IndividualDomain = React.lazy(() => import('src/views/tenant/standards/IndividualDomain')) +const ListAlerts = React.lazy(() => import('src/views/security/incidents/ListAlerts')) +const ApplicationsList = React.lazy(() => + import('src/views/endpoint/applications/ApplicationsList'), +) +const ApplicationsQueue = React.lazy(() => + import('src/views/endpoint/applications/ListApplicationQueue'), +) +const ApplicationsAddChocoApp = React.lazy(() => + import('src/views/endpoint/applications/ApplicationsAddChocoApp'), +) +const ApplicationsAddWingetApp = React.lazy(() => + import('src/views/endpoint/applications/ApplicationsAddWinGet'), +) +const ApplicationsAddOfficeApp = React.lazy(() => + import('src/views/endpoint/applications/ApplicationsAddOffice'), +) +const ApplicationsAddRMMApp = React.lazy(() => + import('src/views/endpoint/applications/ApplicationsAddRMM'), +) +const AutopilotAddDevice = React.lazy(() => + import('src/views/endpoint/autopilot/AutopilotAddDevice'), +) +const AutopilotAddProfile = React.lazy(() => + import('src/views/endpoint/autopilot/AutopilotAddProfile'), +) +const AutopilotAddStatusPage = React.lazy(() => + import('src/views/endpoint/autopilot/AutopilotAddStatusPage'), +) +const AutopilotListDevices = React.lazy(() => + import('src/views/endpoint/autopilot/AutopilotListDevices'), +) +const AutopilotListProfiles = React.lazy(() => + import('src/views/endpoint/autopilot/AutopilotListProfiles'), +) +const AutopilotListStatusPages = React.lazy(() => + import('src/views/endpoint/autopilot/AutopilotListStatusPages'), +) +const IntuneListPolicies = React.lazy(() => import('src/views/endpoint/intune/MEMListPolicies')) +const IntuneListCompliance = React.lazy(() => import('src/views/endpoint/intune/MEMListCompliance')) + +const IntuneListAppProtection = React.lazy(() => + import('src/views/endpoint/intune/MEMListAppProtection'), +) + +const MEMEditPolicy = React.lazy(() => import('src/views/endpoint/intune/MEMEditPolicy')) + +const IntuneCAPolicies = React.lazy(() => import('src/views/endpoint/intune/MEMCAPolicies')) +const IntuneAddPolicy = React.lazy(() => import('src/views/endpoint/intune/MEMAddPolicy')) +const MEMAddPolicyTemplate = React.lazy(() => + import('src/views/endpoint/intune/MEMAddPolicyTemplate'), +) +const IntuneListPolicyTemplate = React.lazy(() => + import('src/views/endpoint/intune/MEMListPolicyTemplates'), +) +const ListDefender = React.lazy(() => import('src/views/security/defender/ListDefender')) +const ListVulnerabilities = React.lazy(() => import('src/views/security/defender/ListVuln')) + +const DeployDefender = React.lazy(() => import('src/views/security/defender/DeployDefender')) + +const OneDriveList = React.lazy(() => import('src/views/teams-share/onedrive/OneDriveList')) +const SharepointList = React.lazy(() => import('src/views/teams-share/sharepoint/SharepointList')) +const BusinessVoice = React.lazy(() => import('src/views/teams-share/teams/BusinessVoice')) +const TeamsListTeam = React.lazy(() => import('src/views/teams-share/teams/TeamsListTeam')) +const TeamsAddTeam = React.lazy(() => import('src/views/teams-share/teams/TeamsAddTeam')) +const ViewTeamsSettings = React.lazy(() => import('src/views/teams-share/teams/ViewTeamSettings')) +const TeamsActivity = React.lazy(() => import('src/views/teams-share/teams/TeamsActivity')) +const ContactsList = React.lazy(() => + import('src/views/email-exchange/administration/ContactsList'), +) +const EditContact = React.lazy(() => import('src/views/email-exchange/administration/EditContact')) +const EditMailboxPermissions = React.lazy(() => + import('src/views/email-exchange/administration/EditMailboxPermissions'), +) +const AddSharedMailbox = React.lazy(() => + import('src/views/email-exchange/administration/AddSharedMailbox'), +) +const AddContact = React.lazy(() => import('src/views/email-exchange/administration/AddContact')) +const EditCalendarPermissions = React.lazy(() => + import('src/views/email-exchange/administration/EditCalendarPermissions'), +) +const ViewMobileDevices = React.lazy(() => + import('src/views/email-exchange/administration/ViewMobileDevices'), +) +const MailboxesList = React.lazy(() => + import('src/views/email-exchange/administration/MailboxesList'), +) +const MailboxRulesList = React.lazy(() => + import('src/views/email-exchange/administration/MailboxRuleList'), +) +const QuarantineList = React.lazy(() => + import('src/views/email-exchange/administration/QuarantineList'), +) +const MailboxClientAccessSettingsList = React.lazy(() => + import('src/views/email-exchange/reports/MailboxClientAccessSettingsList'), +) +const MailboxStatisticsList = React.lazy(() => + import('src/views/email-exchange/reports/MailboxStatisticsList'), +) +const SharedMailboxEnabledAccount = React.lazy(() => + import('src/views/email-exchange/reports/SharedMailboxEnabledAccount'), +) +const MessageTrace = React.lazy(() => import('src/views/email-exchange/reports/MessageTrace')) +const PhishingPoliciesList = React.lazy(() => + import('src/views/email-exchange/reports/PhishingPoliciesList'), +) +const TransportRulesList = React.lazy(() => + import('src/views/email-exchange/transport/TransportRules'), +) +const TransportTemplate = React.lazy(() => + import('src/views/email-exchange/transport/ListTransportTemplates'), +) +const AddTransportTemplate = React.lazy(() => + import('src/views/email-exchange/transport/AddTransportTemplate'), +) +const TransportDeploy = React.lazy(() => + import('src/views/email-exchange/transport/DeployTransport'), +) +const SpamfilterList = React.lazy(() => import('src/views/email-exchange/spamfilter/Spamfilter')) +const SpamFilterTemplate = React.lazy(() => + import('src/views/email-exchange/spamfilter/ListSpamfilterTemplates'), +) +const AddSpamFilterTemplate = React.lazy(() => + import('src/views/email-exchange/spamfilter/AddSpamfilterTemplate'), +) +const SpamFilterDeploy = React.lazy(() => + import('src/views/email-exchange/spamfilter/DeploySpamfilter'), +) +const ConnectorList = React.lazy(() => import('src/views/email-exchange/connectors/ConnectorList')) +const ConnectorListTemplates = React.lazy(() => + import('src/views/email-exchange/connectors/ListConnectorTemplates'), +) +const DeployConnector = React.lazy(() => + import('src/views/email-exchange/connectors/DeployConnector'), +) +const AddConnectorTemplate = React.lazy(() => + import('src/views/email-exchange/connectors/AddConnectorTemplate'), +) + +const SecurityComplianceAlerts = React.lazy(() => import('src/views/security/incidents/ListAlerts')) +const SecurityComplianceIncidents = React.lazy(() => + import('src/views/security/incidents/ListIncidents'), +) +const License = React.lazy(() => import('src/views/pages/license/License')) +const ServiceHealth = React.lazy(() => import('src/views/tenant/administration/ServiceHealth')) + +const EnterpriseApplications = React.lazy(() => + import('src/views/tenant/administration/ListEnterpriseApps'), +) +const AppConsentRequests = React.lazy(() => + import('src/views/tenant/administration/ListAppConsentRequests'), +) +const MailboxRestoreWizard = React.lazy(() => + import('src/views/email-exchange/tools/MailboxRestoreWizard'), +) +const MailboxRestores = React.lazy(() => import('src/views/email-exchange/tools/MailboxRestores')) +const Mailtest = React.lazy(() => import('src/views/email-exchange/tools/MailTest')) + +const routes = [ + // { path: '/', exact: true, name: 'Home' }, + { path: '/home', name: 'Home', component: Home }, + { path: '/cipp/logs', name: 'Logs', component: Logs }, + { path: '/cipp/scheduler', name: 'Scheduler', component: Scheduler }, + { path: '/cipp/statistics', name: 'Statistics', component: Statistics }, + { path: '/cipp/404', name: 'Error', component: Page404 }, + { path: '/cipp/403', name: 'Error', component: Page403 }, + { path: '/cipp/500', name: 'Error', component: Page500 }, + { path: '/identity', name: 'Identity' }, + { path: '/identity/administration/users/add', name: 'Add User', component: AddUser }, + { + path: '/identity/administration/users/addbulk', + name: 'Add User Bulk', + component: AddUserBulk, + }, + + { path: '/identity/administration/users/edit', name: 'Edit User', component: EditUser }, + { path: '/identity/administration/users/view', name: 'View User', component: ViewUser }, + { + path: '/identity/administration/users/InviteGuest', + name: 'Invite Guest', + component: InviteGuest, + }, + { path: '/identity/administration/ViewBec', name: 'View BEC', component: ViewBEC }, + { path: '/identity/administration', name: 'Administration' }, + { path: '/identity/administration/users', name: 'Users', component: Users }, + { path: '/identity/administration/devices', name: 'Devices', component: allDevices }, + + { path: '/identity/administration/groups/add', name: 'Add Group', component: AddGroup }, + { + path: '/identity/administration/group-templates', + name: 'Group Templates', + component: GroupTemplates, + }, + { + path: '/identity/administration/group-add-template', + name: 'Add Group Template', + component: AddGroupTemplates, + }, + { + path: '/identity/administration/deploy-group-template', + name: 'Deploy Group Template', + component: DeployGroupTemplates, + }, + { path: '/identity/administration/groups/edit', name: 'Edit Group', component: EditGroup }, + { path: '/identity/administration/groups/view', name: 'View Group', component: ViewGroup }, + { path: '/identity/administration/groups', name: 'Groups', component: Groups }, + { path: '/identity/administration/roles', name: 'Roles', component: Roles }, + { + path: '/identity/administration/deleted-items', + name: 'Deleted Items', + component: DeletedItems, + }, + + { path: '/teams-share/teams/business-voice', name: 'BusinessVoice', component: BusinessVoice }, + { + path: '/identity/administration/offboarding-wizard', + name: 'Offboarding Wizard', + component: OffboardingWizard, + }, + { path: '/identity/reports', name: 'Reports' }, + { path: '/endpoint/reports/devices', name: 'Devices', component: Devices }, + { path: '/identity/reports/mfa-report', name: 'MFA Report', component: MFAReport }, + { + path: '/identity/reports/inactive-users-report', + name: 'Inactive Users Report', + component: InActiveUserReport, + }, + { + path: '/identity/reports/Signin-report', + name: 'Sign-In Report', + component: SignInReport, + }, + { + path: '/identity/reports/azure-ad-connect-report', + name: 'AAD Connect Report', + component: AzureADConnectReport, + }, + { path: '/tenant', name: 'Tenant' }, + { path: '/tenant/administration', name: 'Administration' }, + { path: '/tenant/administration/tenants', name: 'Tenants', component: Tenants }, + { path: '/tenant/administration/tenants/edit', name: 'Edit Tenant', component: EditTenant }, + { path: '/tenant/administration/domains', name: 'Domains', component: Domains }, + { path: '/tenant/administration/alertswizard', name: 'Alerts Wizard', component: AlertWizard }, + { path: '/tenant/administration/alertrules', name: 'Alerts Wizard', component: AlertRules }, + + { path: '/tenant/administration/alertsqueue', name: 'Alerts Queue', component: AlertsQueue }, + { + path: '/tenant/administration/graph-explorer', + name: 'Graph Explorer', + component: GraphExplorer, + }, + { + path: '/tenant/administration/service-health', + name: 'Service Health', + component: ServiceHealth, + }, + { + path: '/tenant/administration/enterprise-apps', + name: 'Enterprise Applications', + component: EnterpriseApplications, + }, + { + path: '/tenant/administration/app-consent-requests', + name: 'App Consent Requests', + component: AppConsentRequests, + }, + { + path: '/tenant/conditional/list-policies', + name: 'Conditional Access', + component: ConditionalAccess, + }, + { + path: '/tenant/conditional/deploy-vacation', + name: 'Deploy Vacation Mode', + component: DeployVacationCA, + }, + { + path: '/tenant/conditional/list-named-locations', + name: 'Named Locations', + component: NamedLocations, + }, + { + path: '/tenant/conditional/deploy', + name: 'Deploy Conditional Access', + component: DeployConditional, + }, + { + path: '/tenant/conditional/deploy-named-location', + name: 'Deploy Named Locations', + component: DeployNamedLocation, + }, + { + path: '/tenant/conditional/list-template', + name: 'Conditional Access Templates', + component: ListConditionalTemplates, + }, + { + path: '/tenant/conditional/add-template', + name: 'Conditional Access Add Template', + component: AddConditionalTemplate, + }, + { + path: '/tenant/administration/list-licenses', + name: 'List Licenses', + component: ListLicences, + }, + { + path: '/tenant/administration/application-consent', + name: 'Consented Applications', + component: ListAppConsent, + }, + { path: '/tenant/standards', name: 'Standards' }, + { + path: '/tenant/standards/list-applied-standards', + name: 'List Applied Standards', + component: ListAppliedStandards, + }, + { + path: '/tenant/standards/bpa-report', + name: 'Best Practice Report', + component: BestPracticeAnalyzer, + }, + { + path: '/tenant/standards/domains-analyser', + name: 'Domains Analyser', + component: DomainsAnalyser, + }, + { + path: '/tenant/standards/individual-domains', + name: 'Individual Domain Check', + component: IndividualDomain, + }, + { + path: '/tenant/administration/tenantlookup', + name: 'Tenant Lookup', + component: TenantLookup, + }, + { + path: '/tenant/tools/geoiplookup', + name: 'Geo IP Lookup', + component: GeoIPLookup, + }, + { + path: '/tenant/tools/bpa-report-builder', + name: 'BPA Report Builder', + component: BPAReportBuilder, + }, + { path: '/tenant/standards/alert-list', name: 'Alert List (Alpha)', component: ListAlerts }, + { path: '/endpoint', name: 'Endpoint' }, + { path: '/endpoint/applications', name: 'Applications' }, + { path: '/endpoint/applications/list', name: 'List Applications', component: ApplicationsList }, + { path: '/endpoint/applications/queue', name: 'Application Queue', component: ApplicationsQueue }, + + { + path: '/endpoint/applications/add-choco-app', + name: 'Add Choco App', + component: ApplicationsAddChocoApp, + }, + { + path: '/endpoint/applications/add-winget-app', + name: 'Add Store App', + component: ApplicationsAddWingetApp, + }, + { + path: '/endpoint/applications/add-office-app', + name: 'Add Office App', + component: ApplicationsAddOfficeApp, + }, + { + path: '/endpoint/applications/add-rmm-app', + name: 'Add RMM App', + component: ApplicationsAddRMMApp, + }, + { path: '/endpoint/autopilot', name: 'Autopilot' }, + { path: '/endpoint/autopilot/add-device', name: 'Add Device', component: AutopilotAddDevice }, + { path: '/endpoint/autopilot/add-profile', name: 'Add Profile', component: AutopilotAddProfile }, + { + path: '/endpoint/autopilot/add-status-page', + name: 'Add Status Page', + component: AutopilotAddStatusPage, + }, + { + path: '/endpoint/autopilot/list-devices', + name: 'List Devices', + component: AutopilotListDevices, + }, + { + path: '/endpoint/autopilot/list-profiles', + name: 'List Profiles', + component: AutopilotListProfiles, + }, + { + path: '/endpoint/autopilot/list-status-pages', + name: 'List Status Pages', + component: AutopilotListStatusPages, + }, + { path: '/endpoint/MEM', name: 'MEM' }, + { + path: '/endpoint/MEM/list-policies', + name: 'List Intune Policies', + component: IntuneListPolicies, + }, + { + path: '/endpoint/MEM/list-compliance-policies', + name: 'List Intune Compliance Policies', + component: IntuneListCompliance, + }, + { + path: '/endpoint/MEM/list-appprotection-policies', + name: 'List App Protection Policies', + component: IntuneListAppProtection, + }, + + { path: '/endpoint/MEM/edit-policy', name: 'Edit MEM Policy', component: MEMEditPolicy }, + { path: '/endpoint/MEM/ca-policies', name: 'List Status Pages', component: IntuneCAPolicies }, + { path: '/endpoint/MEM/add-policy', name: 'Add Intune Policy', component: IntuneAddPolicy }, + { + path: '/endpoint/MEM/add-policy-template', + name: 'Add Endpoint Manager Policy Template', + component: MEMAddPolicyTemplate, + }, + { + path: '/endpoint/MEM/list-templates', + name: 'List Intune Policy Template', + component: IntuneListPolicyTemplate, + }, + { path: '/security/defender', name: 'Defender' }, + { path: '/security/defender/deployment', name: 'Deploy Defender', component: DeployDefender }, + { path: '/security/defender/list-defender', name: 'List Defender', component: ListDefender }, + { + path: '/security/defender/list-defender-tvm', + name: 'List Vulnerabilities', + component: ListVulnerabilities, + }, + + { path: '/teams-share', name: 'Teams & SharePoint' }, + { path: '/teams-share/onedrive', name: 'OneDrive' }, + { path: '/teams-share/onedrive/list', name: 'List OneDrive', component: OneDriveList }, + { path: '/teams-share/sharepoint', name: 'SharePoint' }, + { + path: '/teams-share/sharepoint/list-sharepoint', + name: 'List SharePoint', + component: SharepointList, + }, + { path: '/teams-share/teams', name: 'Teams' }, + { path: '/teams-share/teams/list-team', name: 'List Teams', component: TeamsListTeam }, + { + path: '/teams-share/teams/view-team-settings', + name: 'View Team Settings', + component: ViewTeamsSettings, + }, + { path: '/teams-share/teams/add-team', name: 'Add Team', component: TeamsAddTeam }, + { path: '/teams-share/teams/teams-activity', name: 'Teams Activity', component: TeamsActivity }, + { name: 'Email & Exchange', path: '/email' }, + { name: 'Email Administration', path: '/email/administration' }, + { name: 'List Contacts', path: '/email/administration/contacts', component: ContactsList }, + { + path: '/email/connectors/list-connectors', + name: 'List Connectors', + component: ConnectorList, + }, + { + path: '/email/connectors/deploy-connector', + name: 'Deploy Connectors', + component: DeployConnector, + }, + { + path: '/email/connectors/add-connector-templates', + name: 'Add Connectors Templates', + component: AddConnectorTemplate, + }, + { + path: '/email/connectors/list-connector-templates', + name: 'List Connectors Templates', + component: ConnectorListTemplates, + }, + { + path: '/email/transport/list-rules', + name: 'List Transport Rules', + component: TransportRulesList, + }, + { + path: '/email/transport/deploy-rules', + name: 'Deploy Transport Rule', + component: TransportDeploy, + }, + { + path: '/email/transport/list-templates', + name: 'Transport Rule Templates', + component: TransportTemplate, + }, + { + path: '/email/transport/add-template', + name: 'Transport Rule Add Temmplate', + component: AddTransportTemplate, + }, + { + path: '/email/spamfilter/list-spamfilter', + name: 'List Spamfilter', + component: SpamfilterList, + }, + { + path: '/email/spamfilter/deploy', + name: 'Deploy Spamfilter', + component: SpamFilterDeploy, + }, + { + path: '/email/spamfilter/list-templates', + name: 'List Spamfilter Templates', + component: SpamFilterTemplate, + }, + { + path: '/email/tools/mailbox-restore-wizard', + name: 'Mailbox Restore Wizard', + component: MailboxRestoreWizard, + }, + { + path: '/email/tools/mailbox-restores', + name: 'Mailbox Restores', + component: MailboxRestores, + }, + { + path: '/email/tools/mail-test', + name: 'Mail Test', + component: MailTest, + }, + { + path: '/email/spamfilter/add-template', + name: 'Add Spamfilter Template', + component: AddSpamFilterTemplate, + }, + { + name: 'Edit Mailbox Permissions', + path: '/email/administration/edit-mailbox-permissions', + component: EditMailboxPermissions, + }, + { + name: 'Add Shared Mailbox', + path: '/email/administration/add-shared-mailbox', + component: AddSharedMailbox, + }, + { + name: 'Edit Contact', + path: '/email/administration/add-contact', + component: AddContact, + }, + { + name: 'Edit Calendar Permissions', + path: '/email/administration/edit-calendar-permissions', + component: EditCalendarPermissions, + }, + { + name: 'View Mobile Devices', + path: '/email/administration/view-mobile-devices', + component: ViewMobileDevices, + }, + { name: 'Edit Contact', path: '/email/administration/edit-contact', component: EditContact }, + { name: 'List Mailboxes', path: '/email/administration/mailboxes', component: MailboxesList }, + { + name: 'List Mailbox Rules', + path: '/email/administration/mailbox-rules', + component: MailboxRulesList, + }, + + { + name: 'List Quarantine', + path: '/email/administration/Quarantine', + component: QuarantineList, + }, + + { name: 'Email Reports', path: '/email/reports' }, + { + name: 'Mailbox Statistics', + path: '/email/reports/mailbox-statistics', + component: MailboxStatisticsList, + }, + { + name: 'Shared Mailbox Enabled Account', + path: '/email/reports/SharedMailboxEnabledAccount', + component: SharedMailboxEnabledAccount, + }, + { + name: 'Mailbox Client Access Settings', + path: '/email/reports/mailbox-cas-settings', + component: MailboxClientAccessSettingsList, + }, + { name: 'Message Trace', path: '/email/reports/message-trace', component: MessageTrace }, + { path: '/cipp/user-settings', name: 'User Settings', component: UserSettings }, + + { + name: 'Phishing Policies', + path: '/email/reports/phishing-policies', + component: PhishingPoliciesList, + }, + { name: 'Security & Compliance', path: '/security' }, + { name: 'Security Administration', path: '/security/administration' }, + { name: 'Security Reports', path: '/security/reports' }, + { + name: 'List Alerts', + path: '/security/incidents/list-alerts', + component: SecurityComplianceAlerts, + }, + { + name: 'List Incidents', + path: '/security/incidents/list-incidents', + component: SecurityComplianceIncidents, + }, + { + name: 'List Device Compliance Report', + path: '/security/reports/list-device-compliance', + component: DeviceComplianceReport, + }, + { + name: 'License', + path: '/license', + component: License, + }, +] + +export default routes diff --git a/src/routes.json b/src/routes.json deleted file mode 100644 index bdb96a077822..000000000000 --- a/src/routes.json +++ /dev/null @@ -1,921 +0,0 @@ -[ - { - "path": "/home", - "name": "Home", - "component": "views/home/Home", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/cipp/logs", - "name": "Logs", - "component": "views/cipp/Logs", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/cipp/scheduler", - "name": "Scheduler", - "component": "views/cipp/Scheduler", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/cipp/statistics", - "name": "Statistics", - "component": "views/cipp/Statistics", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/cipp/404", - "name": "Error", - "component": "views/pages/page404/Page404", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/cipp/403", - "name": "Error", - "component": "views/pages/page403/Page403", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/cipp/500", - "name": "Error", - "component": "views/pages/page500/Page500", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity", - "name": "Identity", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/users/add", - "name": "Add User", - "component": "views/identity/administration/AddUser", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/users/addbulk", - "name": "Add User Bulk", - "component": "views/identity/administration/AddUserBulk", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/users/edit", - "name": "Edit User", - "component": "views/identity/administration/EditUser", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/users/view", - "name": "View User", - "component": "views/identity/administration/ViewUser", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/users/InviteGuest", - "name": "Invite Guest", - "component": "views/identity/administration/InviteGuest", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/ViewBec", - "name": "View BEC", - "component": "views/identity/administration/ViewBEC", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration", - "name": "Administration", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/users", - "name": "Users", - "component": "views/identity/administration/Users", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/devices", - "name": "Devices", - "component": "views/identity/administration/Devices", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/groups/add", - "name": "Add Group", - "component": "views/identity/administration/AddGroup", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/group-templates", - "name": "Group Templates", - "component": "views/identity/administration/GroupTemplates", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/group-add-template", - "name": "Add Group Template", - "component": "views/identity/administration/AddGroupTemplate", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/deploy-group-template", - "name": "Deploy Group Template", - "component": "views/identity/administration/DeployGroupTemplate", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/groups/edit", - "name": "Edit Group", - "component": "views/identity/administration/EditGroup", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/groups/view", - "name": "View Group", - "component": "views/identity/administration/ViewGroup", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/groups", - "name": "Groups", - "component": "views/identity/administration/Groups", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/roles", - "name": "Roles", - "component": "views/identity/administration/Roles", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/deleted-items", - "name": "Deleted Items", - "component": "views/identity/administration/Deleted", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share/teams/business-voice", - "name": "BusinessVoice", - "component": "views/teams-share/teams/BusinessVoice", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/administration/offboarding-wizard", - "name": "Offboarding Wizard", - "component": "views/identity/administration/OffboardingWizard", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/reports", - "name": "Reports", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/reports/devices", - "name": "Devices", - "component": "views/endpoint/intune/Devices", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/reports/mfa-report", - "name": "MFA Report", - "component": "views/identity/reports/MFAReport", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/reports/inactive-users-report", - "name": "Inactive Users Report", - "component": "views/identity/reports/InactiveUsers", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/reports/Signin-report", - "name": "Sign-In Report", - "component": "views/identity/reports/SignIns", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/identity/reports/azure-ad-connect-report", - "name": "AAD Connect Report", - "component": "views/identity/reports/AzureADConnectReport", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant", - "name": "Tenant", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration", - "name": "Administration", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/tenants", - "name": "Tenants", - "component": "views/tenant/administration/Tenants", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/tenants/edit", - "name": "Edit Tenant", - "component": "views/tenant/administration/EditTenant", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/domains", - "name": "Domains", - "component": "views/tenant/administration/Domains", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/alertswizard", - "name": "Alerts Wizard", - "component": "views/tenant/administration/AlertWizard", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/alertrules", - "name": "Alerts Wizard", - "component": "views/tenant/administration/AlertRules", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/alertsqueue", - "name": "Alerts Queue", - "component": "views/tenant/administration/ListAlertsQueue", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/graph-explorer", - "name": "Graph Explorer", - "component": "views/tenant/administration/GraphExplorer", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/service-health", - "name": "Service Health", - "component": "views/tenant/administration/ServiceHealth", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/enterprise-apps", - "name": "Enterprise Applications", - "component": "views/tenant/administration/ListEnterpriseApps", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/app-consent-requests", - "name": "App Consent Requests", - "component": "views/tenant/administration/ListAppConsentRequests", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/conditional/list-policies", - "name": "Conditional Access", - "component": "views/tenant/conditional/ConditionalAccess", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/conditional/deploy-vacation", - "name": "Deploy Vacation Mode", - "component": "views/tenant/conditional/DeployVacation", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/conditional/list-named-locations", - "name": "Named Locations", - "component": "views/tenant/conditional/NamedLocations", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/conditional/deploy", - "name": "Deploy Conditional Access", - "component": "views/tenant/conditional/DeployCA", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/conditional/deploy-named-location", - "name": "Deploy Named Locations", - "component": "views/tenant/conditional/DeployNamedLocation", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/conditional/list-template", - "name": "Conditional Access Templates", - "component": "views/tenant/conditional/ListCATemplates", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/conditional/add-template", - "name": "Conditional Access Add Template", - "component": "views/tenant/conditional/AddCATemplate", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/list-licenses", - "name": "List Licenses", - "component": "views/tenant/administration/ListLicences", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/application-consent", - "name": "Consented Applications", - "component": "views/tenant/administration/ListOauthApps", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/standards", - "name": "Standards", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/standards/list-applied-standards", - "name": "List Applied Standards", - "component": "views/tenant/standards/ListAppliedStandards", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/standards/bpa-report", - "name": "Best Practice Report", - "component": "views/tenant/standards/BestPracticeAnalyser", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/standards/domains-analyser", - "name": "Domains Analyser", - "component": "views/tenant/standards/DomainsAnalyser", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/standards/individual-domains", - "name": "Individual Domain Check", - "component": "views/tenant/standards/IndividualDomain", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/administration/tenantlookup", - "name": "Tenant Lookup", - "component": "views/tenant/administration/TenantLookup", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/tools/geoiplookup", - "name": "Geo IP Lookup", - "component": "views/tenant/administration/GeoIPLookup", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/tools/bpa-report-builder", - "name": "BPA Report Builder", - "component": "views/tenant/standards/BPAReportBuilder", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/tenant/standards/alert-list", - "name": "Alert List (Alpha)", - "component": "views/security/incidents/ListAlerts", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint", - "name": "Endpoint", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/applications", - "name": "Applications", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/applications/list", - "name": "List Applications", - "component": "views/endpoint/applications/ApplicationsList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/applications/queue", - "name": "Application Queue", - "component": "views/endpoint/applications/ListApplicationQueue", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/applications/add-choco-app", - "name": "Add Choco App", - "component": "views/endpoint/applications/ApplicationsAddChocoApp", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/applications/add-winget-app", - "name": "Add Store App", - "component": "views/endpoint/applications/ApplicationsAddWinGet", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/applications/add-office-app", - "name": "Add Office App", - "component": "views/endpoint/applications/ApplicationsAddOffice", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/applications/add-rmm-app", - "name": "Add RMM App", - "component": "views/endpoint/applications/ApplicationsAddRMM", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/autopilot", - "name": "Autopilot", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/autopilot/add-device", - "name": "Add Device", - "component": "views/endpoint/autopilot/AutopilotAddDevice", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/autopilot/add-profile", - "name": "Add Profile", - "component": "views/endpoint/autopilot/AutopilotAddProfile", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/autopilot/add-status-page", - "name": "Add Status Page", - "component": "views/endpoint/autopilot/AutopilotAddStatusPage", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/autopilot/list-devices", - "name": "List Devices", - "component": "views/endpoint/autopilot/AutopilotListDevices", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/autopilot/list-profiles", - "name": "List Profiles", - "component": "views/endpoint/autopilot/AutopilotListProfiles", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/autopilot/list-status-pages", - "name": "List Status Pages", - "component": "views/endpoint/autopilot/AutopilotListStatusPages", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/MEM", - "name": "MEM", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/MEM/list-policies", - "name": "List Intune Policies", - "component": "views/endpoint/intune/MEMListPolicies", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/MEM/list-compliance-policies", - "name": "List Intune Compliance Policies", - "component": "views/endpoint/intune/MEMListCompliance", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/MEM/list-appprotection-policies", - "name": "List App Protection Policies", - "component": "views/endpoint/intune/MEMListAppProtection", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/MEM/edit-policy", - "name": "Edit MEM Policy", - "component": "views/endpoint/intune/MEMEditPolicy", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/MEM/ca-policies", - "name": "List Status Pages", - "component": "views/endpoint/intune/MEMCAPolicies", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/MEM/add-policy", - "name": "Add Intune Policy", - "component": "views/endpoint/intune/MEMAddPolicy", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/MEM/add-policy-template", - "name": "Add Endpoint Manager Policy Template", - "component": "views/endpoint/intune/MEMAddPolicyTemplate", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/endpoint/MEM/list-templates", - "name": "List Intune Policy Template", - "component": "views/endpoint/intune/MEMListPolicyTemplates", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/security/defender", - "name": "Defender", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/security/defender/deployment", - "name": "Deploy Defender", - "component": "views/security/defender/DeployDefender", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/security/defender/list-defender", - "name": "List Defender", - "component": "views/security/defender/ListDefender", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/security/defender/list-defender-tvm", - "name": "List Vulnerabilities", - "component": "views/security/defender/ListVuln", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share", - "name": "Teams & SharePoint", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share/onedrive", - "name": "OneDrive", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share/onedrive/list", - "name": "List OneDrive", - "component": "views/teams-share/onedrive/OneDriveList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share/sharepoint", - "name": "SharePoint", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share/sharepoint/list-sharepoint", - "name": "List SharePoint", - "component": "views/teams-share/sharepoint/SharepointList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share/teams", - "name": "Teams", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share/teams/list-team", - "name": "List Teams", - "component": "views/teams-share/teams/TeamsListTeam", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share/teams/view-team-settings", - "name": "View Team Settings", - "component": "views/teams-share/teams/ViewTeamSettings", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share/teams/add-team", - "name": "Add Team", - "component": "views/teams-share/teams/TeamsAddTeam", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/teams-share/teams/teams-activity", - "name": "Teams Activity", - "component": "views/teams-share/teams/TeamsActivity", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Email & Exchange", - "path": "/email", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Email Administration", - "path": "/email/administration", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "List Contacts", - "path": "/email/administration/contacts", - "component": "views/email-exchange/administration/ContactsList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/connectors/list-connectors", - "name": "List Connectors", - "component": "views/email-exchange/connectors/ConnectorList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/connectors/deploy-connector", - "name": "Deploy Connectors", - "component": "views/email-exchange/connectors/DeployConnector", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/connectors/add-connector-templates", - "name": "Add Connectors Templates", - "component": "views/email-exchange/connectors/AddConnectorTemplate", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/connectors/list-connector-templates", - "name": "List Connectors Templates", - "component": "views/email-exchange/connectors/ListConnectorTemplates", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/transport/list-rules", - "name": "List Transport Rules", - "component": "views/email-exchange/transport/TransportRules", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/transport/deploy-rules", - "name": "Deploy Transport Rule", - "component": "views/email-exchange/transport/DeployTransport", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/transport/list-templates", - "name": "Transport Rule Templates", - "component": "views/email-exchange/transport/ListTransportTemplates", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/transport/add-template", - "name": "Transport Rule Add Temmplate", - "component": "views/email-exchange/transport/AddTransportTemplate", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/spamfilter/list-spamfilter", - "name": "List Spamfilter", - "component": "views/email-exchange/spamfilter/Spamfilter", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/spamfilter/deploy", - "name": "Deploy Spamfilter", - "component": "views/email-exchange/spamfilter/DeploySpamfilter", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/spamfilter/list-templates", - "name": "List Spamfilter Templates", - "component": "views/email-exchange/spamfilter/ListSpamfilterTemplates", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/tools/mailbox-restore-wizard", - "name": "Mailbox Restore Wizard", - "component": "views/email-exchange/tools/MailboxRestoreWizard", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/tools/mailbox-restores", - "name": "Mailbox Restores", - "component": "views/email-exchange/tools/MailboxRestores", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/tools/mail-test", - "name": "Mail Test", - "component": "views/email-exchange/tools/MailTest", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/email/spamfilter/add-template", - "name": "Add Spamfilter Template", - "component": "views/email-exchange/spamfilter/AddSpamfilterTemplate", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Edit Mailbox Permissions", - "path": "/email/administration/edit-mailbox-permissions", - "component": "views/email-exchange/administration/EditMailboxPermissions", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Add Shared Mailbox", - "path": "/email/administration/add-shared-mailbox", - "component": "views/email-exchange/administration/AddSharedMailbox", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Edit Contact", - "path": "/email/administration/add-contact", - "component": "views/email-exchange/administration/AddContact", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Edit Calendar Permissions", - "path": "/email/administration/edit-calendar-permissions", - "component": "views/email-exchange/administration/EditCalendarPermissions", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "View Mobile Devices", - "path": "/email/administration/view-mobile-devices", - "component": "views/email-exchange/administration/ViewMobileDevices", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Edit Contact", - "path": "/email/administration/edit-contact", - "component": "views/email-exchange/administration/EditContact", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "List Mailboxes", - "path": "/email/administration/mailboxes", - "component": "views/email-exchange/administration/MailboxesList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "List Mailbox Rules", - "path": "/email/administration/mailbox-rules", - "component": "views/email-exchange/administration/MailboxRuleList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "List Quarantine", - "path": "/email/administration/Quarantine", - "component": "views/email-exchange/administration/QuarantineList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Email Reports", - "path": "/email/reports", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Mailbox Statistics", - "path": "/email/reports/mailbox-statistics", - "component": "views/email-exchange/reports/MailboxStatisticsList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Shared Mailbox Enabled Account", - "path": "/email/reports/SharedMailboxEnabledAccount", - "component": "views/email-exchange/reports/SharedMailboxEnabledAccount", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Mailbox Client Access Settings", - "path": "/email/reports/mailbox-cas-settings", - "component": "views/email-exchange/reports/MailboxClientAccessSettingsList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Message Trace", - "path": "/email/reports/message-trace", - "component": "views/email-exchange/reports/MessageTrace", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/cipp/user-settings", - "name": "User Settings", - "component": "views/cipp/UserSettings", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Phishing Policies", - "path": "/email/reports/phishing-policies", - "component": "views/email-exchange/reports/PhishingPoliciesList", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Security & Compliance", - "path": "/security", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Security Administration", - "path": "/security/administration", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "Security Reports", - "path": "/security/reports", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "List Alerts", - "path": "/security/incidents/list-alerts", - "component": "views/security/incidents/ListAlerts", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "List Incidents", - "path": "/security/incidents/list-incidents", - "component": "views/security/incidents/ListIncidents", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "List Device Compliance Report", - "path": "/security/reports/list-device-compliance", - "component": "views/security/reports/ListDeviceComplianceReport", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "name": "License", - "path": "/license", - "component": "views/pages/license/License", - "allowedRoles": ["admin", "editor", "readonly"] - }, - { - "path": "/cipp", - "name": "CIPP", - "allowedRoles": ["admin"] - }, - { - "path": "/cipp/cipp", - "name": "CIPP", - "allowedRoles": ["admin"] - }, - { - "path": "/cipp/settings", - "name": "Settings", - "component": "views/cipp/app-settings/CIPPSettings", - "allowedRoles": ["admin"] - }, - { - "path": "/cipp/setup", - "name": "Setup", - "component": "views/cipp/Setup", - "allowedRoles": ["admin"] - }, - { - "path": "/tenant/administration/gdap", - "name": "GDAP Wizard", - "component": "views/tenant/administration/GDAPWizard", - "allowedRoles": ["admin"] - }, - { - "path": "/tenant/administration/gdap-invite", - "name": "GDAP Invite Wizard", - "component": "views/tenant/administration/GDAPInviteWizard", - "allowedRoles": ["admin"] - }, - { - "path": "/tenant/administration/gdap-role-wizard", - "name": "GDAP Role Wizard", - "component": "views/tenant/administration/GDAPRoleWizard", - "allowedRoles": ["admin"] - }, - { - "path": "/tenant/administration/gdap-roles", - "name": "GDAP Roles", - "component": "views/tenant/administration/ListGDAPRoles", - "allowedRoles": ["admin"] - }, - { - "path": "/tenant/administration/gdap-relationships", - "name": "GDAP Relationships", - "component": "./views/tenant/administration/ListGDAPRelationships", - "allowedRoles": ["admin"] - }, - { - "path": "/tenant/administration/appapproval", - "name": "App Approval", - "component": "views/cipp/AppApproval", - "allowedRoles": ["admin"] - }, - { - "path": "/tenant/administration/gdap-status", - "name": "GDAP Status", - "component": "views/tenant/administration/ListGDAPQueue", - "allowedRoles": ["admin"] - }, - { - "path": "/tenant/standards/list-standards", - "name": "List Standard", - "component": "views/tenant/standards/ListStandards", - "allowedRoles": ["admin"] - }, - { - "path": "/tenant/administration/tenant-offboarding-wizard", - "name": "Tenant Offboarding", - "component": "views/tenant/administration/TenantOffboardingWizard", - "allowedRoles": ["admin"] - }, - { - "path": "/tenant/administration/tenant-onboarding-wizard", - "name": "Tenant Onboarding", - "component": "views/tenant/administration/TenantOnboardingWizard", - "allowedRoles": ["admin"] - } -] diff --git a/src/views/cipp/UserSettings.jsx b/src/views/cipp/UserSettings.jsx index 21ab0182287c..953d94df0d7c 100644 --- a/src/views/cipp/UserSettings.jsx +++ b/src/views/cipp/UserSettings.jsx @@ -14,9 +14,9 @@ import { import { useDispatch, useSelector } from 'react-redux' import { Form } from 'react-final-form' import { RFFCFormSwitch, RFFSelectSearch } from 'src/components/forms' -import _nav from 'src/_nav' import { useGenericGetRequestQuery, useLazyGenericPostRequestQuery } from 'src/store/api/app' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import 'react-datepicker/dist/react-datepicker.css' import TenantListSelector from 'src/components/utilities/TenantListSelector' @@ -204,34 +204,26 @@ const UserSettings = () => { isLoading={availableProperties.isFetching} /> - - -

    Favourite Menu Items

    -
    - acc.concat(val.items), []) - .map( - (item) => ( - console.log(item), - { - name: item?.name, - value: { to: item?.to, name: item?.name }, - } - ), - )} - allowCreate={false} - refreshFunction={() => - setRandom3((Math.random() + 1).toString(36).substring(7)) - } - isLoading={availableProperties.isFetching} - /> -
    + + + {addedAttributes > 0 && ( + setAddedAttribute(addedAttributes - 1)} + className={`circular-button`} + title={'-'} + > + + + )} + setAddedAttribute(addedAttributes + 1)} + className={`circular-button`} + title={'+'} + > + + + +
    diff --git a/src/views/email-exchange/tools/MailTest.jsx b/src/views/email-exchange/tools/MailTest.jsx index 633d351fd489..d433e658dba3 100644 --- a/src/views/email-exchange/tools/MailTest.jsx +++ b/src/views/email-exchange/tools/MailTest.jsx @@ -40,22 +40,22 @@ const MailTest = () => { }, { name: 'SPF', - selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'spf')[0]?.Status == 'pass', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'spf')[0].Status == 'pass', cell: cellBooleanFormatter(), }, { name: 'DKIM', - selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'dkim')[0]?.Status == 'pass', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'dkim')[0].Status == 'pass', cell: cellBooleanFormatter(), }, { name: 'DMARC', - selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'dmarc')[0]?.Status == 'pass', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'dmarc')[0].Status == 'pass', cell: cellBooleanFormatter(), }, { name: 'Comp Auth', - selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'compauth')[0]?.Status == 'pass', + selector: (row) => row?.AuthResult.filter((x) => x?.Name === 'compauth')[0].Status == 'pass', cell: cellBooleanFormatter(), }, { diff --git a/src/views/tenant/conditional/NamedLocations.jsx b/src/views/tenant/conditional/NamedLocations.jsx index 93679c0751b9..b7f1ebb0f68c 100644 --- a/src/views/tenant/conditional/NamedLocations.jsx +++ b/src/views/tenant/conditional/NamedLocations.jsx @@ -58,6 +58,7 @@ const columns = [ name: 'Last Modified (Local)', selector: (row) => DateNotNull(row['modifiedDateTime']), sortable: true, + cell: cellDateFormatter(), exportSelector: 'modifiedDateTime', maxWidth: '150px', }, diff --git a/src/views/tenant/standards/ListAppliedStandards.jsx b/src/views/tenant/standards/ListAppliedStandards.jsx index 5d681c58d142..ba5c10a14601 100644 --- a/src/views/tenant/standards/ListAppliedStandards.jsx +++ b/src/views/tenant/standards/ListAppliedStandards.jsx @@ -491,7 +491,6 @@ const ApplyNewStandard = () => { className="mb-3" name={component.name} label={component.label} - defaultValue={component.default} /> )} {component.type === 'boolean' && ( diff --git a/version_latest.txt b/version_latest.txt index ade65226e0aa..8a30e8f94a39 100644 --- a/version_latest.txt +++ b/version_latest.txt @@ -1 +1 @@ -5.4.1 +5.4.0 From 57d0bf6b1ad3ba9fd73de93d7ab51b478f94961f Mon Sep 17 00:00:00 2001 From: John Duprey Date: Wed, 3 Apr 2024 15:09:01 -0400 Subject: [PATCH 40/40] up version --- package-lock.json | 4 ++-- package.json | 2 +- public/version_latest.txt | 2 +- version_latest.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 99f82d32aada..2aa77725f1a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cipp", - "version": "5.3.2", + "version": "5.4.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cipp", - "version": "5.3.2", + "version": "5.4.2", "license": "AGPL-3.0", "dependencies": { "@coreui/chartjs": "^3.0.0", diff --git a/package.json b/package.json index 9e73b8d43a81..97468afd515b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cipp", - "version": "5.4.0", + "version": "5.4.2", "description": "The CyberDrain Improved Partner Portal is a portal to help manage administration for Microsoft Partners.", "homepage": "https://cipp.app/", "bugs": { diff --git a/public/version_latest.txt b/public/version_latest.txt index 8a30e8f94a39..8ae03c11904c 100644 --- a/public/version_latest.txt +++ b/public/version_latest.txt @@ -1 +1 @@ -5.4.0 +5.4.2 diff --git a/version_latest.txt b/version_latest.txt index 8a30e8f94a39..8ae03c11904c 100644 --- a/version_latest.txt +++ b/version_latest.txt @@ -1 +1 @@ -5.4.0 +5.4.2