@pnp/cli-microsoft365 7.0.0-beta.4bb805e → 7.0.0-beta.68fea7b
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/dist/m365/aad/commands/user/user-get.js +7 -1
- package/dist/m365/pa/commands/app/app-owner-set.js +115 -0
- package/dist/m365/pa/commands/app/app-permission-list.js +104 -0
- package/dist/m365/pa/commands.js +2 -0
- package/dist/m365/planner/commands/bucket/bucket-add.js +14 -10
- package/dist/m365/planner/commands/bucket/bucket-get.js +25 -19
- package/dist/m365/planner/commands/bucket/bucket-list.js +14 -10
- package/dist/m365/planner/commands/bucket/bucket-remove.js +26 -20
- package/dist/m365/planner/commands/bucket/bucket-set.js +26 -28
- package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +19 -17
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +19 -17
- package/dist/m365/spo/commands/site/site-commsite-enable.js +9 -18
- package/dist/m365/spo/commands/theme/theme-get.js +1 -2
- package/dist/m365/teams/commands/chat/chat-member-add.js +117 -0
- package/dist/m365/teams/commands/team/team-app-list.js +1 -1
- package/dist/m365/teams/commands.js +1 -0
- package/docs/docs/cmd/aad/user/user-get.mdx +118 -25
- package/docs/docs/cmd/pa/app/app-owner-set.mdx +60 -0
- package/docs/docs/cmd/pa/app/app-permission-list.mdx +132 -0
- package/docs/docs/cmd/planner/bucket/bucket-add.mdx +21 -4
- package/docs/docs/cmd/planner/bucket/bucket-get.mdx +22 -5
- package/docs/docs/cmd/planner/bucket/bucket-list.mdx +21 -4
- package/docs/docs/cmd/planner/bucket/bucket-remove.mdx +21 -4
- package/docs/docs/cmd/planner/bucket/bucket-set.mdx +22 -5
- package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +11 -1
- package/docs/docs/cmd/teams/chat/chat-member-add.mdx +66 -0
- package/package.json +1 -1
|
@@ -36,23 +36,8 @@ class PurviewRetentionEventRemoveCommand extends GraphCommand_1.default {
|
|
|
36
36
|
}
|
|
37
37
|
commandAction(logger, args) {
|
|
38
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const removeRetentionEvent = () => __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
try {
|
|
41
|
-
const requestOptions = {
|
|
42
|
-
url: `${this.resource}/v1.0/security/triggers/retentionEvents/${args.options.id}`,
|
|
43
|
-
headers: {
|
|
44
|
-
accept: 'application/json;odata.metadata=none'
|
|
45
|
-
},
|
|
46
|
-
responseType: 'json'
|
|
47
|
-
};
|
|
48
|
-
yield request_1.default.delete(requestOptions);
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
this.handleRejectedODataJsonPromise(err);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
39
|
if (args.options.force) {
|
|
55
|
-
yield removeRetentionEvent();
|
|
40
|
+
yield this.removeRetentionEvent(args.options);
|
|
56
41
|
}
|
|
57
42
|
else {
|
|
58
43
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -62,11 +47,28 @@ class PurviewRetentionEventRemoveCommand extends GraphCommand_1.default {
|
|
|
62
47
|
message: `Are you sure you want to remove the retention event ${args.options.id}?`
|
|
63
48
|
});
|
|
64
49
|
if (result.continue) {
|
|
65
|
-
yield removeRetentionEvent();
|
|
50
|
+
yield this.removeRetentionEvent(args.options);
|
|
66
51
|
}
|
|
67
52
|
}
|
|
68
53
|
});
|
|
69
54
|
}
|
|
55
|
+
removeRetentionEvent(options) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
try {
|
|
58
|
+
const requestOptions = {
|
|
59
|
+
url: `${this.resource}/beta/security/triggers/retentionEvents/${options.id}`,
|
|
60
|
+
headers: {
|
|
61
|
+
accept: 'application/json;odata.metadata=none'
|
|
62
|
+
},
|
|
63
|
+
responseType: 'json'
|
|
64
|
+
};
|
|
65
|
+
yield request_1.default.delete(requestOptions);
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
this.handleRejectedODataJsonPromise(err);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
70
72
|
}
|
|
71
73
|
_PurviewRetentionEventRemoveCommand_instances = new WeakSet(), _PurviewRetentionEventRemoveCommand_initTelemetry = function _PurviewRetentionEventRemoveCommand_initTelemetry() {
|
|
72
74
|
this.telemetry.push((args) => {
|
|
@@ -36,23 +36,8 @@ class PurviewRetentionEventTypeRemoveCommand extends GraphCommand_1.default {
|
|
|
36
36
|
}
|
|
37
37
|
commandAction(logger, args) {
|
|
38
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const removeRetentionEventType = () => __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
try {
|
|
41
|
-
const requestOptions = {
|
|
42
|
-
url: `${this.resource}/v1.0/security/triggerTypes/retentionEventTypes/${args.options.id}`,
|
|
43
|
-
headers: {
|
|
44
|
-
accept: 'application/json;odata.metadata=none'
|
|
45
|
-
},
|
|
46
|
-
responseType: 'json'
|
|
47
|
-
};
|
|
48
|
-
yield request_1.default.delete(requestOptions);
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
this.handleRejectedODataJsonPromise(err);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
39
|
if (args.options.force) {
|
|
55
|
-
yield removeRetentionEventType();
|
|
40
|
+
yield this.removeRetentionEventType(args.options);
|
|
56
41
|
}
|
|
57
42
|
else {
|
|
58
43
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -62,11 +47,28 @@ class PurviewRetentionEventTypeRemoveCommand extends GraphCommand_1.default {
|
|
|
62
47
|
message: `Are you sure you want to remove the retention event type with id ${args.options.id}?`
|
|
63
48
|
});
|
|
64
49
|
if (result.continue) {
|
|
65
|
-
yield removeRetentionEventType();
|
|
50
|
+
yield this.removeRetentionEventType(args.options);
|
|
66
51
|
}
|
|
67
52
|
}
|
|
68
53
|
});
|
|
69
54
|
}
|
|
55
|
+
removeRetentionEventType(options) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
try {
|
|
58
|
+
const requestOptions = {
|
|
59
|
+
url: `${this.resource}/v1.0/security/triggerTypes/retentionEventTypes/${options.id}`,
|
|
60
|
+
headers: {
|
|
61
|
+
accept: 'application/json;odata.metadata=none'
|
|
62
|
+
},
|
|
63
|
+
responseType: 'json'
|
|
64
|
+
};
|
|
65
|
+
yield request_1.default.delete(requestOptions);
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
this.handleRejectedODataJsonPromise(err);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
70
72
|
}
|
|
71
73
|
_PurviewRetentionEventTypeRemoveCommand_instances = new WeakSet(), _PurviewRetentionEventTypeRemoveCommand_initTelemetry = function _PurviewRetentionEventTypeRemoveCommand_initTelemetry() {
|
|
72
74
|
this.telemetry.push((args) => {
|
|
@@ -15,10 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoSiteCommSiteEnableCommand_instances, _SpoSiteCommSiteEnableCommand_initTelemetry, _SpoSiteCommSiteEnableCommand_initOptions, _SpoSiteCommSiteEnableCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
const config_1 = require("../../../../config");
|
|
19
18
|
const request_1 = require("../../../../request");
|
|
20
|
-
const formatting_1 = require("../../../../utils/formatting");
|
|
21
|
-
const spo_1 = require("../../../../utils/spo");
|
|
22
19
|
const validation_1 = require("../../../../utils/validation");
|
|
23
20
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
24
21
|
const commands_1 = require("../../commands");
|
|
@@ -38,26 +35,20 @@ class SpoSiteCommSiteEnableCommand extends SpoCommand_1.default {
|
|
|
38
35
|
}
|
|
39
36
|
commandAction(logger, args) {
|
|
40
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const designPackageId = args.options.designPackageId || '
|
|
38
|
+
const designPackageId = args.options.designPackageId || '96c933ac-3698-44c7-9f4a-5fd17d71af9e';
|
|
39
|
+
if (this.verbose) {
|
|
40
|
+
logger.logToStderr(`Enabling communication site at ${args.options.url}...`);
|
|
41
|
+
}
|
|
42
42
|
try {
|
|
43
|
-
const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
44
|
-
if (this.debug) {
|
|
45
|
-
logger.logToStderr(`Retrieving request digest...`);
|
|
46
|
-
}
|
|
47
|
-
const ctxInfo = yield spo_1.spo.getRequestDigest(spoAdminUrl);
|
|
48
43
|
const requestOptions = {
|
|
49
|
-
url: `${
|
|
44
|
+
url: `${args.options.url}/_api/sitepages/communicationsite/enable`,
|
|
50
45
|
headers: {
|
|
51
|
-
'
|
|
46
|
+
'accept': 'application/json;odata=nometadata'
|
|
52
47
|
},
|
|
53
|
-
data:
|
|
48
|
+
data: { designPackageId },
|
|
49
|
+
responseType: 'json'
|
|
54
50
|
};
|
|
55
|
-
|
|
56
|
-
const json = JSON.parse(res);
|
|
57
|
-
const response = json[0];
|
|
58
|
-
if (response.ErrorInfo) {
|
|
59
|
-
throw response.ErrorInfo.ErrorMessage;
|
|
60
|
-
}
|
|
51
|
+
yield request_1.default.post(requestOptions);
|
|
61
52
|
}
|
|
62
53
|
catch (err) {
|
|
63
54
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -54,8 +54,7 @@ class SpoThemeGetCommand extends SpoCommand_1.default {
|
|
|
54
54
|
if (contents && contents.ErrorInfo) {
|
|
55
55
|
throw contents.ErrorInfo.ErrorMessage || 'ClientSvc unknown error';
|
|
56
56
|
}
|
|
57
|
-
const
|
|
58
|
-
const theme = json2[6];
|
|
57
|
+
const theme = json[6];
|
|
59
58
|
delete theme._ObjectType_;
|
|
60
59
|
logger.log(theme);
|
|
61
60
|
}
|
|
@@ -0,0 +1,117 @@
|
|
|
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
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _TeamsChatMemberAddCommand_instances, _TeamsChatMemberAddCommand_initTelemetry, _TeamsChatMemberAddCommand_initOptions, _TeamsChatMemberAddCommand_initValidators, _TeamsChatMemberAddCommand_initOptionSets;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const validation_1 = require("../../../../utils/validation");
|
|
19
|
+
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
20
|
+
const commands_1 = require("../../commands");
|
|
21
|
+
const request_1 = require("../../../../request");
|
|
22
|
+
const formatting_1 = require("../../../../utils/formatting");
|
|
23
|
+
class TeamsChatMemberAddCommand extends GraphCommand_1.default {
|
|
24
|
+
get name() {
|
|
25
|
+
return commands_1.default.CHAT_MEMBER_ADD;
|
|
26
|
+
}
|
|
27
|
+
get description() {
|
|
28
|
+
return 'Adds a member to a Microsoft Teams chat conversation.';
|
|
29
|
+
}
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
_TeamsChatMemberAddCommand_instances.add(this);
|
|
33
|
+
__classPrivateFieldGet(this, _TeamsChatMemberAddCommand_instances, "m", _TeamsChatMemberAddCommand_initTelemetry).call(this);
|
|
34
|
+
__classPrivateFieldGet(this, _TeamsChatMemberAddCommand_instances, "m", _TeamsChatMemberAddCommand_initOptions).call(this);
|
|
35
|
+
__classPrivateFieldGet(this, _TeamsChatMemberAddCommand_instances, "m", _TeamsChatMemberAddCommand_initValidators).call(this);
|
|
36
|
+
__classPrivateFieldGet(this, _TeamsChatMemberAddCommand_instances, "m", _TeamsChatMemberAddCommand_initOptionSets).call(this);
|
|
37
|
+
}
|
|
38
|
+
commandAction(logger, args) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
try {
|
|
41
|
+
if (this.verbose) {
|
|
42
|
+
logger.logToStderr(`Adding member ${args.options.userId || args.options.userName} to chat with id ${args.options.chatId}...`);
|
|
43
|
+
}
|
|
44
|
+
const chatMemberAddOptions = {
|
|
45
|
+
url: `${this.resource}/v1.0/chats/${args.options.chatId}/members`,
|
|
46
|
+
headers: {
|
|
47
|
+
accept: 'application/json;odata.metadata=none'
|
|
48
|
+
},
|
|
49
|
+
responseType: 'json',
|
|
50
|
+
data: {
|
|
51
|
+
'@odata.type': '#microsoft.graph.aadUserConversationMember',
|
|
52
|
+
'user@odata.bind': `https://graph.microsoft.com/v1.0/users/${args.options.userId || formatting_1.formatting.encodeQueryParameter(args.options.userName)}`,
|
|
53
|
+
visibleHistoryStartDateTime: args.options.includeAllHistory ? '0001-01-01T00:00:00Z' : args.options.visibleHistoryStartDateTime,
|
|
54
|
+
roles: [args.options.role || 'owner']
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
yield request_1.default.post(chatMemberAddOptions);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
this.handleRejectedODataJsonPromise(err);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
_TeamsChatMemberAddCommand_instances = new WeakSet(), _TeamsChatMemberAddCommand_initTelemetry = function _TeamsChatMemberAddCommand_initTelemetry() {
|
|
66
|
+
this.telemetry.push((args) => {
|
|
67
|
+
Object.assign(this.telemetryProperties, {
|
|
68
|
+
userId: typeof args.options.userId !== 'undefined',
|
|
69
|
+
userName: typeof args.options.userName !== 'undefined',
|
|
70
|
+
role: typeof args.options.role !== 'undefined',
|
|
71
|
+
visibleHistoryStartDateTime: typeof args.options.visibleHistoryStartDateTime !== 'undefined',
|
|
72
|
+
includeAllHistory: !!args.options.includeAllHistory
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
}, _TeamsChatMemberAddCommand_initOptions = function _TeamsChatMemberAddCommand_initOptions() {
|
|
76
|
+
this.options.unshift({
|
|
77
|
+
option: '-i, --chatId <chatId>'
|
|
78
|
+
}, {
|
|
79
|
+
option: '--userId [userId]'
|
|
80
|
+
}, {
|
|
81
|
+
option: '--userName [userName]'
|
|
82
|
+
}, {
|
|
83
|
+
option: '--role [role]',
|
|
84
|
+
autocomplete: TeamsChatMemberAddCommand.roles
|
|
85
|
+
}, {
|
|
86
|
+
option: '--visibleHistoryStartDateTime [visibleHistoryStartDateTime]'
|
|
87
|
+
}, {
|
|
88
|
+
option: '--includeAllHistory'
|
|
89
|
+
});
|
|
90
|
+
}, _TeamsChatMemberAddCommand_initValidators = function _TeamsChatMemberAddCommand_initValidators() {
|
|
91
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
if (!validation_1.validation.isValidTeamsChatId(args.options.chatId)) {
|
|
93
|
+
return `${args.options.chatId} is not a valid chatId.`;
|
|
94
|
+
}
|
|
95
|
+
if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
|
|
96
|
+
return `${args.options.userId} is not a valid userId.`;
|
|
97
|
+
}
|
|
98
|
+
if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
|
|
99
|
+
return `${args.options.userName} is not a valid userName.`;
|
|
100
|
+
}
|
|
101
|
+
if (args.options.role && TeamsChatMemberAddCommand.roles.indexOf(args.options.role) < 0) {
|
|
102
|
+
return `${args.options.role} is not a valid role. Allowed values are ${TeamsChatMemberAddCommand.roles.join(', ')}`;
|
|
103
|
+
}
|
|
104
|
+
if (args.options.visibleHistoryStartDateTime && !validation_1.validation.isValidISODateTime(args.options.visibleHistoryStartDateTime)) {
|
|
105
|
+
return `'${args.options.visibleHistoryStartDateTime}' is not a valid visibleHistoryStartDateTime.`;
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
}));
|
|
109
|
+
}, _TeamsChatMemberAddCommand_initOptionSets = function _TeamsChatMemberAddCommand_initOptionSets() {
|
|
110
|
+
this.optionSets.push({ options: ['userId', 'userName'] }, {
|
|
111
|
+
options: ['visibleHistoryStartDateTime', 'includeAllHistory'],
|
|
112
|
+
runsWhen: (args) => args.options.visibleHistoryStartDateTime || args.options.includeAllHistory
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
TeamsChatMemberAddCommand.roles = ['owner', 'guest'];
|
|
116
|
+
module.exports = new TeamsChatMemberAddCommand();
|
|
117
|
+
//# sourceMappingURL=chat-member-add.js.map
|
|
@@ -43,7 +43,7 @@ class TeamsTeamAppListCommand extends GraphCommand_1.default {
|
|
|
43
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
44
|
try {
|
|
45
45
|
if (this.verbose) {
|
|
46
|
-
logger.logToStderr(`Retrieving installed apps for team '${args.options.teamId || args.options.
|
|
46
|
+
logger.logToStderr(`Retrieving installed apps for team '${args.options.teamId || args.options.teamName}'`);
|
|
47
47
|
}
|
|
48
48
|
const teamId = yield this.getTeamId(args);
|
|
49
49
|
const res = yield odata_1.odata.getAllItems(`${this.resource}/v1.0/teams/${teamId}/installedApps?$expand=teamsApp,teamsAppDefinition`);
|
|
@@ -20,6 +20,7 @@ exports.default = {
|
|
|
20
20
|
CHANNEL_SET: `${prefix} channel set`,
|
|
21
21
|
CHAT_GET: `${prefix} chat get`,
|
|
22
22
|
CHAT_LIST: `${prefix} chat list`,
|
|
23
|
+
CHAT_MEMBER_ADD: `${prefix} chat member add`,
|
|
23
24
|
CHAT_MEMBER_LIST: `${prefix} chat member list`,
|
|
24
25
|
CHAT_MEMBER_REMOVE: `${prefix} chat member remove`,
|
|
25
26
|
CHAT_MESSAGE_LIST: `${prefix} chat message list`,
|
|
@@ -25,7 +25,10 @@ m365 aad user get [options]
|
|
|
25
25
|
: The email of the user to retrieve information for. Use either `id`, `userName` or `email`, but not all.
|
|
26
26
|
|
|
27
27
|
`-p, --properties [properties]`
|
|
28
|
-
: Comma-separated list of properties to retrieve
|
|
28
|
+
: Comma-separated list of properties to retrieve.
|
|
29
|
+
|
|
30
|
+
`--withManager`
|
|
31
|
+
: Retrieve the direct manager of the user.
|
|
29
32
|
```
|
|
30
33
|
|
|
31
34
|
<Global />
|
|
@@ -74,24 +77,113 @@ Get information about the currently logged in user using the UserName token
|
|
|
74
77
|
m365 aad user get --userName "@meUserName"
|
|
75
78
|
```
|
|
76
79
|
|
|
80
|
+
Get information about a user with the manager's details
|
|
81
|
+
|
|
82
|
+
```sh
|
|
83
|
+
m365 aad user get --userName AarifS@contoso.onmicrosoft.com --withManager
|
|
84
|
+
```
|
|
85
|
+
|
|
77
86
|
## Response
|
|
78
87
|
|
|
88
|
+
### Standard response
|
|
89
|
+
|
|
90
|
+
<Tabs>
|
|
91
|
+
<TabItem value="JSON">
|
|
92
|
+
|
|
93
|
+
```json
|
|
94
|
+
{
|
|
95
|
+
"businessPhones": ["+32499-99-99-99"],
|
|
96
|
+
"displayName": "John Doe",
|
|
97
|
+
"givenName": "John",
|
|
98
|
+
"jobTitle": "Sales Manager",
|
|
99
|
+
"mail": "john.doe@contoso.com",
|
|
100
|
+
"mobilePhone": "+32499-99-99-99",
|
|
101
|
+
"officeLocation": "Vosselaar",
|
|
102
|
+
"preferredLanguage": "nl-BE",
|
|
103
|
+
"surname": "Doe",
|
|
104
|
+
"userPrincipalName": "john.doe@contoso.com",
|
|
105
|
+
"id": "990e2425-f595-43bc-85ed-b89a44093793"
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
</TabItem>
|
|
110
|
+
<TabItem value="Text">
|
|
111
|
+
|
|
112
|
+
```text
|
|
113
|
+
businessPhones : ["+32499-99-99-99"]
|
|
114
|
+
displayName : John Doe
|
|
115
|
+
givenName : John
|
|
116
|
+
id : 990e2425-f595-43bc-85ed-b89a44093793
|
|
117
|
+
jobTitle : Sales Manager
|
|
118
|
+
mail : john.doe@contoso.com
|
|
119
|
+
mobilePhone : +32499-99-99-99
|
|
120
|
+
officeLocation : Vosselaar
|
|
121
|
+
preferredLanguage: nl-BE
|
|
122
|
+
surname : Doe
|
|
123
|
+
userPrincipalName: john.doe@contoso.com
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
</TabItem>
|
|
127
|
+
<TabItem value="CSV">
|
|
128
|
+
|
|
129
|
+
```csv
|
|
130
|
+
displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id
|
|
131
|
+
John Doe,John,Sales Manager,john.doe@contoso.com,+32499-99-99-99,Vosselaar,nl-BE,Doe,john.doe@contoso.com,990e2425-f595-43bc-85ed-b89a44093793
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
</TabItem>
|
|
135
|
+
<TabItem value="Markdown">
|
|
136
|
+
|
|
137
|
+
```md
|
|
138
|
+
# aad user get --userName "john.doe@contoso.com"
|
|
139
|
+
|
|
140
|
+
Date: 16/02/2023
|
|
141
|
+
|
|
142
|
+
## John Doe (990e2425-f595-43bc-85ed-b89a44093793)
|
|
143
|
+
|
|
144
|
+
Property | Value
|
|
145
|
+
---------|-------
|
|
146
|
+
displayName | John Doe
|
|
147
|
+
givenName | John
|
|
148
|
+
jobTitle | Sales Manager
|
|
149
|
+
mail | john.doe@contoso.com
|
|
150
|
+
mobilePhone | +32499-99-99-99
|
|
151
|
+
officeLocation | Vosselaar
|
|
152
|
+
preferredLanguage | nl-BE
|
|
153
|
+
surname | Doe
|
|
154
|
+
userPrincipalName | john.doe@contoso.com
|
|
155
|
+
id | 990e2425-f595-43bc-85ed-b89a44093793
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
</TabItem>
|
|
159
|
+
</Tabs>
|
|
160
|
+
|
|
161
|
+
### `withManager` response
|
|
162
|
+
|
|
163
|
+
When we make use of the option `withManager` the response will differ.
|
|
164
|
+
|
|
79
165
|
<Tabs>
|
|
80
166
|
<TabItem value="JSON">
|
|
81
167
|
|
|
82
168
|
```json
|
|
83
169
|
{
|
|
84
|
-
"businessPhones": [],
|
|
170
|
+
"businessPhones": ["+32499-99-99-99"],
|
|
85
171
|
"displayName": "John Doe",
|
|
86
|
-
"givenName":
|
|
87
|
-
"jobTitle":
|
|
88
|
-
"mail":
|
|
89
|
-
"mobilePhone":
|
|
90
|
-
"officeLocation":
|
|
91
|
-
"preferredLanguage":
|
|
92
|
-
"surname":
|
|
172
|
+
"givenName": "John",
|
|
173
|
+
"jobTitle": "Sales Manager",
|
|
174
|
+
"mail": "john.doe@contoso.com",
|
|
175
|
+
"mobilePhone": "+32499-99-99-99",
|
|
176
|
+
"officeLocation": "Vosselaar",
|
|
177
|
+
"preferredLanguage": "nl-BE",
|
|
178
|
+
"surname": "Doe",
|
|
93
179
|
"userPrincipalName": "john.doe@contoso.com",
|
|
94
|
-
"id": "
|
|
180
|
+
"id": "990e2425-f595-43bc-85ed-b89a44093793",
|
|
181
|
+
"manager": {
|
|
182
|
+
"displayName": "Jane Doe",
|
|
183
|
+
"userPrincipalName": "jane.doe@contoso.com",
|
|
184
|
+
"id": "eb77fbcf-6fe8-458b-985d-1747284793bc",
|
|
185
|
+
"mail": "jane.doe@contoso.com"
|
|
186
|
+
}
|
|
95
187
|
}
|
|
96
188
|
```
|
|
97
189
|
|
|
@@ -99,16 +191,17 @@ m365 aad user get --userName "@meUserName"
|
|
|
99
191
|
<TabItem value="Text">
|
|
100
192
|
|
|
101
193
|
```text
|
|
102
|
-
businessPhones : []
|
|
194
|
+
businessPhones : ["+32499-99-99-99"]
|
|
103
195
|
displayName : John Doe
|
|
104
|
-
givenName :
|
|
105
|
-
id :
|
|
106
|
-
jobTitle :
|
|
107
|
-
mail :
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
196
|
+
givenName : John
|
|
197
|
+
id : 990e2425-f595-43bc-85ed-b89a44093793
|
|
198
|
+
jobTitle : Sales Manager
|
|
199
|
+
mail : john.doe@contoso.com
|
|
200
|
+
manager : {"displayName":"Jane Doe","userPrincipalName":"jane.doe@contoso.com","id":"eb77fbcf-6fe8-458b-985d-1747284793bc","mail":"jane.doe@contoso.com"}
|
|
201
|
+
mobilePhone : +32499-99-99-99
|
|
202
|
+
officeLocation : Vosselaar
|
|
203
|
+
preferredLanguage: nl-BE
|
|
204
|
+
surname : Doe
|
|
112
205
|
userPrincipalName: john.doe@contoso.com
|
|
113
206
|
```
|
|
114
207
|
|
|
@@ -116,15 +209,15 @@ m365 aad user get --userName "@meUserName"
|
|
|
116
209
|
<TabItem value="CSV">
|
|
117
210
|
|
|
118
211
|
```csv
|
|
119
|
-
displayName,userPrincipalName,id
|
|
120
|
-
John Doe,john.doe@contoso.com,
|
|
212
|
+
displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id
|
|
213
|
+
John Doe,John,Sales Manager,john.doe@contoso.com,+32499-99-99-99,Vosselaar,nl-BE,Doe,john.doe@contoso.com,990e2425-f595-43bc-85ed-b89a44093793
|
|
121
214
|
```
|
|
122
215
|
|
|
123
216
|
</TabItem>
|
|
124
217
|
<TabItem value="Markdown">
|
|
125
218
|
|
|
126
219
|
```md
|
|
127
|
-
# aad user get --
|
|
220
|
+
# aad user get --userName "john.doe@contoso.com" --withManager
|
|
128
221
|
|
|
129
222
|
Date: 16/02/2023
|
|
130
223
|
|
|
@@ -135,13 +228,13 @@ m365 aad user get --userName "@meUserName"
|
|
|
135
228
|
displayName | John Doe
|
|
136
229
|
givenName | John
|
|
137
230
|
jobTitle | Sales Manager
|
|
138
|
-
mail |
|
|
139
|
-
mobilePhone |
|
|
231
|
+
mail | john.doe@contoso.com
|
|
232
|
+
mobilePhone | +32499-99-99-99
|
|
140
233
|
officeLocation | Vosselaar
|
|
141
234
|
preferredLanguage | nl-BE
|
|
142
235
|
surname | Doe
|
|
143
236
|
userPrincipalName | john.doe@contoso.com
|
|
144
|
-
id |
|
|
237
|
+
id | 990e2425-f595-43bc-85ed-b89a44093793
|
|
145
238
|
```
|
|
146
239
|
|
|
147
240
|
</TabItem>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
import Tabs from '@theme/Tabs';
|
|
3
|
+
import TabItem from '@theme/TabItem';
|
|
4
|
+
|
|
5
|
+
# pa app owner set
|
|
6
|
+
|
|
7
|
+
Sets a new owner for a Power Apps app
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
m365 pa app owner set [options]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Options
|
|
16
|
+
|
|
17
|
+
```md definition-list
|
|
18
|
+
`-e, --environmentName <environmentName>`
|
|
19
|
+
: The name of the environment.
|
|
20
|
+
|
|
21
|
+
`--appName <appName>`
|
|
22
|
+
: The name (GUID) of the Microsoft Power App.
|
|
23
|
+
|
|
24
|
+
`--userId [userId]`
|
|
25
|
+
: The Azure AD ID of the new owner. Specify either `userId` or `userName` but not both.
|
|
26
|
+
|
|
27
|
+
`--userName [userName]`
|
|
28
|
+
: The user principal name of the new owner. Specify either `userId` or `userName` but not both.
|
|
29
|
+
|
|
30
|
+
`--roleForOldAppOwner [roleForOldAppOwner]`
|
|
31
|
+
: Grant permissions for the previous owner. Allowed values: `CanView`, `CanEdit`. Don't specify a value to remove the previous owner from the app.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
<Global />
|
|
35
|
+
|
|
36
|
+
## Remarks
|
|
37
|
+
|
|
38
|
+
:::info
|
|
39
|
+
|
|
40
|
+
To use this command you must be a Global or Power Platform admin.
|
|
41
|
+
|
|
42
|
+
:::
|
|
43
|
+
|
|
44
|
+
## Examples
|
|
45
|
+
|
|
46
|
+
Set a new owner for a Power Apps app and make the previous owner co-owner
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
m365 pa app owner set --environmentName Default-716eb9fb-bf79-4be9-b0c7-900824fcbe25 --appName 7ab97923-4a4d-4467-b030-12071d2b810b --userId c6ee6ed4-0172-4fdc-87a3-cfd9c324de1d --roleForOldAppOwner CanEdit
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Set a new owner for a Power Apps app and remove the previous owner
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
m365 pa app owner set --environmentName Default-716eb9fb-bf79-4be9-b0c7-900824fcbe25 --appName 7ab97923-4a4d-4467-b030-12071d2b810b --userName john.doe@contoso.com
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Response
|
|
59
|
+
|
|
60
|
+
The command won't return a response on success.
|