@pnp/cli-microsoft365 6.0.0-beta.d557a48 → 6.0.0-beta.da9cd2c

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.
@@ -0,0 +1,215 @@
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 _SpoFolderRoleAssignmentAddCommand_instances, _SpoFolderRoleAssignmentAddCommand_initTelemetry, _SpoFolderRoleAssignmentAddCommand_initOptions, _SpoFolderRoleAssignmentAddCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
19
+ const formatting_1 = require("../../../../utils/formatting");
20
+ const request_1 = require("../../../../request");
21
+ const urlUtil_1 = require("../../../../utils/urlUtil");
22
+ const validation_1 = require("../../../../utils/validation");
23
+ const SpoCommand_1 = require("../../../base/SpoCommand");
24
+ const commands_1 = require("../../commands");
25
+ const SpoUserGetCommand = require("../user/user-get");
26
+ const SpoGroupGetCommand = require("../group/group-get");
27
+ const SpoRoleDefinitionFolderCommand = require("../roledefinition/roledefinition-list");
28
+ class SpoFolderRoleAssignmentAddCommand extends SpoCommand_1.default {
29
+ constructor() {
30
+ super();
31
+ _SpoFolderRoleAssignmentAddCommand_instances.add(this);
32
+ __classPrivateFieldGet(this, _SpoFolderRoleAssignmentAddCommand_instances, "m", _SpoFolderRoleAssignmentAddCommand_initTelemetry).call(this);
33
+ __classPrivateFieldGet(this, _SpoFolderRoleAssignmentAddCommand_instances, "m", _SpoFolderRoleAssignmentAddCommand_initOptions).call(this);
34
+ __classPrivateFieldGet(this, _SpoFolderRoleAssignmentAddCommand_instances, "m", _SpoFolderRoleAssignmentAddCommand_initValidators).call(this);
35
+ }
36
+ get name() {
37
+ return commands_1.default.FOLDER_ROLEASSIGNMENT_ADD;
38
+ }
39
+ get description() {
40
+ return 'Adds a role assignment to the specified folder.';
41
+ }
42
+ commandAction(logger, args) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ if (this.verbose) {
45
+ logger.logToStderr(`Adding role assignment to folder in site at ${args.options.webUrl}...`);
46
+ }
47
+ const serverRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
48
+ const roleFolderUrl = urlUtil_1.urlUtil.getWebRelativePath(args.options.webUrl, args.options.folderUrl);
49
+ try {
50
+ //await this.getFolderUrl(args.options);
51
+ let requestUrl = `${args.options.webUrl}/_api/web/`;
52
+ if (roleFolderUrl.split('/').length === 2) {
53
+ requestUrl += `GetList('${formatting_1.formatting.encodeQueryParameter(serverRelativeUrl)}')`;
54
+ }
55
+ else {
56
+ requestUrl += `GetFolderByServerRelativeUrl('${encodeURIComponent(serverRelativeUrl)}')/ListItemAllFields`;
57
+ }
58
+ const roleDefinitionId = yield this.getRoleDefinitionId(args.options);
59
+ if (args.options.upn) {
60
+ const upnPrincipalId = yield this.getUserPrincipalId(args.options);
61
+ yield this.breakRoleAssignment(requestUrl);
62
+ yield this.addRoleAssignment(requestUrl, upnPrincipalId, roleDefinitionId);
63
+ }
64
+ else if (args.options.groupName) {
65
+ const groupPrincipalId = yield this.getGroupPrincipalId(args.options);
66
+ yield this.breakRoleAssignment(requestUrl);
67
+ yield this.addRoleAssignment(requestUrl, groupPrincipalId, roleDefinitionId);
68
+ }
69
+ else {
70
+ yield this.breakRoleAssignment(requestUrl);
71
+ yield this.addRoleAssignment(requestUrl, args.options.principalId, roleDefinitionId);
72
+ }
73
+ }
74
+ catch (err) {
75
+ this.handleRejectedODataJsonPromise(err);
76
+ }
77
+ });
78
+ }
79
+ breakRoleAssignment(requestUrl) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ const requestOptions = {
82
+ url: `${requestUrl}/breakroleinheritance(true)`,
83
+ method: 'POST',
84
+ headers: {
85
+ 'accept': 'application/json;odata=nometadata',
86
+ 'content-type': 'application/json'
87
+ },
88
+ responseType: 'json'
89
+ };
90
+ yield request_1.default.post(requestOptions);
91
+ });
92
+ }
93
+ addRoleAssignment(requestUrl, principalId, roleDefinitionId) {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ const requestOptions = {
96
+ url: `${requestUrl}/roleassignments/addroleassignment(principalid='${principalId}',roledefid='${roleDefinitionId}')`,
97
+ method: 'POST',
98
+ headers: {
99
+ 'accept': 'application/json;odata=nometadata',
100
+ 'content-type': 'application/json'
101
+ },
102
+ responseType: 'json'
103
+ };
104
+ yield request_1.default.post(requestOptions);
105
+ });
106
+ }
107
+ getRoleDefinitionId(options) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ if (!options.roleDefinitionName) {
110
+ return Promise.resolve(options.roleDefinitionId);
111
+ }
112
+ const roleDefinitionFolderCommandOptions = {
113
+ webUrl: options.webUrl,
114
+ output: 'json',
115
+ debug: this.debug,
116
+ verbose: this.verbose
117
+ };
118
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoRoleDefinitionFolderCommand, { options: Object.assign(Object.assign({}, roleDefinitionFolderCommandOptions), { _: [] }) });
119
+ const getRoleDefinitionFolderOutput = JSON.parse(output.stdout);
120
+ const roleDefinition = getRoleDefinitionFolderOutput.find((role) => role.Name === options.roleDefinitionName);
121
+ if (roleDefinition) {
122
+ return roleDefinition.Id;
123
+ }
124
+ else {
125
+ throw Error(`The specified role definition name '${options.roleDefinitionName}' does not exist.`);
126
+ }
127
+ });
128
+ }
129
+ getGroupPrincipalId(options) {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ const groupGetCommandOptions = {
132
+ webUrl: options.webUrl,
133
+ name: options.groupName,
134
+ output: 'json',
135
+ debug: this.debug,
136
+ verbose: this.verbose
137
+ };
138
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
139
+ const getGroupOutput = JSON.parse(output.stdout);
140
+ return getGroupOutput.Id;
141
+ });
142
+ }
143
+ getUserPrincipalId(options) {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ const userGetCommandOptions = {
146
+ webUrl: options.webUrl,
147
+ email: options.upn,
148
+ id: undefined,
149
+ output: 'json',
150
+ debug: this.debug,
151
+ verbose: this.verbose
152
+ };
153
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
154
+ const getUserOutput = JSON.parse(output.stdout);
155
+ return getUserOutput.Id;
156
+ });
157
+ }
158
+ }
159
+ _SpoFolderRoleAssignmentAddCommand_instances = new WeakSet(), _SpoFolderRoleAssignmentAddCommand_initTelemetry = function _SpoFolderRoleAssignmentAddCommand_initTelemetry() {
160
+ this.telemetry.push((args) => {
161
+ Object.assign(this.telemetryProperties, {
162
+ principalId: typeof args.options.principalId !== 'undefined',
163
+ upn: typeof args.options.upn !== 'undefined',
164
+ groupName: typeof args.options.groupName !== 'undefined',
165
+ roleDefinitionId: typeof args.options.roleDefinitionId !== 'undefined',
166
+ roleDefinitionName: typeof args.options.roleDefinitionName !== 'undefined'
167
+ });
168
+ });
169
+ }, _SpoFolderRoleAssignmentAddCommand_initOptions = function _SpoFolderRoleAssignmentAddCommand_initOptions() {
170
+ this.options.unshift({
171
+ option: '-u, --webUrl <webUrl>'
172
+ }, {
173
+ option: '-f, --folderUrl <folderUrl>'
174
+ }, {
175
+ option: '--principalId [principalId]'
176
+ }, {
177
+ option: '--upn [upn]'
178
+ }, {
179
+ option: '--groupName [groupName]'
180
+ }, {
181
+ option: '--roleDefinitionId [roleDefinitionId]'
182
+ }, {
183
+ option: '--roleDefinitionName [roleDefinitionName]'
184
+ });
185
+ }, _SpoFolderRoleAssignmentAddCommand_initValidators = function _SpoFolderRoleAssignmentAddCommand_initValidators() {
186
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
187
+ const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
188
+ if (isValidSharePointUrl !== true) {
189
+ return isValidSharePointUrl;
190
+ }
191
+ if (args.options.principalId && isNaN(args.options.principalId)) {
192
+ return `Specified principalId ${args.options.principalId} is not a number`;
193
+ }
194
+ if (args.options.roleDefinitionId && isNaN(args.options.roleDefinitionId)) {
195
+ return `Specified roleDefinitionId ${args.options.roleDefinitionId} is not a number`;
196
+ }
197
+ const principalOptions = [args.options.principalId, args.options.upn, args.options.groupName];
198
+ if (!principalOptions.some(item => item !== undefined)) {
199
+ return `Specify either principalId, upn or groupName`;
200
+ }
201
+ if (principalOptions.filter(item => item !== undefined).length > 1) {
202
+ return `Specify either principalId, upn or groupName but not multiple`;
203
+ }
204
+ const roleDefinitionOptions = [args.options.roleDefinitionId, args.options.roleDefinitionName];
205
+ if (!roleDefinitionOptions.some(item => item !== undefined)) {
206
+ return `Specify either roleDefinitionId id or roleDefinitionName`;
207
+ }
208
+ if (roleDefinitionOptions.filter(item => item !== undefined).length > 1) {
209
+ return `Specify either roleDefinitionId id or roleDefinitionName but not both`;
210
+ }
211
+ return true;
212
+ }));
213
+ };
214
+ module.exports = new SpoFolderRoleAssignmentAddCommand();
215
+ //# sourceMappingURL=folder-roleassignment-add.js.map
@@ -62,6 +62,7 @@ exports.default = {
62
62
  FILE_ROLEINHERITANCE_BREAK: `${prefix} file roleinheritance break`,
63
63
  FILE_ROLEINHERITANCE_RESET: `${prefix} file roleinheritance reset`,
64
64
  FILE_SHARINGINFO_GET: `${prefix} file sharinginfo get`,
65
+ FILE_VERSION_LIST: `${prefix} file version list`,
65
66
  FOLDER_ADD: `${prefix} folder add`,
66
67
  FOLDER_COPY: `${prefix} folder copy`,
67
68
  FOLDER_GET: `${prefix} folder get`,
@@ -70,6 +71,7 @@ exports.default = {
70
71
  FOLDER_REMOVE: `${prefix} folder remove`,
71
72
  FOLDER_RENAME: `${prefix} folder rename`,
72
73
  FOLDER_ROLEASSIGNMENT_REMOVE: `${prefix} folder roleassignment remove`,
74
+ FOLDER_ROLEASSIGNMENT_ADD: `${prefix} folder roleassignment add`,
73
75
  FOLDER_ROLEINHERITANCE_BREAK: `${prefix} folder roleinheritance break`,
74
76
  FOLDER_ROLEINHERITANCE_RESET: `${prefix} folder roleinheritance reset`,
75
77
  GET: `${prefix} get`,
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Meeting.js.map
@@ -65,7 +65,7 @@ class TeamsChannelRemoveCommand extends GraphCommand_1.default {
65
65
  type: 'confirm',
66
66
  name: 'continue',
67
67
  default: false,
68
- message: `Are you sure you want to remove the channel ${channel} from team ${args.options.teamId}?`
68
+ message: `Are you sure you want to remove the channel ${channel} from team ${args.options.teamId || args.options.teamName}?`
69
69
  });
70
70
  if (result.continue) {
71
71
  yield removeChannel();
@@ -0,0 +1,153 @@
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 _TeamsMeetingListCommand_instances, _TeamsMeetingListCommand_initTelemetry, _TeamsMeetingListCommand_initOptions, _TeamsMeetingListCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
19
+ const Cli_1 = require("../../../../cli/Cli");
20
+ const GraphCommand_1 = require("../../../base/GraphCommand");
21
+ const commands_1 = require("../../commands");
22
+ const odata_1 = require("../../../../utils/odata");
23
+ const validation_1 = require("../../../../utils/validation");
24
+ const AadUserGetCommand = require("../../../aad/commands/user/user-get");
25
+ class TeamsMeetingListCommand extends GraphCommand_1.default {
26
+ constructor() {
27
+ super();
28
+ _TeamsMeetingListCommand_instances.add(this);
29
+ __classPrivateFieldGet(this, _TeamsMeetingListCommand_instances, "m", _TeamsMeetingListCommand_initTelemetry).call(this);
30
+ __classPrivateFieldGet(this, _TeamsMeetingListCommand_instances, "m", _TeamsMeetingListCommand_initOptions).call(this);
31
+ __classPrivateFieldGet(this, _TeamsMeetingListCommand_instances, "m", _TeamsMeetingListCommand_initValidators).call(this);
32
+ }
33
+ get name() {
34
+ return commands_1.default.MEETING_LIST;
35
+ }
36
+ get description() {
37
+ return 'Retrieve all online meetings for a given user or shared mailbox';
38
+ }
39
+ defaultProperties() {
40
+ return ['subject', 'start', 'end'];
41
+ }
42
+ commandAction(logger, args) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ try {
45
+ const isAppOnlyAuth = Auth_1.Auth.isAppOnlyAuth(Auth_1.default.service.accessTokens[this.resource].accessToken);
46
+ if (this.verbose) {
47
+ logger.logToStderr(`Retrieving meetings for ${isAppOnlyAuth ? 'specific user' : 'currently logged in user'}`);
48
+ }
49
+ let requestUrl = `${this.resource}/v1.0/`;
50
+ if (isAppOnlyAuth) {
51
+ if (!args.options.userId && !args.options.userName && !args.options.email) {
52
+ throw `The option 'userId', 'userName' or 'email' is required when retrieving meetings using app only permissions`;
53
+ }
54
+ requestUrl += 'users/';
55
+ if (args.options.userId) {
56
+ requestUrl += args.options.userId;
57
+ }
58
+ else if (args.options.userName) {
59
+ requestUrl += args.options.userName;
60
+ }
61
+ else if (args.options.email) {
62
+ const userId = yield this.getUserId(args.options.email);
63
+ requestUrl += userId;
64
+ }
65
+ }
66
+ else {
67
+ if (args.options.userId || args.options.userName || args.options.email) {
68
+ throw `The options 'userId', 'userName' and 'email' cannot be used when retrieving meetings using delegated permissions`;
69
+ }
70
+ requestUrl += `me`;
71
+ }
72
+ requestUrl += `/events?$filter=start/dateTime ge '${args.options.startDateTime}'`;
73
+ if (args.options.endDateTime) {
74
+ requestUrl += ` and end/dateTime le '${args.options.endDateTime}'`;
75
+ }
76
+ if (args.options.isOrganizer) {
77
+ requestUrl += ' and isOrganizer eq true';
78
+ }
79
+ const res = yield odata_1.odata.getAllItems(requestUrl);
80
+ const resFiltered = res.filter(y => y.isOnlineMeeting);
81
+ if (!args.options.output || args.options.output === 'json') {
82
+ logger.log(resFiltered);
83
+ }
84
+ else {
85
+ //converted to text friendly output
86
+ logger.log(resFiltered.map(i => {
87
+ return {
88
+ subject: i.subject,
89
+ start: i.start.dateTime,
90
+ end: i.end.dateTime
91
+ };
92
+ }));
93
+ }
94
+ }
95
+ catch (err) {
96
+ this.handleRejectedODataJsonPromise(err);
97
+ }
98
+ });
99
+ }
100
+ getUserId(email) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ const options = {
103
+ email: email,
104
+ output: 'json',
105
+ debug: this.debug,
106
+ verbose: this.verbose
107
+ };
108
+ const output = yield Cli_1.Cli.executeCommandWithOutput(AadUserGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
109
+ const getUserOutput = JSON.parse(output.stdout);
110
+ return getUserOutput.id;
111
+ });
112
+ }
113
+ }
114
+ _TeamsMeetingListCommand_instances = new WeakSet(), _TeamsMeetingListCommand_initTelemetry = function _TeamsMeetingListCommand_initTelemetry() {
115
+ this.telemetry.push((args) => {
116
+ Object.assign(this.telemetryProperties, {
117
+ userId: typeof args.options.userId !== 'undefined',
118
+ userName: typeof args.options.userName !== 'undefined',
119
+ email: typeof args.options.email !== 'undefined',
120
+ endDateTime: typeof args.options.endDateTime !== 'undefined',
121
+ isOrganizer: !!args.options.isOrganizer
122
+ });
123
+ });
124
+ }, _TeamsMeetingListCommand_initOptions = function _TeamsMeetingListCommand_initOptions() {
125
+ this.options.unshift({
126
+ option: '-u, --userId [userId]'
127
+ }, {
128
+ option: '-n, --userName [userName]'
129
+ }, {
130
+ option: '--email [email]'
131
+ }, {
132
+ option: '--startDateTime <startDateTime>'
133
+ }, {
134
+ option: '--endDateTime [endDateTime]'
135
+ }, {
136
+ option: '--isOrganizer'
137
+ });
138
+ }, _TeamsMeetingListCommand_initValidators = function _TeamsMeetingListCommand_initValidators() {
139
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
140
+ if (!validation_1.validation.isValidISODateTime(args.options.startDateTime)) {
141
+ return `'${args.options.startDateTime}' is not a valid ISO date string`;
142
+ }
143
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
144
+ return `${args.options.userId} is not a valid Guid`;
145
+ }
146
+ if (args.options.endDateTime && !validation_1.validation.isValidISODateTime(args.options.endDateTime)) {
147
+ return `'${args.options.startDateTime}' is not a valid ISO date string`;
148
+ }
149
+ return true;
150
+ }));
151
+ };
152
+ module.exports = new TeamsMeetingListCommand();
153
+ //# sourceMappingURL=meeting-list.js.map
@@ -27,6 +27,7 @@ exports.default = {
27
27
  FUNSETTINGS_SET: `${prefix} funsettings set`,
28
28
  GUESTSETTINGS_LIST: `${prefix} guestsettings list`,
29
29
  GUESTSETTINGS_SET: `${prefix} guestsettings set`,
30
+ MEETING_LIST: `${prefix} meeting list`,
30
31
  MEMBERSETTINGS_LIST: `${prefix} membersettings list`,
31
32
  MEMBERSETTINGS_SET: `${prefix} membersettings set`,
32
33
  MESSAGE_GET: `${prefix} message get`,
@@ -13,7 +13,7 @@ m365 flow get [options]
13
13
  `-n, --name <name>`
14
14
  : The name of the Power Automate flow to get information about
15
15
 
16
- `-e, --environmentNameName <environmentName>`
16
+ `-e, --environmentName <environmentName>`
17
17
  : The name of the environment for which to retrieve available flows
18
18
 
19
19
  `--asAdmin`
@@ -0,0 +1,120 @@
1
+ # pp dataverse table get
2
+
3
+ List a dataverse table in a given environment
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ pp dataverse table get [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ `-e, --environment <environment>`
14
+ : The name of the environment to list a table for.
15
+
16
+ `-n, --name<name>`
17
+ : The name of the dataverse table to retrieve rows from.
18
+
19
+ `-a, --asAdmin`
20
+ : Set, to retrieve the dataverse table as admin for environments you are not a member of.
21
+
22
+ --8<-- "docs/cmd/_global.md"
23
+
24
+ ## Examples
25
+
26
+ List a table for the given environment
27
+
28
+ ```sh
29
+ m365 pp dataverse table get -e "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --name "aaduser"
30
+ ```
31
+
32
+ List a table for the given environment as Admin
33
+
34
+ ```sh
35
+ m365 pp dataverse table get -e "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --name "aaduser" --asAdmin
36
+ ```
37
+
38
+ ## Response
39
+
40
+ === "JSON"
41
+
42
+ ```json
43
+ {
44
+ "MetadataId": "84f4c125-474d-ed11-bba1-000d3a2caf7f",
45
+ "IsCustomEntity": true,
46
+ "IsManaged": false,
47
+ "SchemaName": "aaduser",
48
+ "IconVectorName": null,
49
+ "LogicalName": "aaduser",
50
+ "EntitySetName": "aadusers",
51
+ "IsActivity": false,
52
+ "DataProviderId": null,
53
+ "IsRenameable": {
54
+ "Value": true,
55
+ "CanBeChanged": true,
56
+ "ManagedPropertyLogicalName": "isrenameable"
57
+ },
58
+ "IsCustomizable": {
59
+ "Value": true,
60
+ "CanBeChanged": true,
61
+ "ManagedPropertyLogicalName": "iscustomizable"
62
+ },
63
+ "CanCreateForms": {
64
+ "Value": true,
65
+ "CanBeChanged": true,
66
+ "ManagedPropertyLogicalName": "cancreateforms"
67
+ },
68
+ "CanCreateViews": {
69
+ "Value": true,
70
+ "CanBeChanged": true,
71
+ "ManagedPropertyLogicalName": "cancreateviews"
72
+ },
73
+ "CanCreateCharts": {
74
+ "Value": true,
75
+ "CanBeChanged": true,
76
+ "ManagedPropertyLogicalName": "cancreatecharts"
77
+ },
78
+ "CanCreateAttributes": {
79
+ "Value": true,
80
+ "CanBeChanged": false,
81
+ "ManagedPropertyLogicalName": "cancreateattributes"
82
+ },
83
+ "CanChangeTrackingBeEnabled": {
84
+ "Value": true,
85
+ "CanBeChanged": true,
86
+ "ManagedPropertyLogicalName": "canchangetrackingbeenabled"
87
+ },
88
+ "CanModifyAdditionalSettings": {
89
+ "Value": true,
90
+ "CanBeChanged": true,
91
+ "ManagedPropertyLogicalName": "canmodifyadditionalsettings"
92
+ },
93
+ "CanChangeHierarchicalRelationship": {
94
+ "Value": true,
95
+ "CanBeChanged": true,
96
+ "ManagedPropertyLogicalName": "canchangehierarchicalrelationship"
97
+ },
98
+ "CanEnableSyncToExternalSearchIndex": {
99
+ "Value": true,
100
+ "CanBeChanged": true,
101
+ "ManagedPropertyLogicalName": "canenablesynctoexternalsearchindex"
102
+ }
103
+ }
104
+ ```
105
+
106
+ === "Text"
107
+
108
+ ```text
109
+ EntitySetName: aadusers
110
+ IsManaged : false
111
+ LogicalName : aaduser
112
+ SchemaName : aaduser
113
+ ```
114
+
115
+ === "CSV"
116
+
117
+ ```csv
118
+ SchemaName,EntitySetName,LogicalName,IsManaged
119
+ aaduser,aadusers,aaduser,
120
+ ```
@@ -0,0 +1,83 @@
1
+ # pp solution publisher get
2
+
3
+ Get information about the specified publisher in a given environment.
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 pp solution publisher get [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ `-e, --environment <environment>`
14
+ : The name of the environment.
15
+
16
+ `-i --id [id]`
17
+ : The ID of the solution. Specify either `id` or `name` but not both.
18
+
19
+ `-n, --name [name]`
20
+ : The unique name (not the display name) of the solution. Specify either `id` or `name` but not both.
21
+
22
+ `-a, --asAdmin`
23
+ : Run the command as admin for environments you do not have explicitly assigned permissions to.
24
+
25
+ --8<-- "docs/cmd/_global.md"
26
+
27
+ ## Examples
28
+
29
+ Gets a specific publisher in a specific environment based on name
30
+
31
+ ```sh
32
+ m365 pp solution publisher get --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --name "MicrosoftCorporation"
33
+ ```
34
+
35
+ Gets a specific publisher in a specific environment based on name as Admin
36
+
37
+ ```sh
38
+ m365 pp solution publisher get --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --name "MicrosoftCorporation" --asAdmin
39
+ ```
40
+
41
+ Gets a specific publisher in a specific environment based on id
42
+
43
+ ```sh
44
+ m365 pp solution publisher get --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --id "ee62fd63-e49e-4c09-80de-8fae1b9a427e"
45
+ ```
46
+
47
+ Gets a specific publisher in a specific environment based on id as Admin
48
+
49
+ ```sh
50
+ m365 pp solution publisher get --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --id "ee62fd63-e49e-4c09-80de-8fae1b9a427e" --asAdmin
51
+ ```
52
+
53
+ ## Response
54
+
55
+ === "JSON"
56
+
57
+ ```json
58
+ {
59
+ "publisherid": "d21aab70-79e7-11dd-8874-00188b01e34f",
60
+ "uniquename": "MicrosoftCorporation",
61
+ "friendlyname": "MicrosoftCorporation",
62
+ "versionnumber": 1226559,
63
+ "isreadonly": false,
64
+ "description": "Uitgever van Microsoft-oplossingen",
65
+ "customizationprefix": "",
66
+ "customizationoptionvalueprefix": 0
67
+ }
68
+ ```
69
+
70
+ === "Text"
71
+
72
+ ```text
73
+ friendlyname: MicrosoftCorporation
74
+ publisherid : d21aab70-79e7-11dd-8874-00188b01e34f
75
+ uniquename : MicrosoftCorporation
76
+ ```
77
+
78
+ === "CSV"
79
+
80
+ ```csv
81
+ publisherid,uniquename,friendlyname
82
+ d21aab70-79e7-11dd-8874-00188b01e34f,MicrosoftCorporation,MicrosoftCorporation
83
+ ```