@pnp/cli-microsoft365 7.5.0-beta.cae14d0 → 7.5.0
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/.eslintrc.cjs +6 -2
- package/.mocharc.json +3 -5
- package/Dockerfile +0 -3
- package/README.md +2 -2
- package/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/Auth.js +171 -69
- package/dist/AuthServer.js +3 -3
- package/dist/Command.js +8 -5
- package/dist/auth/FileTokenStorage.js +4 -1
- package/dist/m365/base/AppCommand.js +2 -2
- package/dist/m365/base/PowerAppsCommand.js +2 -2
- package/dist/m365/base/PowerAutomateCommand.js +2 -2
- package/dist/m365/base/PowerPlatformCommand.js +2 -2
- package/dist/m365/base/SpoCommand.js +3 -3
- package/dist/m365/base/{YammerCommand.js → VivaEngageCommand.js} +2 -2
- package/dist/m365/cli/commands/cli-consent.js +5 -3
- package/dist/m365/cli/commands/cli-doctor.js +5 -5
- package/dist/m365/commands/ConnectionDetails.js +2 -0
- package/dist/m365/commands/login.js +26 -48
- package/dist/m365/commands/logout.js +2 -2
- package/dist/m365/commands/request.js +2 -2
- package/dist/m365/commands/status.js +15 -23
- package/dist/m365/connection/commands/connection-list.js +47 -0
- package/dist/m365/connection/commands/connection-remove.js +67 -0
- package/dist/m365/connection/commands/connection-set.js +56 -0
- package/dist/m365/connection/commands/connection-use.js +51 -0
- package/dist/m365/connection/commands.js +8 -0
- package/dist/m365/entra/aadCommands.js +3 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-remove.js +153 -0
- package/dist/m365/entra/commands/app/app-add.js +2 -2
- 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 +1 -1
- 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/m365group/m365group-report-activitygroupcounts.js +1 -1
- package/dist/m365/entra/commands/user/user-get.js +38 -38
- package/dist/m365/entra/commands/user/user-license-list.js +1 -1
- package/dist/m365/entra/commands/user/user-registrationdetails-list.js +224 -0
- package/dist/m365/entra/commands/user/user-set.js +2 -2
- package/dist/m365/entra/commands.js +16 -0
- package/dist/m365/file/commands/convert/convert-pdf.js +1 -1
- package/dist/m365/file/commands/file-copy.js +151 -0
- package/dist/m365/file/commands.js +1 -0
- package/dist/m365/outlook/commands/mail/mail-send.js +1 -1
- package/dist/m365/outlook/commands/message/message-get.js +1 -1
- package/dist/m365/pa/commands/app/app-permission-ensure.js +1 -1
- package/dist/m365/pa/commands/app/app-permission-remove.js +1 -1
- package/dist/m365/planner/commands/roster/roster-plan-list.js +1 -1
- package/dist/m365/purview/commands/auditlog/auditlog-list.js +1 -1
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-get.js +1 -1
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-list.js +1 -1
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-policysettings-list.js +1 -1
- package/dist/m365/spfx/commands/project/DeployWorkflow.js +4 -3
- package/dist/m365/spo/commands/spo-get.js +1 -1
- package/dist/m365/spo/commands/spo-search.js +52 -22
- package/dist/m365/spo/commands/spo-set.js +1 -1
- package/dist/m365/teams/commands/chat/chat-get.js +1 -1
- package/dist/m365/teams/commands/chat/chat-list.js +1 -1
- package/dist/m365/teams/commands/chat/chat-message-send.js +1 -1
- package/dist/m365/teams/commands/meeting/meeting-add.js +1 -1
- package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +1 -1
- package/dist/m365/teams/commands/meeting/meeting-get.js +1 -1
- package/dist/m365/teams/commands/meeting/meeting-list.js +2 -2
- package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +1 -1
- package/dist/m365/tenant/commands/id/id-get.js +1 -1
- package/dist/m365/tenant/commands/info/info-get.js +1 -1
- package/dist/m365/util/commands/accesstoken/accesstoken-get.js +3 -3
- 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/request.js +1 -1
- package/dist/utils/spo.js +36 -14
- package/dist/utils/urlUtil.js +31 -0
- package/dist/utils/validation.js +4 -0
- package/docs/docs/cmd/cli/cli-consent.mdx +9 -9
- package/docs/docs/cmd/connection/connection-list.mdx +100 -0
- package/docs/docs/cmd/connection/connection-remove.mdx +45 -0
- package/docs/docs/cmd/connection/connection-set.mdx +39 -0
- package/docs/docs/cmd/connection/connection-use.mdx +98 -0
- 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 +1 -0
- 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/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/login.mdx +15 -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/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 +60 -0
- package/package.json +4 -3
- 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,5 +1,26 @@
|
|
|
1
1
|
const prefix = 'viva';
|
|
2
2
|
export default {
|
|
3
|
-
CONNECTIONS_APP_CREATE: `${prefix} connections app create
|
|
3
|
+
CONNECTIONS_APP_CREATE: `${prefix} connections app create`,
|
|
4
|
+
ENGAGE_GROUP_LIST: `${prefix} engage group list`,
|
|
5
|
+
ENGAGE_GROUP_USER_ADD: `${prefix} engage group user add`,
|
|
6
|
+
ENGAGE_GROUP_USER_REMOVE: `${prefix} engage group user remove`,
|
|
7
|
+
ENGAGE_MESSAGE_ADD: `${prefix} engage message add`,
|
|
8
|
+
ENGAGE_MESSAGE_GET: `${prefix} engage message get`,
|
|
9
|
+
ENGAGE_MESSAGE_LIKE_SET: `${prefix} engage message like set`,
|
|
10
|
+
ENGAGE_MESSAGE_LIST: `${prefix} engage message list`,
|
|
11
|
+
ENGAGE_MESSAGE_REMOVE: `${prefix} engage message remove`,
|
|
12
|
+
ENGAGE_NETWORK_LIST: `${prefix} engage network list`,
|
|
13
|
+
ENGAGE_REPORT_ACTIVITYCOUNTS: `${prefix} engage report activitycounts`,
|
|
14
|
+
ENGAGE_REPORT_ACTIVITYUSERCOUNTS: `${prefix} engage report activityusercounts`,
|
|
15
|
+
ENGAGE_REPORT_ACTIVITYUSERDETAIL: `${prefix} engage report activityuserdetail`,
|
|
16
|
+
ENGAGE_REPORT_DEVICEUSAGEDISTRIBUTIONUSERCOUNTS: `${prefix} engage report deviceusagedistributionusercounts`,
|
|
17
|
+
ENGAGE_REPORT_DEVICEUSAGEUSERCOUNTS: `${prefix} engage report deviceusageusercounts`,
|
|
18
|
+
ENGAGE_REPORT_DEVICEUSAGEUSERDETAIL: `${prefix} engage report deviceusageuserdetail`,
|
|
19
|
+
ENGAGE_REPORT_GROUPSACTIVITYCOUNTS: `${prefix} engage report groupsactivitycounts`,
|
|
20
|
+
ENGAGE_REPORT_GROUPSACTIVITYDETAIL: `${prefix} engage report groupsactivitydetail`,
|
|
21
|
+
ENGAGE_REPORT_GROUPSACTIVITYGROUPCOUNTS: `${prefix} engage report groupsactivitygroupcounts`,
|
|
22
|
+
ENGAGE_SEARCH: `${prefix} engage search`,
|
|
23
|
+
ENGAGE_USER_GET: `${prefix} engage user get`,
|
|
24
|
+
ENGAGE_USER_LIST: `${prefix} engage user list`
|
|
4
25
|
};
|
|
5
26
|
//# sourceMappingURL=commands.js.map
|
package/dist/request.js
CHANGED
|
@@ -130,7 +130,7 @@ class Request {
|
|
|
130
130
|
if (!this._logger) {
|
|
131
131
|
return Promise.reject('Logger not set on the request object');
|
|
132
132
|
}
|
|
133
|
-
this.updateRequestForCloudType(options, auth.
|
|
133
|
+
this.updateRequestForCloudType(options, auth.connection.cloudType);
|
|
134
134
|
return new Promise((_resolve, _reject) => {
|
|
135
135
|
(() => {
|
|
136
136
|
if (options.headers && options.headers['x-anonymous']) {
|
package/dist/utils/spo.js
CHANGED
|
@@ -96,11 +96,11 @@ export const spo = {
|
|
|
96
96
|
});
|
|
97
97
|
},
|
|
98
98
|
async getSpoUrl(logger, debug) {
|
|
99
|
-
if (auth.
|
|
99
|
+
if (auth.connection.spoUrl) {
|
|
100
100
|
if (debug) {
|
|
101
|
-
await logger.logToStderr(`SPO URL previously retrieved ${auth.
|
|
101
|
+
await logger.logToStderr(`SPO URL previously retrieved ${auth.connection.spoUrl}. Returning...`);
|
|
102
102
|
}
|
|
103
|
-
return Promise.resolve(auth.
|
|
103
|
+
return Promise.resolve(auth.connection.spoUrl);
|
|
104
104
|
}
|
|
105
105
|
return new Promise(async (resolve, reject) => {
|
|
106
106
|
if (debug) {
|
|
@@ -116,14 +116,14 @@ export const spo = {
|
|
|
116
116
|
request
|
|
117
117
|
.get(requestOptions)
|
|
118
118
|
.then((res) => {
|
|
119
|
-
auth.
|
|
119
|
+
auth.connection.spoUrl = res.webUrl;
|
|
120
120
|
return auth.storeConnectionInfo();
|
|
121
121
|
})
|
|
122
122
|
.then(() => {
|
|
123
|
-
resolve(auth.
|
|
123
|
+
resolve(auth.connection.spoUrl);
|
|
124
124
|
}, (err) => {
|
|
125
|
-
if (auth.
|
|
126
|
-
resolve(auth.
|
|
125
|
+
if (auth.connection.spoUrl) {
|
|
126
|
+
resolve(auth.connection.spoUrl);
|
|
127
127
|
}
|
|
128
128
|
else {
|
|
129
129
|
reject(err);
|
|
@@ -143,11 +143,11 @@ export const spo = {
|
|
|
143
143
|
});
|
|
144
144
|
},
|
|
145
145
|
async getTenantId(logger, debug) {
|
|
146
|
-
if (auth.
|
|
146
|
+
if (auth.connection.spoTenantId) {
|
|
147
147
|
if (debug) {
|
|
148
|
-
await logger.logToStderr(`SPO Tenant ID previously retrieved ${auth.
|
|
148
|
+
await logger.logToStderr(`SPO Tenant ID previously retrieved ${auth.connection.spoTenantId}. Returning...`);
|
|
149
149
|
}
|
|
150
|
-
return Promise.resolve(auth.
|
|
150
|
+
return Promise.resolve(auth.connection.spoTenantId);
|
|
151
151
|
}
|
|
152
152
|
return new Promise(async (resolve, reject) => {
|
|
153
153
|
if (debug) {
|
|
@@ -173,14 +173,14 @@ export const spo = {
|
|
|
173
173
|
})
|
|
174
174
|
.then((res) => {
|
|
175
175
|
const json = JSON.parse(res);
|
|
176
|
-
auth.
|
|
176
|
+
auth.connection.spoTenantId = json[json.length - 1]._ObjectIdentity_.replace('\n', '
');
|
|
177
177
|
return auth.storeConnectionInfo();
|
|
178
178
|
})
|
|
179
179
|
.then(() => {
|
|
180
|
-
resolve(auth.
|
|
180
|
+
resolve(auth.connection.spoTenantId);
|
|
181
181
|
}, (err) => {
|
|
182
|
-
if (auth.
|
|
183
|
-
resolve(auth.
|
|
182
|
+
if (auth.connection.spoTenantId) {
|
|
183
|
+
resolve(auth.connection.spoTenantId);
|
|
184
184
|
}
|
|
185
185
|
else {
|
|
186
186
|
reject(err);
|
|
@@ -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
|
@@ -321,6 +321,10 @@ export const validation = {
|
|
|
321
321
|
return true;
|
|
322
322
|
}
|
|
323
323
|
return false;
|
|
324
|
+
},
|
|
325
|
+
isValidMailNickname(mailNickname) {
|
|
326
|
+
const mailNicknameRegEx = new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]*$/i);
|
|
327
|
+
return mailNicknameRegEx.test(mailNickname);
|
|
324
328
|
}
|
|
325
329
|
};
|
|
326
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>
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
import Tabs from '@theme/Tabs';
|
|
3
|
+
import TabItem from '@theme/TabItem';
|
|
4
|
+
|
|
5
|
+
# connection list
|
|
6
|
+
|
|
7
|
+
Show the list of available connections
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
m365 connection list [options]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Options
|
|
16
|
+
|
|
17
|
+
<Global />
|
|
18
|
+
|
|
19
|
+
## Remarks
|
|
20
|
+
|
|
21
|
+
If you are logged in to Microsoft 365 with multiple identities, this command will show you a list of users and/or applications used to sign in.
|
|
22
|
+
|
|
23
|
+
## Examples
|
|
24
|
+
|
|
25
|
+
Show the list of available identities used to sign in to Microsoft 365
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
m365 connection list
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Response
|
|
32
|
+
|
|
33
|
+
<Tabs>
|
|
34
|
+
<TabItem value="JSON">
|
|
35
|
+
|
|
36
|
+
```json
|
|
37
|
+
[
|
|
38
|
+
{
|
|
39
|
+
"name": "028de82d-7fd9-476e-a9fd-be9714280ff3",
|
|
40
|
+
"connectedAs": "alexw@contoso.com",
|
|
41
|
+
"authType": "DeviceCode",
|
|
42
|
+
"active": true
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "acd6df42-10a9-4315-8928-53334f1c9d01",
|
|
46
|
+
"connectedAs": "Contoso Application",
|
|
47
|
+
"authType": "Secret",
|
|
48
|
+
"active": false
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
</TabItem>
|
|
54
|
+
<TabItem value="Text">
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
name connectedAs authType active
|
|
58
|
+
------------------------------------ ------------------- ---------- ------
|
|
59
|
+
028de82d-7fd9-476e-a9fd-be9714280ff3 alexw@contoso.com DeviceCode true
|
|
60
|
+
acd6df42-10a9-4315-8928-53334f1c9d01 Contoso Application Secret false
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
</TabItem>
|
|
64
|
+
<TabItem value="CSV">
|
|
65
|
+
|
|
66
|
+
```csv
|
|
67
|
+
name,connectedAs,authType,active
|
|
68
|
+
028de82d-7fd9-476e-a9fd-be9714280ff3,alexw@contoso.com,DeviceCode,true
|
|
69
|
+
acd6df42-10a9-4315-8928-53334f1c9d01,Contoso Application,Secret,false
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
</TabItem>
|
|
73
|
+
<TabItem value="Markdown">
|
|
74
|
+
|
|
75
|
+
```md
|
|
76
|
+
# connection list
|
|
77
|
+
|
|
78
|
+
Date: 7/2/2023
|
|
79
|
+
|
|
80
|
+
## 028de82d-7fd9-476e-a9fd-be9714280ff3
|
|
81
|
+
|
|
82
|
+
Property | Value
|
|
83
|
+
---------|-------
|
|
84
|
+
name | 028de82d-7fd9-476e-a9fd-be9714280ff3
|
|
85
|
+
connectedAs | alexw@contoso.com
|
|
86
|
+
authType | DeviceCode
|
|
87
|
+
active | true
|
|
88
|
+
|
|
89
|
+
## acd6df42-10a9-4315-8928-53334f1c9d01
|
|
90
|
+
|
|
91
|
+
Property | Value
|
|
92
|
+
---------|-------
|
|
93
|
+
name | acd6df42-10a9-4315-8928-53334f1c9d01
|
|
94
|
+
connectedAs | Contoso Application
|
|
95
|
+
authType | Secret
|
|
96
|
+
active | false
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
</TabItem>
|
|
100
|
+
</Tabs>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
|
|
3
|
+
# connection remove
|
|
4
|
+
|
|
5
|
+
Remove the specified connection
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
m365 connection remove [options]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Options
|
|
14
|
+
|
|
15
|
+
```md definition-list
|
|
16
|
+
`-n, --name <name>`
|
|
17
|
+
: The name of the connection to remove.
|
|
18
|
+
|
|
19
|
+
`-f, --force`
|
|
20
|
+
: Don't prompt for confirmation to remove the connection.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
<Global />
|
|
24
|
+
|
|
25
|
+
## Remarks
|
|
26
|
+
|
|
27
|
+
The value for `--name` can be found by running [m365 connection list](connection-list.mdx).
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
Remove an existing connection
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
m365 connection remove --name '0bb7cb89-7fae-4775-a01a-c372cc167371'
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Remove an existing connection without prompting for confirmation
|
|
38
|
+
|
|
39
|
+
```sh
|
|
40
|
+
m365 connection remove --name '0bb7cb89-7fae-4775-a01a-c372cc167371' --force
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Response
|
|
44
|
+
|
|
45
|
+
The command won't return a response on success.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
|
|
3
|
+
# connection set
|
|
4
|
+
|
|
5
|
+
Rename the specified connection
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
m365 connection set [options]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Options
|
|
14
|
+
|
|
15
|
+
```md definition-list
|
|
16
|
+
`-n, --name <name>`
|
|
17
|
+
: The name of the connection to update.
|
|
18
|
+
|
|
19
|
+
`--newName <newName>`
|
|
20
|
+
: The new name of the connection.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
<Global />
|
|
24
|
+
|
|
25
|
+
## Remarks
|
|
26
|
+
|
|
27
|
+
The value for `--name` can be found by running [m365 connection list](connection-list.mdx). You can update the name of a connection to any value to make switching connections easier.
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
Update an existing connection
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
m365 connection set --name '0bb7cb89-7fae-4775-a01a-c372cc167371' --newName 'myworkaccount'
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Response
|
|
38
|
+
|
|
39
|
+
The command won't return a response on success.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
import Tabs from '@theme/Tabs';
|
|
3
|
+
import TabItem from '@theme/TabItem';
|
|
4
|
+
|
|
5
|
+
# connection use
|
|
6
|
+
|
|
7
|
+
Activate the specified Microsoft 365 tenant connection
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
m365 connection use [options]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Options
|
|
16
|
+
|
|
17
|
+
```md definition-list
|
|
18
|
+
`-n, --name <name>`
|
|
19
|
+
: The name of the connection to switch to.
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
<Global />
|
|
23
|
+
|
|
24
|
+
## Remarks
|
|
25
|
+
|
|
26
|
+
The value for `--name` can be found by running [m365 connection list](connection-list.mdx). You can update the name of a connection by running [m365 connection set](connection-set.mdx).
|
|
27
|
+
|
|
28
|
+
## Examples
|
|
29
|
+
|
|
30
|
+
Switch to a different connection
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
m365 connection use --name '6e70c8ea-571d-4daf-bc48-9e1b49ac3390'
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Switch to another connection by a custom connection name
|
|
37
|
+
|
|
38
|
+
```sh
|
|
39
|
+
m365 connection use --name 'myworkaccount'
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Response
|
|
43
|
+
|
|
44
|
+
<Tabs>
|
|
45
|
+
<TabItem value="JSON">
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"connectedAs": "alexw@contoso.com",
|
|
50
|
+
"connectedName": "028de82d-7fd9-476e-a9fd-be9714280ff3",
|
|
51
|
+
"authType": "DeviceCode",
|
|
52
|
+
"appId": "31359c7f-bd7e-475c-86db-fdb8c937548e",
|
|
53
|
+
"appTenant": "common",
|
|
54
|
+
"cloudType": "Public"
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
</TabItem>
|
|
59
|
+
<TabItem value="Text">
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
appId : 31359c7f-bd7e-475c-86db-fdb8c937548e
|
|
63
|
+
appTenant : common
|
|
64
|
+
authType : DeviceCode
|
|
65
|
+
cloudType : Public
|
|
66
|
+
connectionName : 028de82d-7fd9-476e-a9fd-be9714280ff3
|
|
67
|
+
connectedAs: alexw@contoso.com
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
</TabItem>
|
|
71
|
+
<TabItem value="CSV">
|
|
72
|
+
|
|
73
|
+
```csv
|
|
74
|
+
connectionName,connectedAs,authType,appId,appTenant,cloudType
|
|
75
|
+
alexw@contoso.com,028de82d-7fd9-476e-a9fd-be9714280ff3,DeviceCode,31359c7f-bd7e-475c-86db-fdb8c937548e,common,Public
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</TabItem>
|
|
79
|
+
<TabItem value="Markdown">
|
|
80
|
+
|
|
81
|
+
```md
|
|
82
|
+
# connection use
|
|
83
|
+
|
|
84
|
+
Date: 7/2/2023
|
|
85
|
+
|
|
86
|
+
Property | Value
|
|
87
|
+
---------|-------
|
|
88
|
+
connectedAs | alexw@contoso.com
|
|
89
|
+
connectionName | 028de82d-7fd9-476e-a9fd-be9714280ff3
|
|
90
|
+
authType | DeviceCode
|
|
91
|
+
appId | 31359c7f-bd7e-475c-86db-fdb8c937548e
|
|
92
|
+
appTenant | common
|
|
93
|
+
cloudType | Public
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
</TabItem>
|
|
97
|
+
</Tabs>
|
|
98
|
+
|
|
@@ -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
|
|