@pnp/cli-microsoft365 7.5.0-beta.494c631 → 7.5.0-beta.c0c1edf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.devcontainer/Dockerfile +2 -2
- package/.eslintrc.cjs +6 -2
- package/.mocharc.json +3 -5
- package/Dockerfile +2 -5
- package/README.md +2 -2
- package/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/Command.js +1 -1
- package/dist/m365/app/commands/app-get.js +2 -2
- package/dist/m365/base/AppCommand.js +2 -2
- package/dist/m365/base/{YammerCommand.js → VivaEngageCommand.js} +2 -2
- package/dist/m365/cli/commands/cli-consent.js +5 -3
- package/dist/m365/entra/aadCommands.js +3 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-get.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-add.js +8 -8
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-get.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-list.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-remove.js +153 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-remove.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-roleassignment-add.js +4 -4
- package/dist/m365/entra/commands/app/app-add.js +1 -1
- package/dist/m365/entra/commands/app/app-get.js +1 -1
- package/dist/m365/entra/commands/app/app-list.js +1 -1
- package/dist/m365/entra/commands/app/app-permission-add.js +4 -8
- package/dist/m365/entra/commands/app/app-permission-list.js +182 -0
- package/dist/m365/entra/commands/app/app-remove.js +1 -1
- package/dist/m365/entra/commands/app/app-role-add.js +1 -1
- package/dist/m365/entra/commands/app/app-role-list.js +1 -1
- package/dist/m365/entra/commands/app/app-role-remove.js +1 -1
- package/dist/m365/entra/commands/app/app-set.js +1 -1
- package/dist/m365/entra/commands/{sp/sp-add.js → enterpriseapp/enterpriseapp-add.js} +18 -18
- package/dist/m365/entra/commands/{sp/sp-get.js → enterpriseapp/enterpriseapp-get.js} +19 -19
- package/dist/m365/entra/commands/{sp/sp-list.js → enterpriseapp/enterpriseapp-list.js} +13 -13
- package/dist/m365/entra/commands/group/group-add.js +224 -0
- package/dist/m365/entra/commands/group/group-get.js +3 -3
- package/dist/m365/entra/commands/group/group-remove.js +2 -2
- package/dist/m365/entra/commands/group/group-user-add.js +145 -0
- package/dist/m365/entra/commands/group/group-user-list.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +3 -3
- package/dist/m365/entra/commands/m365group/m365group-get.js +3 -3
- package/dist/m365/entra/commands/m365group/m365group-remove.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-renew.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-report-activitygroupcounts.js +1 -1
- package/dist/m365/entra/commands/m365group/m365group-set.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-teamify.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-user-add.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-user-list.js +3 -3
- package/dist/m365/entra/commands/m365group/m365group-user-remove.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-user-set.js +2 -2
- package/dist/m365/entra/commands/user/user-get.js +38 -38
- package/dist/m365/entra/commands/user/user-registrationdetails-list.js +224 -0
- package/dist/m365/entra/commands.js +17 -0
- package/dist/m365/external/commands/connection/connection-doctor.js +2 -1
- package/dist/m365/file/commands/file-copy.js +151 -0
- package/dist/m365/file/commands.js +1 -0
- package/dist/m365/flow/commands/owner/owner-ensure.js +4 -4
- package/dist/m365/flow/commands/owner/owner-remove.js +4 -4
- package/dist/m365/onenote/commands/notebook/notebook-list.js +2 -2
- package/dist/m365/onenote/commands/page/page-list.js +2 -2
- package/dist/m365/pa/commands/app/app-owner-set.js +2 -2
- package/dist/m365/pa/commands/app/app-permission-ensure.js +4 -4
- package/dist/m365/pa/commands/app/app-permission-remove.js +4 -4
- package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-get.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-list.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-remove.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-set.js +2 -2
- package/dist/m365/planner/commands/plan/plan-add.js +2 -2
- package/dist/m365/planner/commands/plan/plan-get.js +2 -2
- package/dist/m365/planner/commands/plan/plan-list.js +2 -2
- package/dist/m365/planner/commands/plan/plan-remove.js +2 -2
- package/dist/m365/planner/commands/plan/plan-set.js +2 -2
- package/dist/m365/planner/commands/roster/roster-member-add.js +2 -2
- package/dist/m365/planner/commands/roster/roster-member-get.js +2 -2
- package/dist/m365/planner/commands/roster/roster-member-remove.js +2 -2
- package/dist/m365/planner/commands/task/task-add.js +2 -2
- package/dist/m365/planner/commands/task/task-get.js +2 -2
- package/dist/m365/planner/commands/task/task-list.js +2 -2
- package/dist/m365/planner/commands/task/task-remove.js +2 -2
- package/dist/m365/planner/commands/task/task-set.js +2 -2
- package/dist/m365/spfx/commands/project/DeployWorkflow.js +4 -3
- package/dist/m365/spfx/commands/project/project-github-workflow-add.js +1 -1
- package/dist/m365/spo/commands/group/group-member-add.js +4 -4
- package/dist/m365/spo/commands/group/group-member-remove.js +2 -2
- package/dist/m365/spo/commands/group/group-set.js +2 -2
- package/dist/m365/spo/commands/site/site-remove.js +2 -2
- package/dist/m365/spo/commands/site/site-set.js +2 -2
- package/dist/m365/spo/commands/spo-search.js +52 -22
- package/dist/m365/spo/commands/user/user-ensure.js +2 -2
- package/dist/m365/teams/commands/app/app-install.js +2 -2
- package/dist/m365/teams/commands/channel/channel-get.js +2 -2
- package/dist/m365/teams/commands/channel/channel-list.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-add.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-list.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-remove.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-set.js +2 -2
- package/dist/m365/teams/commands/channel/channel-remove.js +2 -2
- package/dist/m365/teams/commands/channel/channel-set.js +2 -2
- package/dist/m365/teams/commands/meeting/meeting-add.js +2 -2
- package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +2 -2
- package/dist/m365/teams/commands/meeting/meeting-get.js +3 -3
- package/dist/m365/teams/commands/meeting/meeting-list.js +2 -2
- package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +2 -2
- package/dist/m365/teams/commands/tab/tab-get.js +2 -2
- package/dist/m365/teams/commands/team/team-add.js +6 -6
- package/dist/m365/teams/commands/team/team-archive.js +2 -2
- package/dist/m365/teams/commands/team/team-get.js +2 -2
- package/dist/m365/teams/commands/team/team-remove.js +2 -2
- package/dist/m365/teams/commands/team/team-unarchive.js +2 -2
- package/dist/m365/{yammer/commands/group/group-list.js → viva/commands/engage/engage-group-list.js} +19 -14
- package/dist/m365/{yammer/commands/group/group-user-add.js → viva/commands/engage/engage-group-user-add.js} +19 -14
- package/dist/m365/{yammer/commands/group/group-user-remove.js → viva/commands/engage/engage-group-user-remove.js} +19 -14
- package/dist/m365/{yammer/commands/message/message-add.js → viva/commands/engage/engage-message-add.js} +19 -14
- package/dist/m365/{yammer/commands/message/message-get.js → viva/commands/engage/engage-message-get.js} +17 -12
- package/dist/m365/{yammer/commands/message/message-like-set.js → viva/commands/engage/engage-message-like-set.js} +21 -16
- package/dist/m365/{yammer/commands/message/message-list.js → viva/commands/engage/engage-message-list.js} +21 -16
- package/dist/m365/{yammer/commands/message/message-remove.js → viva/commands/engage/engage-message-remove.js} +20 -15
- package/dist/m365/{yammer/commands/network/network-list.js → viva/commands/engage/engage-network-list.js} +16 -11
- package/dist/m365/viva/commands/engage/engage-report-activitycounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-activityusercounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-activityuserdetail.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-deviceusagedistributionusercounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-deviceusageusercounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-deviceusageuserdetail.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitycounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitydetail.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitygroupcounts.js +23 -0
- package/dist/m365/{yammer/commands/yammer-search.js → viva/commands/engage/engage-search.js} +23 -18
- package/dist/m365/{yammer/commands/user/user-get.js → viva/commands/engage/engage-user-get.js} +18 -13
- package/dist/m365/{yammer/commands/user/user-list.js → viva/commands/engage/engage-user-list.js} +18 -13
- package/dist/m365/{yammer/commands.js → viva/commands/engage/yammerCommands.js} +1 -1
- package/dist/m365/viva/commands.js +22 -1
- package/dist/utils/{aadAdministrativeUnit.js → entraAdministrativeUnit.js} +2 -2
- package/dist/utils/{aadDevice.js → entraDevice.js} +2 -2
- package/dist/utils/{aadGroup.js → entraGroup.js} +2 -2
- package/dist/utils/{aadUser.js → entraUser.js} +38 -2
- package/dist/utils/spo.js +24 -2
- package/dist/utils/urlUtil.js +31 -0
- package/dist/utils/validation.js +8 -0
- package/docs/docs/cmd/cli/cli-consent.mdx +9 -9
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-add.mdx +5 -3
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-remove.mdx +107 -0
- package/docs/docs/cmd/entra/app/app-add.mdx +2 -1
- package/docs/docs/cmd/entra/app/app-get.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-list.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-permission-add.mdx +3 -2
- package/docs/docs/cmd/entra/app/app-permission-list.mdx +105 -0
- package/docs/docs/cmd/entra/app/app-remove.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-role-add.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-role-list.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-role-remove.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-set.mdx +1 -0
- package/docs/docs/cmd/entra/{sp/sp-add.mdx → enterpriseapp/enterpriseapp-add.mdx} +16 -15
- package/docs/docs/cmd/entra/{sp/sp-get.mdx → enterpriseapp/enterpriseapp-get.mdx} +15 -14
- package/docs/docs/cmd/entra/{sp/sp-list.mdx → enterpriseapp/enterpriseapp-list.mdx} +22 -21
- package/docs/docs/cmd/entra/group/group-add.mdx +231 -0
- package/docs/docs/cmd/entra/group/group-user-add.mdx +62 -0
- package/docs/docs/cmd/entra/m365group/m365group-report-activitygroupcounts.mdx +1 -1
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-add.mdx +3 -3
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-list.mdx +1 -1
- package/docs/docs/cmd/entra/user/user-registrationdetails-list.mdx +246 -0
- package/docs/docs/cmd/external/item/item-add.mdx +1 -1
- package/docs/docs/cmd/file/convert/convert-pdf.mdx +4 -0
- package/docs/docs/cmd/file/file-add.mdx +4 -0
- package/docs/docs/cmd/file/file-copy.mdx +68 -0
- package/docs/docs/cmd/file/file-list.mdx +100 -0
- package/docs/docs/cmd/setup.mdx +4 -0
- package/docs/docs/cmd/spo/list/list-webhook-set.mdx +1 -1
- package/docs/docs/cmd/spo/listitem/listitem-list.mdx +1 -1
- package/docs/docs/cmd/spo/spo-search.mdx +6 -2
- package/docs/docs/cmd/spo/theme/theme-set.mdx +14 -2
- package/docs/docs/cmd/{yammer/group/group-list.mdx → viva/engage/engage-group-list.mdx} +13 -13
- package/docs/docs/cmd/{yammer/group/group-user-add.mdx → viva/engage/engage-group-user-add.mdx} +7 -7
- package/docs/docs/cmd/{yammer/group/group-user-remove.mdx → viva/engage/engage-group-user-remove.mdx} +10 -10
- package/docs/docs/cmd/{yammer/message/message-add.mdx → viva/engage/engage-message-add.mdx} +12 -13
- package/docs/docs/cmd/{yammer/message/message-get.mdx → viva/engage/engage-message-get.mdx} +10 -10
- package/docs/docs/cmd/{yammer/message/message-like-set.mdx → viva/engage/engage-message-like-set.mdx} +10 -10
- package/docs/docs/cmd/{yammer/message/message-list.mdx → viva/engage/engage-message-list.mdx} +21 -21
- package/docs/docs/cmd/{yammer/message/message-remove.mdx → viva/engage/engage-message-remove.mdx} +10 -10
- package/docs/docs/cmd/{yammer/network/network-list.mdx → viva/engage/engage-network-list.mdx} +6 -6
- package/docs/docs/cmd/{yammer/report/report-activitycounts.mdx → viva/engage/engage-report-activitycounts.mdx} +9 -9
- package/docs/docs/cmd/{yammer/report/report-activityusercounts.mdx → viva/engage/engage-report-activityusercounts.mdx} +9 -9
- package/docs/docs/cmd/{yammer/report/report-activityuserdetail.mdx → viva/engage/engage-report-activityuserdetail.mdx} +11 -12
- package/docs/docs/cmd/{yammer/report/report-deviceusagedistributionusercounts.mdx → viva/engage/engage-report-deviceusagedistributionusercounts.mdx} +5 -5
- package/docs/docs/cmd/{yammer/report/report-deviceusageusercounts.mdx → viva/engage/engage-report-deviceusageusercounts.mdx} +5 -5
- package/docs/docs/cmd/{yammer/report/report-deviceusageuserdetail.mdx → viva/engage/engage-report-deviceusageuserdetail.mdx} +11 -11
- package/docs/docs/cmd/{yammer/report/report-groupsactivitycounts.mdx → viva/engage/engage-report-groupsactivitycounts.mdx} +9 -9
- package/docs/docs/cmd/{yammer/report/report-groupsactivitydetail.mdx → viva/engage/engage-report-groupsactivitydetail.mdx} +11 -11
- package/docs/docs/cmd/{yammer/report/report-groupsactivitygroupcounts.mdx → viva/engage/engage-report-groupsactivitygroupcounts.mdx} +5 -5
- package/docs/docs/cmd/{yammer/yammer-search.mdx → viva/engage/engage-search.mdx} +10 -10
- package/docs/docs/cmd/{yammer/user/user-get.mdx → viva/engage/engage-user-get.mdx} +8 -8
- package/docs/docs/cmd/{yammer/user/user-list.mdx → viva/engage/engage-user-list.mdx} +11 -11
- package/npm-shrinkwrap.json +228 -166
- package/package.json +20 -19
- package/dist/m365/base/AzmgmtCommand.js +0 -18
- package/dist/m365/base/AzmgmtItemsListCommand.js +0 -41
- package/dist/m365/yammer/commands/report/report-activitycounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-activityusercounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-activityuserdetail.js +0 -15
- package/dist/m365/yammer/commands/report/report-deviceusagedistributionusercounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-deviceusageusercounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-deviceusageuserdetail.js +0 -15
- package/dist/m365/yammer/commands/report/report-groupsactivitycounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-groupsactivitydetail.js +0 -15
- package/dist/m365/yammer/commands/report/report-groupsactivitygroupcounts.js +0 -15
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import request from "../request.js";
|
|
2
2
|
import { formatting } from "./formatting.js";
|
|
3
3
|
const graphResource = 'https://graph.microsoft.com';
|
|
4
|
-
export const
|
|
4
|
+
export const entraUser = {
|
|
5
5
|
/**
|
|
6
6
|
* Retrieve the id of a user by its UPN.
|
|
7
7
|
* @param upn User UPN.
|
|
@@ -20,6 +20,42 @@ export const aadUser = {
|
|
|
20
20
|
}
|
|
21
21
|
return res.value[0].id;
|
|
22
22
|
},
|
|
23
|
+
/**
|
|
24
|
+
* Retrieve the IDs of users by their UPNs. There is no guarantee that the order of the returned IDs will match the order of the specified UPNs.
|
|
25
|
+
* @param upns Array of user UPNs.
|
|
26
|
+
* @returns Array of user IDs.
|
|
27
|
+
*/
|
|
28
|
+
async getUserIdsByUpns(upns) {
|
|
29
|
+
const userIds = [];
|
|
30
|
+
for (let i = 0; i < upns.length; i += 20) {
|
|
31
|
+
const upnsChunk = upns.slice(i, i + 20);
|
|
32
|
+
const requestOptions = {
|
|
33
|
+
url: `${graphResource}/v1.0/$batch`,
|
|
34
|
+
headers: {
|
|
35
|
+
accept: 'application/json;odata.metadata=none'
|
|
36
|
+
},
|
|
37
|
+
responseType: 'json',
|
|
38
|
+
data: {
|
|
39
|
+
requests: upnsChunk.map((upn, index) => ({
|
|
40
|
+
id: index + 1,
|
|
41
|
+
method: 'GET',
|
|
42
|
+
url: `/users/${formatting.encodeQueryParameter(upn)}?$select=id`,
|
|
43
|
+
headers: {
|
|
44
|
+
accept: 'application/json;odata.metadata=none'
|
|
45
|
+
}
|
|
46
|
+
}))
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const res = await request.post(requestOptions);
|
|
50
|
+
for (const response of res.responses) {
|
|
51
|
+
if (response.status !== 200) {
|
|
52
|
+
throw Error(`The specified user with user name '${upnsChunk[response.id - 1]}' does not exist.`);
|
|
53
|
+
}
|
|
54
|
+
userIds.push(response.body.id);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return userIds;
|
|
58
|
+
},
|
|
23
59
|
/**
|
|
24
60
|
* Retrieve the ID of a user by its email.
|
|
25
61
|
* @param mail User email.
|
|
@@ -54,4 +90,4 @@ export const aadUser = {
|
|
|
54
90
|
return res.userPrincipalName;
|
|
55
91
|
}
|
|
56
92
|
};
|
|
57
|
-
//# sourceMappingURL=
|
|
93
|
+
//# sourceMappingURL=entraUser.js.map
|
package/dist/utils/spo.js
CHANGED
|
@@ -8,7 +8,7 @@ import request from "../request.js";
|
|
|
8
8
|
import { formatting } from './formatting.js';
|
|
9
9
|
import { odata } from './odata.js';
|
|
10
10
|
import { RoleType } from '../m365/spo/commands/roledefinition/RoleType.js';
|
|
11
|
-
import {
|
|
11
|
+
import { entraGroup } from './entraGroup.js';
|
|
12
12
|
import { SharingCapabilities } from '../m365/spo/commands/site/SharingCapabilities.js';
|
|
13
13
|
export const spo = {
|
|
14
14
|
getRequestDigest(siteUrl) {
|
|
@@ -996,7 +996,7 @@ export const spo = {
|
|
|
996
996
|
promises.push(request.post(requestOptions));
|
|
997
997
|
}
|
|
998
998
|
if (typeof isPublic !== 'undefined') {
|
|
999
|
-
promises.push(
|
|
999
|
+
promises.push(entraGroup.setGroup(groupId, (isPublic === false), logger, verbose));
|
|
1000
1000
|
}
|
|
1001
1001
|
if (typeof owners !== 'undefined') {
|
|
1002
1002
|
promises.push(spo.setGroupifiedSiteOwners(spoAdminUrl, groupId, owners, logger, verbose));
|
|
@@ -1312,6 +1312,28 @@ export const spo = {
|
|
|
1312
1312
|
responseType: 'json'
|
|
1313
1313
|
};
|
|
1314
1314
|
await request.post(requestOptions);
|
|
1315
|
+
},
|
|
1316
|
+
/**
|
|
1317
|
+
* Retrieves the site ID for a given web URL.
|
|
1318
|
+
* @param webUrl The web URL for which to retrieve the site ID.
|
|
1319
|
+
* @param logger The logger object.
|
|
1320
|
+
* @param verbose Set for verbose logging
|
|
1321
|
+
* @returns A promise that resolves to the site ID.
|
|
1322
|
+
*/
|
|
1323
|
+
async getSiteId(webUrl, logger, verbose) {
|
|
1324
|
+
if (verbose && logger) {
|
|
1325
|
+
logger.logToStderr(`Getting site id for URL: ${webUrl}...`);
|
|
1326
|
+
}
|
|
1327
|
+
const url = new URL(webUrl);
|
|
1328
|
+
const requestOptions = {
|
|
1329
|
+
url: `https://graph.microsoft.com/v1.0/sites/${formatting.encodeQueryParameter(url.host)}:${url.pathname}?$select=id`,
|
|
1330
|
+
headers: {
|
|
1331
|
+
accept: 'application/json;odata.metadata=none'
|
|
1332
|
+
},
|
|
1333
|
+
responseType: 'json'
|
|
1334
|
+
};
|
|
1335
|
+
const site = await request.get(requestOptions);
|
|
1336
|
+
return site.id;
|
|
1315
1337
|
}
|
|
1316
1338
|
};
|
|
1317
1339
|
//# sourceMappingURL=spo.js.map
|
package/dist/utils/urlUtil.js
CHANGED
|
@@ -166,6 +166,37 @@ export const urlUtil = {
|
|
|
166
166
|
relativeUrl = relativeUrl.substring(0, relativeUrl.length - 1);
|
|
167
167
|
}
|
|
168
168
|
return `${baseUrl}/${relativeUrl}`;
|
|
169
|
+
},
|
|
170
|
+
/**
|
|
171
|
+
* Get the absolute URL from the target SharePoint URL.
|
|
172
|
+
* @param {string} webUrl - The base web URL.
|
|
173
|
+
* @param {string} url - The target SharePoint URL.
|
|
174
|
+
* @returns {string} - The target site absolute URL.
|
|
175
|
+
*
|
|
176
|
+
* Example Scenarios:
|
|
177
|
+
* - webUrl = "https://contoso.sharepoint.com" and targetUrl = "/teams/sales/Shared Documents/temp/123/234",
|
|
178
|
+
* returns "https://contoso.sharepoint.com/teams/sales".
|
|
179
|
+
* - webUrl = "https://contoso.sharepoint.com" and targetUrl = "https://contoso-my.sharepoint.com/personal/john_contoso_onmicrosoft_com/Documents/123",
|
|
180
|
+
* returns "https://contoso-my.sharepoint.com/personal/john_contoso_onmicrosoft_com".
|
|
181
|
+
* - webUrl = "https://contoso.sharepoint.com/teams/sales" and targetUrl = "/Shared Documents/temp",
|
|
182
|
+
* returns "https://contoso.sharepoint.com".
|
|
183
|
+
* - webUrl = "https://contoso.sharepoint.com" and targetUrl = "/teams/sales/Shared Documents/temp",
|
|
184
|
+
* returns "https://contoso.sharepoint.com/teams/sales".
|
|
185
|
+
*/
|
|
186
|
+
getTargetSiteAbsoluteUrl(webUrl, url) {
|
|
187
|
+
const fullUrl = url.startsWith('https://') ? url : urlUtil.getAbsoluteUrl(webUrl, url);
|
|
188
|
+
// Pattern to match SharePoint URLs
|
|
189
|
+
const urlPattern = /https:\/\/[\w\-]+\.sharepoint\.com\/(teams|sites|personal)\/([\w\-]+)/;
|
|
190
|
+
const match = fullUrl.match(urlPattern);
|
|
191
|
+
if (match) {
|
|
192
|
+
// If a match is found, return the matched URL
|
|
193
|
+
return match[0];
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
// Extract the root URL
|
|
197
|
+
const rootUrl = new URL(fullUrl);
|
|
198
|
+
return rootUrl.origin;
|
|
199
|
+
}
|
|
169
200
|
}
|
|
170
201
|
};
|
|
171
202
|
//# sourceMappingURL=urlUtil.js.map
|
package/dist/utils/validation.js
CHANGED
|
@@ -21,6 +21,10 @@ export const validation = {
|
|
|
21
21
|
const guidRegEx = new RegExp(/^19:[0-9a-zA-Z-_]+(@thread\.v2|@unq\.gbl\.spaces)$/i);
|
|
22
22
|
return guidRegEx.test(guid);
|
|
23
23
|
},
|
|
24
|
+
isValidUserPrincipalNameArray(upns) {
|
|
25
|
+
const invalidGuid = upns.find(upn => !this.isValidUserPrincipalName(upn));
|
|
26
|
+
return invalidGuid || true;
|
|
27
|
+
},
|
|
24
28
|
isValidUserPrincipalName(upn) {
|
|
25
29
|
const upnRegEx = new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/i);
|
|
26
30
|
// verify if the upn is a valid upn. @meusername will be replaced in a later stage with the actual username of the logged in user
|
|
@@ -317,6 +321,10 @@ export const validation = {
|
|
|
317
321
|
return true;
|
|
318
322
|
}
|
|
319
323
|
return false;
|
|
324
|
+
},
|
|
325
|
+
isValidMailNickname(mailNickname) {
|
|
326
|
+
const mailNicknameRegEx = new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]*$/i);
|
|
327
|
+
return mailNicknameRegEx.test(mailNickname);
|
|
320
328
|
}
|
|
321
329
|
};
|
|
322
330
|
//# sourceMappingURL=validation.js.map
|
|
@@ -16,25 +16,25 @@ m365 cli consent [options]
|
|
|
16
16
|
|
|
17
17
|
```md definition-list
|
|
18
18
|
`-s, --service <service>`
|
|
19
|
-
: Service for which to consent permissions. Allowed values: `yammer
|
|
19
|
+
: Service for which to consent permissions. Allowed values: `VivaEngage`, (deprecated)`yammer`.
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
<Global />
|
|
23
23
|
|
|
24
24
|
## Remarks
|
|
25
25
|
|
|
26
|
-
Using the `cli consent` command you can consent additional permissions for the Azure AD application used by the CLI for Microsoft 365. This is for example necessary to use
|
|
26
|
+
Using the `cli consent` command you can consent additional permissions for the Azure AD application used by the CLI for Microsoft 365. This is for example necessary to use Viva Engage commands, which require the Viva Engage API permission that isn't granted to the CLI by default.
|
|
27
27
|
|
|
28
28
|
After executing the command, the CLI for Microsoft 365 will present you with a URL that you need to open in the web browser in order to consent the permissions for the selected Microsoft 365 service.
|
|
29
29
|
|
|
30
|
-
To simplify things, rather than wondering which permissions you should grant for which CLI commands, this command allows you to easily grant all the necessary permissions for using commands for the specified Microsoft 365 service, like
|
|
30
|
+
To simplify things, rather than wondering which permissions you should grant for which CLI commands, this command allows you to easily grant all the necessary permissions for using commands for the specified Microsoft 365 service, like Viva Engage.
|
|
31
31
|
|
|
32
32
|
## Examples
|
|
33
33
|
|
|
34
|
-
Consent permissions to the
|
|
34
|
+
Consent permissions to the Viva Engage API
|
|
35
35
|
|
|
36
36
|
```sh
|
|
37
|
-
m365 cli consent --service
|
|
37
|
+
m365 cli consent --service VivaEngage
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
## Response
|
|
@@ -43,28 +43,28 @@ m365 cli consent --service yammer
|
|
|
43
43
|
<TabItem value="JSON">
|
|
44
44
|
|
|
45
45
|
```json
|
|
46
|
-
"To consent permissions for executing
|
|
46
|
+
"To consent permissions for executing VivaEngage commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation"
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
</TabItem>
|
|
50
50
|
<TabItem value="Text">
|
|
51
51
|
|
|
52
52
|
```text
|
|
53
|
-
To consent permissions for executing
|
|
53
|
+
To consent permissions for executing VivaEngage commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
</TabItem>
|
|
57
57
|
<TabItem value="CSV">
|
|
58
58
|
|
|
59
59
|
```csv
|
|
60
|
-
To consent permissions for executing
|
|
60
|
+
To consent permissions for executing VivaEngage commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
</TabItem>
|
|
64
64
|
<TabItem value="Markdown">
|
|
65
65
|
|
|
66
66
|
```md
|
|
67
|
-
To consent permissions for executing
|
|
67
|
+
To consent permissions for executing VivaEngage commands, navigate in your web browser to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e&response_type=code&scope=https%3A%2F%2Fapi.yammer.com%2Fuser_impersonation
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
</TabItem>
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
-
import Tabs from '@theme/Tabs';
|
|
3
|
-
import TabItem from '@theme/TabItem';
|
|
4
2
|
|
|
5
3
|
# entra administrativeunit member add
|
|
6
4
|
|
|
@@ -94,6 +92,10 @@ Add a single device specified by name to an administrative unit specified by nam
|
|
|
94
92
|
m365 entra administrativeunit member add --administrativeUnitName 'Marketing Division' --deviceName 'JohnDoe-PC'
|
|
95
93
|
```
|
|
96
94
|
|
|
95
|
+
## Response
|
|
96
|
+
|
|
97
|
+
The command won't return a response on success.
|
|
98
|
+
|
|
97
99
|
## More information
|
|
98
100
|
|
|
99
|
-
- Administrative units: https://learn.microsoft.com/entra/identity/role-based-access-control/administrative-units
|
|
101
|
+
- Administrative units: https://learn.microsoft.com/entra/identity/role-based-access-control/administrative-units
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
|
|
3
|
+
# entra administrativeunit member remove
|
|
4
|
+
|
|
5
|
+
Removes a member (user, group, or device) from an administrative unit
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
m365 entra administrativeunit member remove [options]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## options
|
|
14
|
+
|
|
15
|
+
```md definition-list
|
|
16
|
+
`-i, --id [id]`
|
|
17
|
+
: The id of the member to be removed. Specify either `id`, `userId`, `userName`, `groupId`, `groupName`, `deviceId` or `deviceName`.
|
|
18
|
+
|
|
19
|
+
`--userId [userId]`
|
|
20
|
+
: The id of the user to be removed. Specify either `id`, `userId`, `userName`, `groupId`, `groupName`, `deviceId` or `deviceName`.
|
|
21
|
+
|
|
22
|
+
`--userName [userName]`
|
|
23
|
+
: The user principal name (UPN) of the user to be removed. Specify either `id`, `userId`, `userName`, `groupId`, `groupName`, `deviceId` or `deviceName`.
|
|
24
|
+
|
|
25
|
+
`--groupId [groupId]`
|
|
26
|
+
: The id of the group to be removed. Specify either `id`, `userId`, `userName`, `groupId`, `groupName`, `deviceId` or `deviceName`.
|
|
27
|
+
|
|
28
|
+
`--groupName [groupName]`
|
|
29
|
+
: The name of the group to be removed. Specify either `id`, `userId`, `userName`, `groupId`, `groupName`, `deviceId` or `deviceName`.
|
|
30
|
+
|
|
31
|
+
`--deviceId [deviceId]`
|
|
32
|
+
: The id of the device to be removed. Specify either `id`, `userId`, `userName`, `groupId`, `groupName`, `deviceId` or `deviceName`.
|
|
33
|
+
|
|
34
|
+
`--deviceName [deviceName]`
|
|
35
|
+
: The name of the device to be removed. Specify either `id`, `userId`, `userName`, `groupId`, `groupName`, `deviceId` or `deviceName`.
|
|
36
|
+
|
|
37
|
+
`--administrativeUnitId [administrativeUnitId]`
|
|
38
|
+
: The id of the administrative unit. Specify either `administrativeUnitId` or `administrativeUnitName` but not both.
|
|
39
|
+
|
|
40
|
+
`--administrativeUnitName [administrativeUnitName]`
|
|
41
|
+
: The name of the administrative unit. Specify either `administrativeUnitId` or `administrativeUnitName` but not both.
|
|
42
|
+
|
|
43
|
+
`-f, --force`
|
|
44
|
+
: Don't prompt for confirmation.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
<Global />
|
|
48
|
+
|
|
49
|
+
## Remarks
|
|
50
|
+
|
|
51
|
+
:::info
|
|
52
|
+
|
|
53
|
+
To use this command you must be either **Global Administrator** or **Privileged Role Administrator**.
|
|
54
|
+
|
|
55
|
+
:::
|
|
56
|
+
|
|
57
|
+
## Examples
|
|
58
|
+
|
|
59
|
+
Remove a member specified by id from an administrative unit specified by id
|
|
60
|
+
|
|
61
|
+
```sh
|
|
62
|
+
m365 entra administrativeunit member remove --id 64131a70-beb9-4ccb-b590-4401e58446ec --administrativeUnitId 03c4c9dc-6f0c-4c4f-a4e6-0c9ed80f54c7
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Remove a user specified by id from an administrative unit specified by id
|
|
66
|
+
|
|
67
|
+
```sh
|
|
68
|
+
m365 entra administrativeunit member remove --userId 64131a70-beb9-4ccb-b590-4401e58446ec --administrativeUnitId 03c4c9dc-6f0c-4c4f-a4e6-0c9ed80f54c7
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Remove a group specified by id from an administrative unit specified by id
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
m365 entra administrativeunit member remove --groupId b2307a39-e878-458b-bc90-03bc578531d6 --administrativeUnitId 03c4c9dc-6f0c-4c4f-a4e6-0c9ed80f54c7
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Remove a device specified by id from an administrative unit specified by id
|
|
78
|
+
|
|
79
|
+
```sh
|
|
80
|
+
m365 entra administrativeunit member remove --deviceId 810c84a8-4a9e-49e6-bf7d-12d183f40d01 --administrativeUnitId 03c4c9dc-6f0c-4c4f-a4e6-0c9ed80f54c7
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Remove a user specified by UPN from an administrative unit specified by name
|
|
84
|
+
|
|
85
|
+
```sh
|
|
86
|
+
m365 entra administrativeunit member remove --userName john.doe@contoso.com --administrativeUnitName 'Marketing Division'
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Remove a group specified by name from an administrative unit specified by id
|
|
90
|
+
|
|
91
|
+
```sh
|
|
92
|
+
m365 entra administrativeunit member remove --groupName 'Marketing Group' --administrativeUnitId 03c4c9dc-6f0c-4c4f-a4e6-0c9ed80f54c7
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Remove a device specified by name from an administrative unit specified by name
|
|
96
|
+
|
|
97
|
+
```sh
|
|
98
|
+
m365 entra administrativeunit member remove --deviceName 'JohnDoe-PC' --administrativeUnitName 'Marketing Division'
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Response
|
|
102
|
+
|
|
103
|
+
The command won't return a response on success
|
|
104
|
+
|
|
105
|
+
## More information
|
|
106
|
+
|
|
107
|
+
- [Administrative units](https://learn.microsoft.com/entra/identity/role-based-access-control/administrative-units)
|
|
@@ -16,6 +16,7 @@ m365 entra app add [options]
|
|
|
16
16
|
|
|
17
17
|
```sh
|
|
18
18
|
m365 aad app add [options]
|
|
19
|
+
m365 entra appregistration add [options]
|
|
19
20
|
```
|
|
20
21
|
|
|
21
22
|
## Options
|
|
@@ -109,7 +110,7 @@ After creating the Entra app registration, this command returns the app ID and o
|
|
|
109
110
|
|
|
110
111
|
If you want to store the information about the created Entra app registration, use the `--save` option. This is useful when you build solutions connected to Microsoft 365 and want to easily manage app registrations used with your solution. When you use the `--save` option, after you create the app registration, the command will write its ID and name to the `.m365rc.json` file in the current directory. If the file already exists, it will add the information about the to it, allowing you to track multiple apps. If the file doesn't exist, the command will create it.
|
|
111
112
|
|
|
112
|
-
When specifying `--grantAdminConsent` option,
|
|
113
|
+
When specifying `--grantAdminConsent` option, an enterprise application will be created for the app registration.
|
|
113
114
|
|
|
114
115
|
## Examples
|
|
115
116
|
|
|
@@ -16,6 +16,7 @@ m365 entra app permission add [options]
|
|
|
16
16
|
|
|
17
17
|
```sh
|
|
18
18
|
m365 aad app permission add [options]
|
|
19
|
+
m365 entra appregistration permission add [options]
|
|
19
20
|
```
|
|
20
21
|
|
|
21
22
|
## Options
|
|
@@ -60,9 +61,9 @@ m365 entra app permission add --appObjectId 'e0306bb2-bf0b-4cc5-a845-a0b2cf11f69
|
|
|
60
61
|
Grant multiple app-only permissions to an Entra (Azure AD) app specified by client id and grant admin consent
|
|
61
62
|
|
|
62
63
|
```sh
|
|
63
|
-
m365 entra app permission add --appId 'f1417aa3-bf0b-4cc5-a845-a0b2cf11f690' --applicationPermissions 'https://graph.microsoft.com/Sites.FullControl.All https://microsoft.sharepoint-df.com/Sites.FullControl.All' --
|
|
64
|
+
m365 entra app permission add --appId 'f1417aa3-bf0b-4cc5-a845-a0b2cf11f690' --applicationPermissions 'https://graph.microsoft.com/Sites.FullControl.All https://microsoft.sharepoint-df.com/Sites.FullControl.All' --grantAdminConsent
|
|
64
65
|
```
|
|
65
66
|
|
|
66
67
|
## Response
|
|
67
68
|
|
|
68
|
-
The command won't return a response on success.
|
|
69
|
+
The command won't return a response on success.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
import Tabs from '@theme/Tabs';
|
|
3
|
+
import TabItem from '@theme/TabItem';
|
|
4
|
+
|
|
5
|
+
# entra app permission list
|
|
6
|
+
|
|
7
|
+
Lists the application and delegated permissions for a specified Entra Application Registration
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
m365 entra app permission list [options]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Alias
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
m365 aad app permission list [options]
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Options
|
|
22
|
+
|
|
23
|
+
```md definition-list
|
|
24
|
+
`-i, --appId [appId]`
|
|
25
|
+
: Client ID of the Application Registration to retrieve the permissions for. Specify `appId` or `appObjectId` but not both.
|
|
26
|
+
|
|
27
|
+
`--appObjectId [appObjectId]`
|
|
28
|
+
: Object ID of the Application Registration to retrieve the permissions for. Specify `appId` or `appObjectId` but not both.
|
|
29
|
+
|
|
30
|
+
`--type [type]`
|
|
31
|
+
: The type of permissions to retrieve. Allowed values: `delegated`, `application`, `all`. Defaults to `all`.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
<Global />
|
|
35
|
+
|
|
36
|
+
## Remarks
|
|
37
|
+
|
|
38
|
+
For best performance use the `objectId` option to reference the Entra application registration to get. If you use `appId`, this command will first need to find the corresponding object ID for that application.
|
|
39
|
+
|
|
40
|
+
## Examples
|
|
41
|
+
|
|
42
|
+
Retrieves all permissions for an Entra app registration
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
m365 entra app permission list --appId 'f1417aa3-bf0b-4cc5-a845-a0b2cf11f690'
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Retrieves all delegated permissions for an Entra app registration
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
m365 entra app permission list --appId 'f1417aa3-bf0b-4cc5-a845-a0b2cf11f690' --type delegated
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Response
|
|
55
|
+
|
|
56
|
+
<Tabs>
|
|
57
|
+
<TabItem value="JSON">
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
[
|
|
61
|
+
{
|
|
62
|
+
"resource": "Microsoft Graph",
|
|
63
|
+
"resourceId": "00000003-0000-0000-c000-000000000000",
|
|
64
|
+
"permission": "User.Read",
|
|
65
|
+
"type": "Delegated"
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
</TabItem>
|
|
71
|
+
<TabItem value="Text">
|
|
72
|
+
|
|
73
|
+
```text
|
|
74
|
+
resource resourceId permission type
|
|
75
|
+
---------------------------- ------------------------------------ --------------------------------- -----------
|
|
76
|
+
Microsoft Graph 00000003-0000-0000-c000-000000000000 User.Read Delegated
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
</TabItem>
|
|
80
|
+
<TabItem value="CSV">
|
|
81
|
+
|
|
82
|
+
```csv
|
|
83
|
+
resource,resourceId,permission,type
|
|
84
|
+
Microsoft Graph,00000003-0000-0000-c000-000000000000,User.Read,Delegated
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
</TabItem>
|
|
88
|
+
<TabItem value="Markdown">
|
|
89
|
+
|
|
90
|
+
```md
|
|
91
|
+
# entra app permission list --appId "2bf26ae1-9be3-425f-a393-5fe8390e3a36"
|
|
92
|
+
|
|
93
|
+
Date: 27/12/2023
|
|
94
|
+
|
|
95
|
+
Property | Value
|
|
96
|
+
---------|-------
|
|
97
|
+
resource | Microsoft Graph
|
|
98
|
+
resourceId | 00000003-0000-0000-c000-000000000000
|
|
99
|
+
permission | User.Read
|
|
100
|
+
type | Delegated
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
</TabItem>
|
|
104
|
+
</Tabs>
|
|
105
|
+
|
|
@@ -2,33 +2,34 @@ import Global from '/docs/cmd/_global.mdx';
|
|
|
2
2
|
import Tabs from '@theme/Tabs';
|
|
3
3
|
import TabItem from '@theme/TabItem';
|
|
4
4
|
|
|
5
|
-
# entra
|
|
5
|
+
# entra enterpriseapp add
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Creates an enterprise application (or service principal) for a registered Entra app
|
|
8
8
|
|
|
9
9
|
## Usage
|
|
10
10
|
|
|
11
11
|
```sh
|
|
12
|
-
m365 entra
|
|
12
|
+
m365 entra enterpriseapp add [options]
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Alias
|
|
16
16
|
|
|
17
17
|
```sh
|
|
18
18
|
m365 aad sp add [options]
|
|
19
|
+
m365 entra sp add [options]
|
|
19
20
|
```
|
|
20
21
|
|
|
21
22
|
## Options
|
|
22
23
|
|
|
23
24
|
```md definition-list
|
|
24
25
|
`--appId [appId]`
|
|
25
|
-
: ID of the
|
|
26
|
+
: ID of the app for which the enterprise application should be created
|
|
26
27
|
|
|
27
28
|
`--appName [appName]`
|
|
28
|
-
: Display name of the
|
|
29
|
+
: Display name of the app for which the enterprise application should be created
|
|
29
30
|
|
|
30
31
|
`--objectId [objectId]`
|
|
31
|
-
: ObjectId of the
|
|
32
|
+
: ObjectId of the app for which the enterprise application should be created
|
|
32
33
|
```
|
|
33
34
|
|
|
34
35
|
<Global />
|
|
@@ -37,26 +38,26 @@ m365 aad sp add [options]
|
|
|
37
38
|
|
|
38
39
|
Specify either the `appId`, `appName` or `objectId`. If you specify more than one option value, the command will fail with an error.
|
|
39
40
|
|
|
40
|
-
If you register an application in the portal, an application object as well as
|
|
41
|
+
If you register an application in the portal, an application object as well as an enterprise application object are automatically created in your home tenant. If you register an application using CLI for Microsoft 365 or the Microsoft Graph, you'll need to create the enterprise application separately. To register/create an application using the CLI for Microsoft 365, use the [m365 entra app add](../app/app-add.mdx) command.
|
|
41
42
|
|
|
42
43
|
## Examples
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
Creates an enterprise application for a registered Entra app with appId _b2307a39-e878-458b-bc90-03bc578531d6_.
|
|
45
46
|
|
|
46
47
|
```sh
|
|
47
|
-
m365 entra
|
|
48
|
+
m365 entra enterpriseapp add --appId b2307a39-e878-458b-bc90-03bc578531d6
|
|
48
49
|
```
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
Creates an enterprise application for a registered Entra app with appName _Microsoft Graph_.
|
|
51
52
|
|
|
52
53
|
```sh
|
|
53
|
-
m365 entra
|
|
54
|
+
m365 entra enterpriseapp add --appName "Microsoft Graph"
|
|
54
55
|
```
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
Creates an enterprise application for a registered Entra app with objectId _b2307a39-e878-458b-bc90-03bc578531d6_.
|
|
57
58
|
|
|
58
59
|
```sh
|
|
59
|
-
m365 entra
|
|
60
|
+
m365 entra enterpriseapp add --objectId b2307a39-e878-458b-bc90-03bc578531d6
|
|
60
61
|
```
|
|
61
62
|
|
|
62
63
|
## Response
|
|
@@ -171,7 +172,7 @@ m365 entra sp add --objectId b2307a39-e878-458b-bc90-03bc578531d6
|
|
|
171
172
|
<TabItem value="Markdown">
|
|
172
173
|
|
|
173
174
|
```md
|
|
174
|
-
# entra
|
|
175
|
+
# entra enterpriseapp add --appId "8da75b6a-4272-4b17-8ee1-20ba66e2b06f"
|
|
175
176
|
|
|
176
177
|
Date: 2023-06-02
|
|
177
178
|
|
|
@@ -195,5 +196,5 @@ m365 entra sp add --objectId b2307a39-e878-458b-bc90-03bc578531d6
|
|
|
195
196
|
|
|
196
197
|
## More information
|
|
197
198
|
|
|
198
|
-
- Application and
|
|
199
|
+
- Application and enterprise application objects in Entra ID (Azure AD): [https://learn.microsoft.com/azure/active-directory/develop/active-directory-application-objects](https://learn.microsoft.com/azure/active-directory/develop/active-directory-application-objects)
|
|
199
200
|
- Create servicePrincipal: [https://learn.microsoft.com/graph/api/serviceprincipal-post-serviceprincipals?view=graph-rest-1.0](https://learn.microsoft.com/graph/api/serviceprincipal-post-serviceprincipals?view=graph-rest-1.0)
|