@pnp/cli-microsoft365 5.9.0-beta.3de06bc → 5.9.0-beta.42a0949
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.js +17 -2
- package/README.md +5 -0
- package/dist/m365/aad/commands/app/app-add.js +37 -13
- package/dist/m365/outlook/commands/mail/mail-send.js +55 -31
- package/dist/m365/planner/commands/bucket/bucket-get.js +1 -1
- package/dist/m365/pp/commands/Environment.js +3 -0
- package/dist/m365/pp/commands/card/card-list.js +68 -0
- package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +69 -0
- package/dist/m365/pp/commands/environment/environment-get.js +75 -0
- package/dist/m365/pp/commands/solution/Solution.js +3 -0
- package/dist/m365/pp/commands/solution/solution-list.js +87 -0
- package/dist/m365/pp/commands.js +4 -0
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.14.0.js +0 -2
- package/dist/m365/spfx/commands/spfx-doctor.js +37 -7
- package/dist/m365/spo/commands/eventreceiver/EventReceiver.js +3 -0
- package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +182 -0
- package/dist/m365/spo/commands/file/file-copy.js +25 -39
- package/dist/m365/spo/commands/file/file-move.js +24 -37
- package/dist/m365/spo/commands/file/file-rename.js +19 -16
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +231 -0
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +129 -0
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +168 -0
- package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +94 -0
- package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/group/AssociatedGroupPropertiesCollection.js +3 -0
- package/dist/m365/spo/commands/group/group-list.js +49 -10
- package/dist/m365/spo/commands/list/list-contenttype-add.js +21 -18
- package/dist/m365/spo/commands/list/list-contenttype-default-set.js +59 -47
- package/dist/m365/spo/commands/list/list-contenttype-list.js +16 -8
- package/dist/m365/spo/commands/list/list-contenttype-remove.js +16 -8
- package/dist/m365/spo/commands/list/list-roleassignment-add.js +10 -10
- package/dist/m365/spo/commands/list/list-roleassignment-remove.js +8 -8
- package/dist/m365/spo/commands/list/list-roleinheritance-break.js +14 -6
- package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +15 -7
- package/dist/m365/spo/commands/list/list-webhook-add.js +19 -11
- package/dist/m365/spo/commands/list/list-webhook-get.js +17 -9
- package/dist/m365/spo/commands/list/list-webhook-list.js +23 -24
- package/dist/m365/spo/commands/list/list-webhook-remove.js +19 -11
- package/dist/m365/spo/commands/list/list-webhook-set.js +18 -10
- package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +8 -8
- package/dist/m365/spo/commands/web/web-roleassignment-add.js +10 -10
- package/dist/m365/spo/commands/web/web-roleassignment-remove.js +8 -8
- package/dist/m365/spo/commands.js +5 -0
- package/dist/m365/teams/commands/channel/channel-add.js +9 -9
- package/dist/m365/todo/commands/task/task-set.js +53 -1
- package/dist/utils/powerPlatform.js +42 -0
- package/docs/docs/_clisettings.md +19 -0
- package/docs/docs/cmd/outlook/mail/mail-send.md +13 -0
- package/docs/docs/cmd/pp/card/card-list.md +33 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +33 -0
- package/docs/docs/cmd/pp/environment/environment-get.md +38 -0
- package/docs/docs/cmd/pp/environment/environment-list.md +1 -1
- package/docs/docs/cmd/pp/solution/solution-list.md +33 -0
- package/docs/docs/cmd/spfx/spfx-doctor.md +10 -1
- package/docs/docs/cmd/spo/eventreceiver/eventreceiver-get.md +2 -2
- package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +69 -0
- package/docs/docs/cmd/spo/file/file-roleassignment-add.md +57 -0
- package/docs/docs/cmd/spo/file/file-roleinheritance-break.md +54 -0
- package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.md +57 -0
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +39 -0
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +2 -2
- package/docs/docs/cmd/spo/group/group-list.md +10 -1
- package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +1 -1
- package/docs/docs/cmd/spo/hubsite/hubsite-get.md +3 -3
- package/docs/docs/cmd/spo/list/list-contenttype-add.md +16 -7
- package/docs/docs/cmd/spo/list/list-contenttype-default-set.md +16 -7
- package/docs/docs/cmd/spo/list/list-contenttype-list.md +15 -6
- package/docs/docs/cmd/spo/list/list-contenttype-remove.md +17 -8
- package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +11 -8
- package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +14 -5
- package/docs/docs/cmd/spo/list/list-webhook-add.md +15 -16
- package/docs/docs/cmd/spo/list/list-webhook-get.md +15 -6
- package/docs/docs/cmd/spo/list/list-webhook-list.md +16 -7
- package/docs/docs/cmd/spo/list/list-webhook-remove.md +12 -10
- package/docs/docs/cmd/spo/list/list-webhook-set.md +13 -11
- package/docs/docs/cmd/teams/channel/channel-add.md +4 -4
- package/docs/docs/cmd/todo/task/task-set.md +29 -2
- package/package.json +5 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +0 -60
|
@@ -44,15 +44,15 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand_1.default {
|
|
|
44
44
|
}
|
|
45
45
|
try {
|
|
46
46
|
if (args.options.upn) {
|
|
47
|
-
args.options.principalId = yield this.
|
|
48
|
-
yield this.
|
|
47
|
+
args.options.principalId = yield this.getUserPrincipalId(args.options);
|
|
48
|
+
yield this.removeRoleAssignment(logger, args.options);
|
|
49
49
|
}
|
|
50
50
|
else if (args.options.groupName) {
|
|
51
|
-
args.options.principalId = yield this.
|
|
52
|
-
yield this.
|
|
51
|
+
args.options.principalId = yield this.getGroupPrincipalId(args.options);
|
|
52
|
+
yield this.removeRoleAssignment(logger, args.options);
|
|
53
53
|
}
|
|
54
54
|
else {
|
|
55
|
-
yield this.
|
|
55
|
+
yield this.removeRoleAssignment(logger, args.options);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
catch (err) {
|
|
@@ -75,7 +75,7 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand_1.default {
|
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
-
|
|
78
|
+
removeRoleAssignment(logger, options) {
|
|
79
79
|
const requestOptions = {
|
|
80
80
|
url: `${options.webUrl}/_api/web/roleassignments/removeroleassignment(principalid='${options.principalId}')`,
|
|
81
81
|
method: 'POST',
|
|
@@ -90,7 +90,7 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand_1.default {
|
|
|
90
90
|
.then(_ => Promise.resolve())
|
|
91
91
|
.catch((err) => Promise.reject(err));
|
|
92
92
|
}
|
|
93
|
-
|
|
93
|
+
getGroupPrincipalId(options) {
|
|
94
94
|
const groupGetCommandOptions = {
|
|
95
95
|
webUrl: options.webUrl,
|
|
96
96
|
name: options.groupName,
|
|
@@ -106,7 +106,7 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand_1.default {
|
|
|
106
106
|
return Promise.reject(err);
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
|
-
|
|
109
|
+
getUserPrincipalId(options) {
|
|
110
110
|
const userGetCommandOptions = {
|
|
111
111
|
webUrl: options.webUrl,
|
|
112
112
|
email: options.upn,
|
|
@@ -38,6 +38,7 @@ exports.default = {
|
|
|
38
38
|
CUSTOMACTION_REMOVE: `${prefix} customaction remove`,
|
|
39
39
|
EVENTRECEIVER_GET: `${prefix} eventreceiver get`,
|
|
40
40
|
EVENTRECEIVER_LIST: `${prefix} eventreceiver list`,
|
|
41
|
+
EVENTRECEIVER_REMOVE: `${prefix} eventreceiver remove`,
|
|
41
42
|
EXTERNALUSER_LIST: `${prefix} externaluser list`,
|
|
42
43
|
FEATURE_DISABLE: `${prefix} feature disable`,
|
|
43
44
|
FEATURE_ENABLE: `${prefix} feature enable`,
|
|
@@ -56,7 +57,9 @@ exports.default = {
|
|
|
56
57
|
FILE_MOVE: `${prefix} file move`,
|
|
57
58
|
FILE_REMOVE: `${prefix} file remove`,
|
|
58
59
|
FILE_RENAME: `${prefix} file rename`,
|
|
60
|
+
FILE_ROLEASSIGNMENT_ADD: `${prefix} file roleassignment add`,
|
|
59
61
|
FILE_ROLEASSIGNMENT_REMOVE: `${prefix} file roleassignment remove`,
|
|
62
|
+
FILE_ROLEINHERITANCE_BREAK: `${prefix} file roleinheritance break`,
|
|
60
63
|
FILE_ROLEINHERITANCE_RESET: `${prefix} file roleinheritance reset`,
|
|
61
64
|
FILE_SHARINGINFO_GET: `${prefix} file sharinginfo get`,
|
|
62
65
|
FOLDER_ADD: `${prefix} folder add`,
|
|
@@ -66,6 +69,8 @@ exports.default = {
|
|
|
66
69
|
FOLDER_MOVE: `${prefix} folder move`,
|
|
67
70
|
FOLDER_REMOVE: `${prefix} folder remove`,
|
|
68
71
|
FOLDER_RENAME: `${prefix} folder rename`,
|
|
72
|
+
FOLDER_ROLEASSIGNMENT_REMOVE: `${prefix} folder roleassignment remove`,
|
|
73
|
+
FOLDER_ROLEINHERITANCE_BREAK: `${prefix} folder roleinheritance break`,
|
|
69
74
|
FOLDER_ROLEINHERITANCE_RESET: `${prefix} folder roleinheritance reset`,
|
|
70
75
|
GET: `${prefix} get`,
|
|
71
76
|
GROUP_ADD: `${prefix} group add`,
|
|
@@ -73,8 +73,8 @@ class TeamsChannelAddCommand extends GraphCommand_1.default {
|
|
|
73
73
|
},
|
|
74
74
|
responseType: 'json'
|
|
75
75
|
};
|
|
76
|
-
if (args.options.type === 'private') {
|
|
77
|
-
// Private channels must have at least 1 owner
|
|
76
|
+
if (args.options.type === 'private' || args.options.type === 'shared') {
|
|
77
|
+
// Private and Shared channels must have at least 1 owner
|
|
78
78
|
requestOptions.data.members = [
|
|
79
79
|
{
|
|
80
80
|
'@odata.type': '#microsoft.graph.aadUserConversationMember',
|
|
@@ -119,7 +119,7 @@ _TeamsChannelAddCommand_instances = new WeakSet(), _TeamsChannelAddCommand_initT
|
|
|
119
119
|
option: '-d, --description [description]'
|
|
120
120
|
}, {
|
|
121
121
|
option: '--type [type]',
|
|
122
|
-
autocomplete: ['standard', 'private']
|
|
122
|
+
autocomplete: ['standard', 'private', 'shared']
|
|
123
123
|
}, {
|
|
124
124
|
option: '--owner [owner]'
|
|
125
125
|
});
|
|
@@ -128,14 +128,14 @@ _TeamsChannelAddCommand_instances = new WeakSet(), _TeamsChannelAddCommand_initT
|
|
|
128
128
|
if (args.options.teamId && !validation_1.validation.isValidGuid(args.options.teamId)) {
|
|
129
129
|
return `${args.options.teamId} is not a valid GUID`;
|
|
130
130
|
}
|
|
131
|
-
if (args.options.type && ['standard', 'private'].indexOf(args.options.type) === -1) {
|
|
132
|
-
return `${args.options.type} is not a valid type value. Allowed values standard|private.`;
|
|
131
|
+
if (args.options.type && ['standard', 'private', 'shared'].indexOf(args.options.type) === -1) {
|
|
132
|
+
return `${args.options.type} is not a valid type value. Allowed values standard|private|shared.`;
|
|
133
133
|
}
|
|
134
|
-
if (args.options.type === 'private' && !args.options.owner) {
|
|
135
|
-
return
|
|
134
|
+
if ((args.options.type === 'private' || args.options.type === 'shared') && !args.options.owner) {
|
|
135
|
+
return `Specify owner when creating a ${args.options.type} channel.`;
|
|
136
136
|
}
|
|
137
|
-
if (args.options.type !== 'private' && args.options.owner) {
|
|
138
|
-
return
|
|
137
|
+
if ((args.options.type !== 'private' && args.options.type !== 'shared') && args.options.owner) {
|
|
138
|
+
return `Specify owner only when creating a private or shared channel.`;
|
|
139
139
|
}
|
|
140
140
|
return true;
|
|
141
141
|
}));
|
|
@@ -16,6 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
16
16
|
var _TodoTaskSetCommand_instances, _TodoTaskSetCommand_initTelemetry, _TodoTaskSetCommand_initOptions, _TodoTaskSetCommand_initValidators, _TodoTaskSetCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const request_1 = require("../../../../request");
|
|
19
|
+
const validation_1 = require("../../../../utils/validation");
|
|
19
20
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
20
21
|
const commands_1 = require("../../commands");
|
|
21
22
|
class TodoTaskSetCommand extends GraphCommand_1.default {
|
|
@@ -76,7 +77,14 @@ class TodoTaskSetCommand extends GraphCommand_1.default {
|
|
|
76
77
|
return Promise.resolve(taskList.id);
|
|
77
78
|
});
|
|
78
79
|
}
|
|
80
|
+
getDateTimeTimeZone(dateTime) {
|
|
81
|
+
return {
|
|
82
|
+
dateTime: dateTime,
|
|
83
|
+
timeZone: 'Etc/GMT'
|
|
84
|
+
};
|
|
85
|
+
}
|
|
79
86
|
mapRequestBody(options) {
|
|
87
|
+
var _a;
|
|
80
88
|
const requestBody = {};
|
|
81
89
|
if (options.status) {
|
|
82
90
|
requestBody.status = options.status;
|
|
@@ -84,6 +92,21 @@ class TodoTaskSetCommand extends GraphCommand_1.default {
|
|
|
84
92
|
if (options.title) {
|
|
85
93
|
requestBody.title = options.title;
|
|
86
94
|
}
|
|
95
|
+
if (options.importance) {
|
|
96
|
+
requestBody.importance = options.importance.toLowerCase();
|
|
97
|
+
}
|
|
98
|
+
if (options.bodyContentType || options.bodyContent) {
|
|
99
|
+
requestBody.body = {
|
|
100
|
+
content: options.bodyContent,
|
|
101
|
+
contentType: ((_a = options.bodyContentType) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || 'text'
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
if (options.dueDateTime) {
|
|
105
|
+
requestBody.dueDateTime = this.getDateTimeTimeZone(options.dueDateTime);
|
|
106
|
+
}
|
|
107
|
+
if (options.reminderDateTime) {
|
|
108
|
+
requestBody.reminderDateTime = this.getDateTimeTimeZone(options.reminderDateTime);
|
|
109
|
+
}
|
|
87
110
|
return requestBody;
|
|
88
111
|
}
|
|
89
112
|
}
|
|
@@ -93,7 +116,12 @@ _TodoTaskSetCommand_instances = new WeakSet(), _TodoTaskSetCommand_initTelemetry
|
|
|
93
116
|
listId: typeof args.options.listId !== 'undefined',
|
|
94
117
|
listName: typeof args.options.listName !== 'undefined',
|
|
95
118
|
status: typeof args.options.status !== 'undefined',
|
|
96
|
-
title: typeof args.options.title !== 'undefined'
|
|
119
|
+
title: typeof args.options.title !== 'undefined',
|
|
120
|
+
bodyContent: typeof args.options.bodyContent !== 'undefined',
|
|
121
|
+
bodyContentType: args.options.bodyContentType,
|
|
122
|
+
dueDateTime: typeof args.options.dueDateTime !== 'undefined',
|
|
123
|
+
importance: args.options.importance,
|
|
124
|
+
reminderDateTime: typeof args.options.reminderDateTime !== 'undefined'
|
|
97
125
|
});
|
|
98
126
|
});
|
|
99
127
|
}, _TodoTaskSetCommand_initOptions = function _TodoTaskSetCommand_initOptions() {
|
|
@@ -108,6 +136,18 @@ _TodoTaskSetCommand_instances = new WeakSet(), _TodoTaskSetCommand_initTelemetry
|
|
|
108
136
|
option: '--listName [listName]'
|
|
109
137
|
}, {
|
|
110
138
|
option: '--listId [listId]'
|
|
139
|
+
}, {
|
|
140
|
+
option: '--bodyContent [bodyContent]'
|
|
141
|
+
}, {
|
|
142
|
+
option: '--bodyContentType [bodyContentType]',
|
|
143
|
+
autocomplete: ['text', 'html']
|
|
144
|
+
}, {
|
|
145
|
+
option: '--dueDateTime [dueDateTime]'
|
|
146
|
+
}, {
|
|
147
|
+
option: '--importance [importance]',
|
|
148
|
+
autocomplete: ['low', 'normal', 'high']
|
|
149
|
+
}, {
|
|
150
|
+
option: '--reminderDateTime [reminderDateTime]'
|
|
111
151
|
});
|
|
112
152
|
}, _TodoTaskSetCommand_initValidators = function _TodoTaskSetCommand_initValidators() {
|
|
113
153
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -119,6 +159,18 @@ _TodoTaskSetCommand_instances = new WeakSet(), _TodoTaskSetCommand_initTelemetry
|
|
|
119
159
|
args.options.status !== 'deferred') {
|
|
120
160
|
return `${args.options.status} is not a valid value. Allowed values are notStarted|inProgress|completed|waitingOnOthers|deferred`;
|
|
121
161
|
}
|
|
162
|
+
if (args.options.bodyContentType && ['text', 'html'].indexOf(args.options.bodyContentType.toLowerCase()) === -1) {
|
|
163
|
+
return `'${args.options.bodyContentType}' is not a valid value for the bodyContentType option. Allowed values are text|html`;
|
|
164
|
+
}
|
|
165
|
+
if (args.options.importance && ['low', 'normal', 'high'].indexOf(args.options.importance.toLowerCase()) === -1) {
|
|
166
|
+
return `'${args.options.importance}' is not a valid value for the importance option. Allowed values are low|normal|high`;
|
|
167
|
+
}
|
|
168
|
+
if (args.options.dueDateTime && !validation_1.validation.isValidISODateTime(args.options.dueDateTime)) {
|
|
169
|
+
return `'${args.options.dueDateTime}' is not a valid ISO date string`;
|
|
170
|
+
}
|
|
171
|
+
if (args.options.reminderDateTime && !validation_1.validation.isValidISODateTime(args.options.reminderDateTime)) {
|
|
172
|
+
return `'${args.options.reminderDateTime}' is not a valid ISO date string`;
|
|
173
|
+
}
|
|
122
174
|
return true;
|
|
123
175
|
}));
|
|
124
176
|
}, _TodoTaskSetCommand_initOptionSets = function _TodoTaskSetCommand_initOptionSets() {
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.powerPlatform = void 0;
|
|
13
|
+
const request_1 = require("../request");
|
|
14
|
+
const powerPlatformResource = 'https://api.bap.microsoft.com';
|
|
15
|
+
exports.powerPlatform = {
|
|
16
|
+
getDynamicsInstanceApiUrl(environment, asAdmin) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
let url = '';
|
|
19
|
+
if (asAdmin) {
|
|
20
|
+
url = `${powerPlatformResource}/providers/Microsoft.BusinessAppPlatform/scopes/admin/environments/${encodeURIComponent(environment)}`;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
url = `${powerPlatformResource}/providers/Microsoft.BusinessAppPlatform/environments/${encodeURIComponent(environment)}`;
|
|
24
|
+
}
|
|
25
|
+
const requestOptions = {
|
|
26
|
+
url: `${url}?api-version=2020-10-01&$select=properties.linkedEnvironmentMetadata.instanceApiUrl`,
|
|
27
|
+
headers: {
|
|
28
|
+
accept: 'application/json;odata.metadata=none'
|
|
29
|
+
},
|
|
30
|
+
responseType: 'json'
|
|
31
|
+
};
|
|
32
|
+
try {
|
|
33
|
+
const response = yield request_1.default.get(requestOptions);
|
|
34
|
+
return Promise.resolve(response.properties.linkedEnvironmentMetadata.instanceApiUrl);
|
|
35
|
+
}
|
|
36
|
+
catch (ex) {
|
|
37
|
+
throw Error(`The environment '${environment}' could not be retrieved. See the inner exception for more details: ${ex.message}`);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=powerPlatform.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
## Available settings
|
|
2
|
+
|
|
3
|
+
Following is the list of configuration settings available in CLI for Microsoft 365.
|
|
4
|
+
|
|
5
|
+
Setting name|Definition|Default value
|
|
6
|
+
------------|----------|-------------
|
|
7
|
+
`autoOpenBrowserOnLogin`|Automatically open the browser to the Azure AD login page after running `m365 login` command in device code mode. This setting will be replaced by `autoOpenLinksInBrowser` in the next major release.|`false`
|
|
8
|
+
`autoOpenLinksInBrowser`|Automatically open the browser for all commands which return a url and expect the user to copy paste this to the browser. For example when logging in, using `m365 login` in device code mode. This setting will replace `autoOpenBrowserOnLogin` in the next major release.|`false`
|
|
9
|
+
`copyDeviceCodeToClipboard`|Automatically copy the device code to the clipboard when running `m365 login` command in device code mode|`false`
|
|
10
|
+
`csvEscape`|Single character used for escaping; only apply to characters matching the quote and the escape options|`"`
|
|
11
|
+
`csvHeader`|Display the column names on the first line|`true`
|
|
12
|
+
`csvQuote`|The quote characters surrounding a field. An empty quote value will preserve the original field, whether it contains quotation marks or not.|` `
|
|
13
|
+
`csvQuoted`|Quote all the non-empty fields even if not required|`false`
|
|
14
|
+
`csvQuotedEmpty`|Quote empty strings and overrides quoted_string on empty strings when defined|`false`
|
|
15
|
+
`errorOutput`|Defines if errors should be written to `stdout` or `stderr`|`stderr`
|
|
16
|
+
`output`|Defines the default output when issuing a command|`json`
|
|
17
|
+
`printErrorsAsPlainText`|When output mode is set to `json`, print error messages as plain-text rather than JSON|`true`
|
|
18
|
+
`prompt`|Prompts for missing values in required options|`false`
|
|
19
|
+
`showHelpOnFailure`|Automatically display help when executing a command failed|`true`
|
|
@@ -43,6 +43,9 @@ m365 outlook sendmail [options]
|
|
|
43
43
|
`--importance [importance]`
|
|
44
44
|
: The importance of the message. Available options: `low`, `normal` or `high`. Default is `normal`.
|
|
45
45
|
|
|
46
|
+
`--attachment [attachment]`
|
|
47
|
+
: Path to the file that will be added as attachment to the email. This option can be used multiple times to attach multiple attachments.
|
|
48
|
+
|
|
46
49
|
`--saveToSentItems [saveToSentItems]`
|
|
47
50
|
: Save email in the sent items folder. Default `true`.
|
|
48
51
|
|
|
@@ -50,6 +53,10 @@ m365 outlook sendmail [options]
|
|
|
50
53
|
|
|
51
54
|
## Remarks
|
|
52
55
|
|
|
56
|
+
### Attachments
|
|
57
|
+
|
|
58
|
+
When using the `attachment` option, note that the total size of all attachment files cannot exceed 3 MB.
|
|
59
|
+
|
|
53
60
|
### If you are connected using app only authentication
|
|
54
61
|
|
|
55
62
|
- Always specify a user id or upn in the `--sender` option. The email will be sent as if it came from the specified user, and can optionally be saved in the sent folder of that user account.
|
|
@@ -116,3 +123,9 @@ Send an email with cc and bcc recipients marked as important
|
|
|
116
123
|
```sh
|
|
117
124
|
m365 outlook mail send --to chris@contoso.com --cc claire@contoso.com --bcc randy@contoso.com --subject "DG2000 Data Sheets" --bodyContents "The latest data sheets are in the team site" --importance high
|
|
118
125
|
```
|
|
126
|
+
|
|
127
|
+
Send an email with multiple attachments
|
|
128
|
+
|
|
129
|
+
```sh
|
|
130
|
+
m365 outlook mail send --to chris@contoso.com --subject "Monthly reports" --bodyContents "Here are the reports of this month." --attachment "C:/Reports/File1.jpg" --attachment "C:/Reports/File2.docx" --attachment "C:/Reports/File3.xlsx"
|
|
131
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# pp card list
|
|
2
|
+
|
|
3
|
+
Lists Microsoft Power Platform cards in the specified Power Platform environment.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
pp card list [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-e, --environment <environment>`
|
|
14
|
+
: The name of the environment.
|
|
15
|
+
|
|
16
|
+
`-a, --asAdmin`
|
|
17
|
+
: Run the command as admin for environments you do not have explicitly assigned permissions to.
|
|
18
|
+
|
|
19
|
+
--8<-- "docs/cmd/_global.md"
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
List cards in a specific environment.
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
m365 pp card list --environment "Default-d87a7535-dd31-4437-bfe1-95340acd55c5"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
List cards in a specific environment as admin.
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
m365 pp card list --environment "Default-d87a7535-dd31-4437-bfe1-95340acd55c5" --asAdmin
|
|
33
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# pp dataverse table list
|
|
2
|
+
|
|
3
|
+
Lists dataverse tables in a given environment
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
pp dataverse table list [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-e, --environment <environment>`
|
|
14
|
+
: The name of the environment to list all tables for
|
|
15
|
+
|
|
16
|
+
`-a, --asAdmin`
|
|
17
|
+
: Set, to retrieve the dataverse tables as admin for environments you are not a member of.
|
|
18
|
+
|
|
19
|
+
--8<-- "docs/cmd/_global.md"
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
List all tables for the given environment
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
m365 pp dataverse table list -e "Default-2ca3eaa5-140f-4175-8261-3272edf9f339"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
List all tables for the given environment as Admin
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
m365 pp dataverse table list -e "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --asAdmin
|
|
33
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# pp environment get
|
|
2
|
+
|
|
3
|
+
Gets information about the specified Power Platform environment
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 pp environment get [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-n, --name <name>`
|
|
14
|
+
: The name of the environment to get information about
|
|
15
|
+
|
|
16
|
+
`-a, --asAdmin`
|
|
17
|
+
: Run the command as admin and retrieve details of environments you do not have explicitly assigned permissions to
|
|
18
|
+
|
|
19
|
+
## Remarks
|
|
20
|
+
|
|
21
|
+
!!! attention
|
|
22
|
+
This command is based on an API that is currently in preview and is subject to change once the API reached general availability.
|
|
23
|
+
Register CLI for Microsoft 365 or Azure AD application as a management application for the Power Platform using
|
|
24
|
+
m365 pp managementapp add [options]
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
Get information about the Power Platform environment by name
|
|
29
|
+
|
|
30
|
+
```sh
|
|
31
|
+
m365 pp environment get --name Default-d87a7535-dd31-4437-bfe1-95340acd55c5
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Get information as admin about the Power Platform environment by name
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
m365 pp environment get --name Default-d87a7535-dd31-4437-bfe1-95340acd55c5 --asAdmin
|
|
38
|
+
```
|
|
@@ -11,7 +11,7 @@ m365 pp environment list [options]
|
|
|
11
11
|
## Options
|
|
12
12
|
|
|
13
13
|
`-a, --asAdmin`
|
|
14
|
-
Run the command as admin and retrieve all environments. Lists only environments you have explicitly are assigned permissions to by default.
|
|
14
|
+
: Run the command as admin and retrieve all environments. Lists only environments you have explicitly are assigned permissions to by default.
|
|
15
15
|
|
|
16
16
|
--8<-- "docs/cmd/_global.md"
|
|
17
17
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# pp solution list
|
|
2
|
+
|
|
3
|
+
Lists solutions in a given environment.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 pp solution list [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-e, --environment <environment>`
|
|
14
|
+
: The name of the environment
|
|
15
|
+
|
|
16
|
+
`-a, --asAdmin`
|
|
17
|
+
: Run the command as admin for environments you do not have explicitly assigned permissions to.
|
|
18
|
+
|
|
19
|
+
--8<-- "docs/cmd/_global.md"
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
List all solutions in a specific environment
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
m365 pp solution list --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
List all solutions in a specific environment as Admin
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
m365 pp solution list --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --asAdmin
|
|
33
|
+
```
|
|
@@ -13,6 +13,9 @@ m365 spfx doctor [options]
|
|
|
13
13
|
`-e, --env [env]`
|
|
14
14
|
: Version of SharePoint for which to check compatibility: `sp2016|sp2019|spo`
|
|
15
15
|
|
|
16
|
+
`-v, --spfxVersion [spfxVersion]`
|
|
17
|
+
: Version of the SharePoint Framework Yeoman generator to check compatibility for without `v`, eg. `1.11.0`
|
|
18
|
+
|
|
16
19
|
`-h, --help`
|
|
17
20
|
: output usage information
|
|
18
21
|
|
|
@@ -48,7 +51,7 @@ Next to verifying the readiness of your environment to use a particular version
|
|
|
48
51
|
|
|
49
52
|
## Examples
|
|
50
53
|
|
|
51
|
-
Verify if your environment meets the requirements to work with the SharePoint Framework
|
|
54
|
+
Verify if your environment meets the requirements to work with SharePoint Framework based on the globally installed version of the SharePoint Framework Yeoman generator or the current project
|
|
52
55
|
|
|
53
56
|
```sh
|
|
54
57
|
m365 spfx doctor --output text
|
|
@@ -59,3 +62,9 @@ Verify if your environment meets the requirements to work with the SharePoint Fr
|
|
|
59
62
|
```sh
|
|
60
63
|
m365 spfx doctor --env sp2019 --output text
|
|
61
64
|
```
|
|
65
|
+
|
|
66
|
+
Verify if your environment meets the requirements to work with SharePoint Framework v1.11.0
|
|
67
|
+
|
|
68
|
+
```sh
|
|
69
|
+
m365 spfx doctor --spfxVersion 1.11.0 --output text
|
|
70
|
+
```
|
|
@@ -26,10 +26,10 @@ Specify either `listTitle`, `listId` or `listUrl`.
|
|
|
26
26
|
Specify either `listTitle`, `listId` or `listUrl`.
|
|
27
27
|
|
|
28
28
|
`-n, --name [name]`
|
|
29
|
-
The name of the event receiver to retrieve. Specify either `name` or `id` but not both.
|
|
29
|
+
: The name of the event receiver to retrieve. Specify either `name` or `id` but not both.
|
|
30
30
|
|
|
31
31
|
`-i, --id [id]`
|
|
32
|
-
The id of the event receiver to retrieve. Specify either `name` or `id` but not both.
|
|
32
|
+
: The id of the event receiver to retrieve. Specify either `name` or `id` but not both.
|
|
33
33
|
|
|
34
34
|
`-s, --scope [scope]`
|
|
35
35
|
: The scope of which to retrieve the Event Receivers.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# spo eventreceiver remove
|
|
2
|
+
|
|
3
|
+
Removes event receivers for the specified web, site, or list.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 spo eventreceiver remove [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-u, --webUrl <webUrl>`
|
|
14
|
+
: The URL of the web.
|
|
15
|
+
|
|
16
|
+
`--listTitle [listTitle]`
|
|
17
|
+
: The title of the list, _if the event receiver should be removed from a list_. Specify either `listTitle`, `listId` or `listUrl`.
|
|
18
|
+
|
|
19
|
+
`--listId [listId]`
|
|
20
|
+
: The id of the list, _if the event receiver should be retrieved from a list_. Specify either `listTitle`, `listId` or `listUrl`.
|
|
21
|
+
|
|
22
|
+
`--listUrl [listUrl]`
|
|
23
|
+
: The url of the list, _if the event receiver should be retrieved from a list_. Specify either `listTitle`, `listId` or `listUrl`.
|
|
24
|
+
|
|
25
|
+
`-n, --name [name]`
|
|
26
|
+
: The name. Specify either `name` or `id` but not both.
|
|
27
|
+
|
|
28
|
+
`-i, --id [id]`
|
|
29
|
+
: The id. Specify either `name` or `id` but not both.
|
|
30
|
+
|
|
31
|
+
`-s, --scope [scope]`
|
|
32
|
+
: The scope. Can be either "site" or "web". Defaults to "web". Only applicable when not specifying any of the list properties.
|
|
33
|
+
|
|
34
|
+
`--confirm`
|
|
35
|
+
: Don't prompt for confirming removing the event receiver
|
|
36
|
+
|
|
37
|
+
--8<-- "docs/cmd/_global.md"
|
|
38
|
+
|
|
39
|
+
## Examples
|
|
40
|
+
|
|
41
|
+
Remove event receiver in a specific web by name.
|
|
42
|
+
|
|
43
|
+
```sh
|
|
44
|
+
m365 spo eventreceiver remove --webUrl https://contoso.sharepoint.com/sites/contoso-sales --name 'PnP Test Receiver'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Remove event receiver in a specific site by id.
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
m365 spo eventreceiver remove --webUrl https://contoso.sharepoint.com/sites/contoso-sales --scope site --id c5a6444a-9c7f-4a0d-9e29-fc6fe30e34ec
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Remove event receiver in a specific list retrieved by title by name.
|
|
54
|
+
|
|
55
|
+
```sh
|
|
56
|
+
m365 spo eventreceiver remove --webUrl https://contoso.sharepoint.com/sites/contoso-sales --listTitle Events --name 'PnP Test Receiver'
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Remove event receiver in a specific list retrieved by list id by id.
|
|
60
|
+
|
|
61
|
+
```sh
|
|
62
|
+
m365 spo eventreceiver remove --webUrl https://contoso.sharepoint.com/sites/contoso-sales --listId '202b8199-b9de-43fd-9737-7f213f51c991' --id c5a6444a-9c7f-4a0d-9e29-fc6fe30e34ec
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Remove event receiver in a specific list retrieved by list url by name.
|
|
66
|
+
|
|
67
|
+
```sh
|
|
68
|
+
m365 spo eventreceiver remove --webUrl https://contoso.sharepoint.com/sites/contoso-sales --listUrl '/sites/contoso-sales/lists/Events' --name 'PnP Test Receiver'
|
|
69
|
+
```
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# spo file roleassignment add
|
|
2
|
+
|
|
3
|
+
Adds a role assignment to the specified file.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 spo file roleassignment add [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-u, --webUrl <webUrl>`
|
|
14
|
+
: URL of the site where the file is located
|
|
15
|
+
|
|
16
|
+
`--fileUrl [fileUrl]`
|
|
17
|
+
: The server-relative URL of the file to retrieve. Specify either `fileUrl` or `fileId` but not both
|
|
18
|
+
|
|
19
|
+
`i, --fileId [fileId]`
|
|
20
|
+
: The UniqueId (GUID) of the file to retrieve. Specify either `fileUrl` or `fileId` but not both
|
|
21
|
+
|
|
22
|
+
`--principalId [principalId]`
|
|
23
|
+
: The SharePoint Id of the principal. It may be either a user id or group id to add a role assignment for. Specify either upn, groupName or principalId.
|
|
24
|
+
|
|
25
|
+
`--upn [upn]`
|
|
26
|
+
: upn/email of user to assign role to. Specify either upn, groupName or principalId.
|
|
27
|
+
|
|
28
|
+
`--groupName [groupName]`
|
|
29
|
+
: The group name of Azure AD or SharePoint group. Specify either upn, groupName or principalId.
|
|
30
|
+
|
|
31
|
+
`--roleDefinitionId [roleDefinitionId]`
|
|
32
|
+
: ID of role definition. Specify either roleDefinitionId or roleDefinitionName but not both
|
|
33
|
+
|
|
34
|
+
`--roleDefinitionName [roleDefinitionName]`
|
|
35
|
+
: Enter the name of a role definition, like 'Contribute', 'Read', etc. Specify either roleDefinitionId or roleDefinitionName but not both
|
|
36
|
+
|
|
37
|
+
--8<-- "docs/cmd/_global.md"
|
|
38
|
+
|
|
39
|
+
## Examples
|
|
40
|
+
|
|
41
|
+
Adds a role assignment to a file with a specified id. It will use a principal id and a specific role definition id.
|
|
42
|
+
|
|
43
|
+
```sh
|
|
44
|
+
m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileId "b2307a39-e878-458b-bc90-03bc578531d6" --principalId 11 --roleDefinitionId 1073741829
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Adds a role assignment to a file with a specified site-relative URL for a specific upn and a role definition name.
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileUrl "Shared Documents/Test1.docx" --upn "testuser@tenant.onmicrosoft.com" --roleDefinitionName "Full Control"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Adds a role assignment to a file with a specified server-relative URL the for a specific group and a role definition name.
|
|
54
|
+
|
|
55
|
+
```sh
|
|
56
|
+
m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileUrl "/sites/project-x/documents/Test1.docx" --upn "testuser@tenant.onmicrosoft.com" --roleDefinitionName "Read"
|
|
57
|
+
```
|