@pnp/cli-microsoft365 10.3.0-beta.d1b978f → 10.3.0-beta.ea113b7

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.
@@ -1,5 +1,7 @@
1
+ import { cli } from "../cli/cli.js";
1
2
  import request from "../request.js";
2
3
  import { formatting } from "./formatting.js";
4
+ import { odata } from "./odata.js";
3
5
  const powerPlatformResource = 'https://api.bap.microsoft.com';
4
6
  export const powerPlatform = {
5
7
  async getDynamicsInstanceApiUrl(environment, asAdmin) {
@@ -24,6 +26,42 @@ export const powerPlatform = {
24
26
  catch (ex) {
25
27
  throw Error(`The environment '${environment}' could not be retrieved. See the inner exception for more details: ${ex.message}`);
26
28
  }
29
+ },
30
+ async getWebsiteById(environment, id) {
31
+ const requestOptions = {
32
+ url: `https://api.powerplatform.com/powerpages/environments/${environment}/websites/${id}?api-version=2022-03-01-preview`,
33
+ headers: {
34
+ accept: 'application/json;odata.metadata=none'
35
+ },
36
+ responseType: 'json'
37
+ };
38
+ try {
39
+ const response = await request.get(requestOptions);
40
+ return response;
41
+ }
42
+ catch (ex) {
43
+ throw Error(`The specified Power Page website with id '${id}' does not exist.`);
44
+ }
45
+ },
46
+ async getWebsiteByName(environment, websiteName) {
47
+ const response = await odata.getAllItems(`https://api.powerplatform.com/powerpages/environments/${environment}/websites?api-version=2022-03-01-preview`);
48
+ const items = response.filter(response => response.name === websiteName);
49
+ if (items.length === 0) {
50
+ throw Error(`The specified Power Page website '${websiteName}' does not exist.`);
51
+ }
52
+ if (items.length > 1) {
53
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('websiteUrl', items);
54
+ return cli.handleMultipleResultsFound(`Multiple Power Page websites with name '${websiteName}' found`, resultAsKeyValuePair);
55
+ }
56
+ return items[0];
57
+ },
58
+ async getWebsiteByUrl(environment, url) {
59
+ const response = await odata.getAllItems(`https://api.powerplatform.com/powerpages/environments/${environment}/websites?api-version=2022-03-01-preview`);
60
+ const items = response.filter(response => response.websiteUrl === url);
61
+ if (items.length === 0) {
62
+ throw Error(`The specified Power Page website with url '${url}' does not exist.`);
63
+ }
64
+ return items[0];
27
65
  }
28
66
  };
29
67
  //# sourceMappingURL=powerPlatform.js.map
@@ -46,6 +46,29 @@ export const roleDefinition = {
46
46
  responseType: 'json'
47
47
  };
48
48
  return await request.get(requestOptions);
49
+ },
50
+ /**
51
+ * Get an Exchange role by its name
52
+ * @param displayName Role definition display name.
53
+ * @param properties Comma-separated list of properties to include in the response.
54
+ * @returns The role definition.
55
+ * @throws Error when role definition was not found.
56
+ */
57
+ async getExchangeRoleDefinitionByDisplayName(displayName, properties) {
58
+ let url = `https://graph.microsoft.com/beta/roleManagement/exchange/roleDefinitions?$filter=displayName eq '${formatting.encodeQueryParameter(displayName)}'`;
59
+ if (properties) {
60
+ url += `&$select=${properties}`;
61
+ }
62
+ const roleDefinitions = await odata.getAllItems(url);
63
+ if (roleDefinitions.length === 0) {
64
+ throw `The specified role definition '${displayName}' does not exist.`;
65
+ }
66
+ if (roleDefinitions.length > 1) {
67
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('id', roleDefinitions);
68
+ const selectedRoleDefinition = await cli.handleMultipleResultsFound(`Multiple role definitions with name '${displayName}' found.`, resultAsKeyValuePair);
69
+ return selectedRoleDefinition;
70
+ }
71
+ return roleDefinitions[0];
49
72
  }
50
73
  };
51
74
  //# sourceMappingURL=roleDefinition.js.map
@@ -357,6 +357,10 @@ export const validation = {
357
357
  .split(' ')
358
358
  .filter(permission => permission.indexOf('/') < 0);
359
359
  return invalidPermissions.length > 0 ? invalidPermissions : true;
360
+ },
361
+ isValidPowerPagesUrl(url) {
362
+ const powerPagesUrlPattern = /^https:\/\/[a-zA-Z0-9-]+\.powerappsportals\.com$/;
363
+ return powerPagesUrlPattern.test(url);
360
364
  }
361
365
  };
362
366
  //# sourceMappingURL=validation.js.map
@@ -0,0 +1,197 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # entra pim role assignment remove
6
+
7
+ Request deactivation of an Entra role assignment for a user or group.
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 entra pim role assignment remove [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `-n, --roleDefinitionName [roleDefinitionName]`
19
+ : Name of the role definition that should be assigned. Specify either `roleDefinitionName` or `roleDefinitionId` but not both.
20
+
21
+ `-i, --roleDefinitionId [roleDefinitionId]`
22
+ : Id of the role definition that is being assigned. Specify either `roleDefinitionName` or `roleDefinitionId` but not both.
23
+
24
+ `--userId [userId]`
25
+ : Id of the user that will be granted the assignment. Specify either `userId`, `userName`, `groupId` or `groupName`. If not specified, the current user will be used.
26
+
27
+ `--userName [userName]`
28
+ : UPN of the user that will be granted the assignment. Specify either `userId`, `userName`, `groupId` or `groupName`. If not specified, the current user will be used.
29
+
30
+ `--groupId [groupId]`
31
+ : Id of the group that will be granted the assignment. Specify either `userId`, `userName`, `groupId` or `groupName`. If not specified, the current user will be used.
32
+
33
+ `--groupName [groupName]`
34
+ : Display name of the group that will be granted the assignment. Specify either `userId`, `userName`, `groupId` or `groupName`. If not specified, the current user will be used.
35
+
36
+ `--administrativeUnitId [administrativeUnitId]`
37
+ : Id of the administrative unit representing the scope of the assignment. Specify either `administrativeUnitId` or `applicationId`. If not specified, default scope will be tenant-wide.
38
+
39
+ `--applicationId [applicationId]`
40
+ : Object Id of the application representing the scope of the assignment. Specify either `administrativeUnitId` or `applicationId`. If not specified, default scope will be tenant-wide.
41
+
42
+ `-j, --justification [justification]`
43
+ : An optional justification message.
44
+
45
+ `--ticketNumber [ticketNumber]`
46
+ : Optional ticket number value to communicate with the request.
47
+
48
+ `--ticketSystem [ticketSystem]`
49
+ : Optional ticket system to communicate with the request.
50
+ ```
51
+
52
+ <Global />
53
+
54
+ ## Remarks
55
+
56
+ :::info
57
+
58
+ When deactivating a role for other users, you must be **Privileged Role Administrator**.
59
+
60
+ :::
61
+
62
+ ## Examples
63
+
64
+ Request deactivation of the SharePoint Administrator Entra role assignment for the current user.
65
+
66
+ ```sh
67
+ m365 entra pim role assignment remove --roleDefinitionName 'SharePoint Administrator'
68
+ ```
69
+
70
+ Request deactivation of an Entra role assignment for the current user.
71
+
72
+ ```sh
73
+ m365 entra pim role assignment remove --roleDefinitionId 'f1417aa3-bf0b-4cc5-a845-a0b2cf11f690'
74
+ ```
75
+
76
+ Request deactivation of an Entra role assignment for the current user with a justification
77
+
78
+ ```sh
79
+ m365 entra pim role assignment remove --roleDefinitionId 'f1417aa3-bf0b-4cc5-a845-a0b2cf11f690' --justification 'Need Global Admin to release application xyz to production'
80
+ ```
81
+
82
+ Request deactivation of an Entra role assignment for a specified user with tenant scope.
83
+
84
+ ```sh
85
+ m365 entra pim role assignment remove --roleDefinitionId 'f1417aa3-bf0b-4cc5-a845-a0b2cf11f690' --userId '3488d6b8-6b2e-41c3-9583-1991205323c2'
86
+ ```
87
+
88
+ Request deactivation of the User Administrator Entra role assignment for a specified group with administrative unit scope.
89
+
90
+ ```sh
91
+ m365 entra pim role assignment remove --roleDefinitionName 'User Administrator' --groupId '3488d6b8-6b2e-41c3-9583-1991205323c2' --administrativeUnitId '03c4c9dc-6f0c-4c4f-a4e6-0c9ed80f54c7'
92
+ ```
93
+
94
+ Request deactivation of the Application Administrator Entra role assignment for a specified group with scope to a specific application.
95
+
96
+ ```sh
97
+ m365 entra pim role assignment remove --roleDefinitionName 'Application Administrator' --groupName 'Applications admins' --applicationId '03c4c9dc-6f0c-4c4f-a4e6-0c9ed80f54c7'
98
+ ```
99
+
100
+ ## Response
101
+
102
+ <Tabs>
103
+ <TabItem value="JSON">
104
+
105
+ ```json
106
+ {
107
+ "id": "3f7d1bd6-a9a5-45bc-b831-00cfa3e3c649",
108
+ "status": "Revoked",
109
+ "createdDateTime": "2024-07-30T12:08:29.7734603Z",
110
+ "completedDateTime": null,
111
+ "approvalId": null,
112
+ "customData": null,
113
+ "action": "adminRemove",
114
+ "principalId": "61b0c52f-a902-4769-9a09-c6628335b00a",
115
+ "roleDefinitionId": "f28a1f50-f6e7-4571-818b-6a12f2af6b6c",
116
+ "directoryScopeId": "/",
117
+ "appScopeId": null,
118
+ "isValidationOnly": false,
119
+ "targetScheduleId": null,
120
+ "justification": "Removing SharePoint Administrator role",
121
+ "createdBy": {
122
+ "application": null,
123
+ "device": null,
124
+ "user": {
125
+ "displayName": null,
126
+ "id": "893f9116-e024-4bc6-8e98-54c245129485"
127
+ }
128
+ },
129
+ "scheduleInfo": null,
130
+ "ticketInfo": {
131
+ "ticketNumber": null,
132
+ "ticketSystem": null
133
+ }
134
+ }
135
+ ```
136
+
137
+ </TabItem>
138
+ <TabItem value="Text">
139
+
140
+ ```text
141
+ action : adminRemove
142
+ appScopeId : null
143
+ approvalId : null
144
+ completedDateTime: null
145
+ createdBy : null
146
+ createdDateTime : 2024-07-30T12:08:29.7734603Z
147
+ customData : null
148
+ directoryScopeId : /
149
+ id : c221e106-0711-470a-83cf-f8d7cbc51ecd
150
+ isValidationOnly : false
151
+ justification : Removing SharePoint Administrator role
152
+ principalId : 61b0c52f-a902-4769-9a09-c6628335b00a
153
+ roleDefinitionId : f28a1f50-f6e7-4571-818b-6a12f2af6b6c
154
+ scheduleInfo : null
155
+ status : Revoked
156
+ targetScheduleId : c221e106-0711-470a-83cf-f8d7cbc51ecd
157
+ ticketInfo : {"ticketNumber":null,"ticketSystem":null}
158
+ ```
159
+
160
+ </TabItem>
161
+ <TabItem value="CSV">
162
+
163
+ ```csv
164
+ id,status,createdDateTime,completedDateTime,approvalId,customData,action,principalId,roleDefinitionId,directoryScopeId,appScopeId,isValidationOnly,targetScheduleId,justification
165
+ 7d727f44-c2dd-459e-8665-99ce003d12a9,Revoked,2024-07-30T12:08:29.7734603Z,,,,adminRemove,61b0c52f-a902-4769-9a09-c6628335b00a,f28a1f50-f6e7-4571-818b-6a12f2af6b6c,/,,,7d727f44-c2dd-459e-8665-99ce003d12a9,Removing SharePoint Administrator role
166
+ ```
167
+
168
+ </TabItem>
169
+ <TabItem value="Markdown">
170
+
171
+ ```md
172
+ # entra pim roleassignment remove --roleDefinitionId "f28a1f50-f6e7-4571-818b-6a12f2af6b6c" --userId "61b0c52f-a902-4769-9a09-c6628335b00a" --justification "Removing SharePoint Administrator role"
173
+
174
+ Date: 7/30/2024
175
+
176
+ ## 7622802f-648b-4dd9-820f-dccaf8bbbab5
177
+
178
+ Property | Value
179
+ ---------|-------
180
+ id | 7622802f-648b-4dd9-820f-dccaf8bbbab5
181
+ status | Revoked
182
+ createdDateTime | 2024-07-30T12:08:29.7734603Z
183
+ action | adminRemove
184
+ principalId | 61b0c52f-a902-4769-9a09-c6628335b00a
185
+ roleDefinitionId | f28a1f50-f6e7-4571-818b-6a12f2af6b6c
186
+ directoryScopeId | /
187
+ isValidationOnly | false
188
+ targetScheduleId | 7622802f-648b-4dd9-820f-dccaf8bbbab5
189
+ justification | Removing SharePoint Administrator role
190
+ ```
191
+
192
+ </TabItem>
193
+ </Tabs>
194
+
195
+ ## More information
196
+
197
+ - Role assignment request: https://learn.microsoft.com/graph/api/rbacapplication-post-roleassignmentschedulerequests
@@ -0,0 +1,170 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # exo approleassignment add
6
+
7
+ Grants permissions to an application that's accessing data in Exchange Online and specify which mailboxes an app can access.
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 exo approleassignment add [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `--roleDefinitionId [roleDefinitionId]`
19
+ : Id of a role to be assigned. Specify either `roleDefinitionId` or `roleDefinitionName`, but not both.
20
+
21
+ `--roleDefinitionName [roleDefinitionName]`
22
+ : Name of a role to be assigned. Specify either `roleDefinitionId` or `roleDefinitionName`, but not both.
23
+
24
+ `--principalId [principalId]`
25
+ : Id of a service principal to which the assignment is granted. Specify either `principalId` or `principalName`, but not both.
26
+
27
+ `--principalName [principalName]`
28
+ : Name of a service principal to which the assignment is granted. Specify either `principalId` or `principalName`, but not both.
29
+
30
+ `-s, --scope <scope>`
31
+ : Scope of the roleassignment. Allowed values are: `tenant`, `administrativeUnit`, `group`, `user`, `custom`.
32
+
33
+ `--userId [userId]`
34
+ : Id of a user to which the assignment is scoped. Specify either `userId` or `userName` when scope is set to `user`.
35
+
36
+ `--userName [userName]`
37
+ : UPN of a user to which the assignment is scoped. Specify either `userId` or `userName` when scope is set to `user`.
38
+
39
+ `--groupId [groupId]`
40
+ : Id of a group to which the assignment is scoped. Specify either `groupId` or `groupName` when scope is set to `group`.
41
+
42
+ `--groupName [groupName]`
43
+ : Name of a group to which the assignment is scoped. Specify either `groupId` or `groupName` when scope is set to `group`.
44
+
45
+ `--administrativeUnitId [administrativeUnitId]`
46
+ : Id of an administrative unit to which the assignment is scoped. Specify either `administrativeUnitId` or `administrativeUnitName` when scope is set to `administrativeUnit`.
47
+
48
+ `--administrativeUnitName [administrativeUnitName]`
49
+ : Name of an administrative unit to which the assignment is scoped. Specify either `administrativeUnitId` or `administrativeUnitName` when scope is set to `administrativeUnit`.
50
+
51
+ `--customAppScopeId [customAppScopeId]`
52
+ : Id of a custom application scope to which the assignment is scoped. Specify either `customAppScopeId` or `customAppScopeName` when scope is set to `custom`.
53
+
54
+ `--customAppScopeName [customAppScopeName]`
55
+ : Name of a custom application scope to which the assignment is scoped. Specify either `customAppScopeId` or `customAppScopeName` when scope is set to `custom`.
56
+ ```
57
+
58
+ <Global />
59
+
60
+ ## Remarks
61
+
62
+ :::info
63
+
64
+ To use this command you must be at least **Privileged Role Administrator**.
65
+
66
+ :::
67
+
68
+ ## Examples
69
+
70
+ Assign a role specified by id to a service principal specified by id and scope the assignment to the whole tenant
71
+
72
+ ```sh
73
+ m365 exo approleassignment add --roleDefinitionId 777b752-f9b7-4205-a2b1-5db0d6a0ccfc --principalId 7a2ca997-9461-402e-9882-58088a370889 --scope tenant
74
+ ```
75
+
76
+ Assign a role specified by id to a service principal specified by id and scope the assignment to a user specified by id
77
+
78
+ ```sh
79
+ m365 exo approleassignment add --roleDefinitionId 777b752-f9b7-4205-a2b1-5db0d6a0ccfc --principalId 7a2ca997-9461-402e-9882-58088a370889 --scope user --userId a4738dd8-fc0f-4646-87fb-47539f5c651b
80
+ ```
81
+
82
+ Assign a role specified by name to a service principal specified by name and scope the assignment to a group specified by name
83
+
84
+ ```sh
85
+ m365 exo approleassignment add --roleDefinitionName 'Application Contacts.ReadWrite' --principalName 'ContactsSyncApp' --scope group --groupName 'Marketing'
86
+ ```
87
+
88
+ Assign a role specified by name to a service principal specified by id and scope the assignment to an administrative unit specified by name
89
+
90
+ ```sh
91
+ m365 exo approleassignment add --roleDefinitionName 'Application Calendars.Read' --principalId fa631c4d-ac9f-4884-a7f5-13c659d177e3 --scope administrativeUnit --administrativeUnitName 'Equipment - EMEA'
92
+ ```
93
+
94
+ ## Response
95
+
96
+ <Tabs>
97
+ <TabItem value="JSON">
98
+
99
+ ```json
100
+ {
101
+ "id": "6615d221-3834-4f8f-bbc9-7d0d23620a8e",
102
+ "principalId": "/ServicePrincipals/e483a0d9-8440-455e-8f9a-b9cac6b8b0ef",
103
+ "roleDefinitionId": "1f704712-7d46-481f-b2cd-dbcc978c4f2a",
104
+ "directoryScopeId": "/",
105
+ "appScopeId": null
106
+ }
107
+ ```
108
+
109
+ </TabItem>
110
+ <TabItem value="Text">
111
+
112
+ ```text
113
+ appScopeId : null
114
+ directoryScopeId: /
115
+ id : 6615d221-3834-4f8f-bbc9-7d0d23620a8e
116
+ principalId : /ServicePrincipals/e483a0d9-8440-455e-8f9a-b9cac6b8b0ef
117
+ roleDefinitionId: 1f704712-7d46-481f-b2cd-dbcc978c4f2a
118
+ ```
119
+
120
+ </TabItem>
121
+ <TabItem value="CSV">
122
+
123
+ ```csv
124
+ id,principalId,roleDefinitionId,directoryScopeId,appScopeId
125
+ 6615d221-3834-4f8f-bbc9-7d0d23620a8e,/ServicePrincipals/e483a0d9-8440-455e-8f9a-b9cac6b8b0ef,1f704712-7d46-481f-b2cd-dbcc978c4f2a,/,
126
+ ```
127
+
128
+ </TabItem>
129
+ <TabItem value="Markdown">
130
+
131
+ ```md
132
+ # exo approleassignment add --debug "false" --verbose "false" --roleDefinitionId "1f704712-7d46-481f-b2cd-dbcc978c4f2a" --principalId "e483a0d9-8440-455e-8f9a-b9cac6b8b0ef" --scope tenant
133
+
134
+ Date: 10/3/2024
135
+
136
+ ## 6615d221-3834-4f8f-bbc9-7d0d23620a8e
137
+
138
+ Property | Value
139
+ ---------|-------
140
+ id | 6615d221-3834-4f8f-bbc9-7d0d23620a8e
141
+ principalId | /ServicePrincipals/e483a0d9-8440-455e-8f9a-b9cac6b8b0ef
142
+ roleDefinitionId | 1f704712-7d46-481f-b2cd-dbcc978c4f2a
143
+ directoryScopeId | /
144
+ ```
145
+
146
+ </TabItem>
147
+ </Tabs>
148
+
149
+ ## More information
150
+
151
+ - Role assignment: https://learn.microsoft.com/graph/api/rbacapplication-post-roleassignments?view=graph-rest-beta
152
+
153
+ The table below lists the available roles and their corresponding ids that are accepted by the `roleDefinitionId` and `roleDefinitionName` parameters.
154
+
155
+ |Role Definition Id | Role Definition Name |
156
+ | --- | --- |
157
+ |1f704712-7d46-481f-b2cd-dbcc978c4f2a|Application Mail.Read|
158
+ |3eca55c8-0e73-4c12-81bf-526549f2e5a3|Application Mail.ReadBasic|
159
+ |82fd214e-61ca-4dc7-98f6-090700bdb205|Application Mail.ReadWrite|
160
+ |8679f4ff-c91d-40d0-809c-c86d114821a5|Application Mail.Send|
161
+ |c40299e0-2107-455f-85dd-6e8862c3a0cc|Application MailboxSettings.Read|
162
+ |459cb245-07c5-44f1-8133-3da40b4b6197|Application MailboxSettings.ReadWrite|
163
+ |a3123d4e-4256-4ad0-bef0-205a00807fae|Application Calendars.Read|
164
+ |b92761c0-5311-4908-92ca-2c1f8c71aa1c|Application Calendars.ReadWrite|
165
+ |9b87c446-d3c1-4146-9d39-45ae63b4eeb7|Application Contacts.Read|
166
+ |265cabb3-13d9-4e05-b2cd-460cfa7ad3cc|Application Contacts.ReadWrite|
167
+ |b49ae303-7a8f-4ba1-aa37-27b40461aabb|Application Mail Full Access|
168
+ |48d6a78c-0681-4d73-acec-9f9ffad56ddb|Application Exchange Full Access|
169
+
170
+ More info about supported application roles: https://learn.microsoft.com/exchange/permissions-exo/application-rbac#supported-application-roles
@@ -0,0 +1,153 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # pp website get
6
+
7
+ Gets information about the specified Power Pages website.
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 pp website get [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `-u, --url [url]`
19
+ : The URL of the website to retrieve. Specify either `url`, `name` or `id`.
20
+
21
+ `-n, --name [name]`
22
+ : The name of the website to retrieve. Specify either `url`, `name` or `id`.
23
+
24
+ `-i, --id [id]`
25
+ : The WebSite Id (GUID) of the website to retrieve. Specify either `url`, `name` or `id`.
26
+
27
+ `-e, --environmentName <environmentName>`
28
+ : The name of the environment from which to retrieve the Power Pages website.
29
+ ```
30
+
31
+ <Global />
32
+
33
+ ## Examples
34
+
35
+ Retrieve Demo Power Pages website by name in the given environment using `name`.
36
+
37
+ ```sh
38
+ m365 pp website get --name Demo --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5
39
+ ```
40
+
41
+ Retrieve Demo Power Pages website by name in the given environment using `id`.
42
+
43
+ ```sh
44
+ m365 pp website get --id 4916bb2c-91e1-4716-91d5-b6171928fac9 --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5
45
+ ```
46
+
47
+ Retrieve Demo Power Pages website by name in the given environment using `url`.
48
+
49
+ ```sh
50
+ m365 pp website get --url https://site-0uaq9.powerappsportals.com --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5
51
+ ```
52
+
53
+ ## Response
54
+
55
+ <Tabs>
56
+ <TabItem value="JSON">
57
+
58
+ ```json
59
+ {
60
+ "@odata.metadata": "https://api.powerplatform.com/powerpages/environments/Default-727dc1e9-3cd1-4d1f-8102-ab5c936e52f0/websites/$metadata#Websites",
61
+ "id": "4916bb2c-91e1-4716-91d5-b6171928fac9",
62
+ "name": "Site 1",
63
+ "createdOn": "2024-10-27T12:00:03",
64
+ "templateName": "DefaultPortalTemplate",
65
+ "websiteUrl": "https://site-0uaq9.powerappsportals.com",
66
+ "tenantId": "727dc1e9-3cd1-4d1f-8102-ab5c936e52f0",
67
+ "dataverseInstanceUrl": "https://org0cd4b2b9.crm4.dynamics.com/",
68
+ "environmentName": "Contoso (default)",
69
+ "environmentId": "Default-727dc1e9-3cd1-4d1f-8102-ab5c936e52f0",
70
+ "dataverseOrganizationId": "2d58aeac-74d4-4939-98d1-e05a70a655ba",
71
+ "selectedBaseLanguage": 1033,
72
+ "customHostNames": [],
73
+ "websiteRecordId": "5eb107a6-5ac2-4e1c-a3b9-d5c21bbc10ce",
74
+ "subdomain": "site-0uaq9",
75
+ "packageInstallStatus": "Installed",
76
+ "type": "Trial",
77
+ "trialExpiringInDays": 86,
78
+ "suspendedWebsiteDeletingInDays": 93,
79
+ "packageVersion": "9.6.9.39",
80
+ "isEarlyUpgradeEnabled": false,
81
+ "isCustomErrorEnabled": true,
82
+ "applicationUserAadAppId": "3f57aca7-5051-41b2-989d-26da8af7a53e",
83
+ "ownerId": "33469a62-c3af-4cfe-b893-854eceab96da",
84
+ "status": "OperationComplete",
85
+ "siteVisibility": "private",
86
+ "dataModel": "Enhanced"
87
+ }
88
+ ```
89
+
90
+ </TabItem>
91
+ <TabItem value="Text">
92
+
93
+ ```text
94
+ id : 4916bb2c-91e1-4716-91d5-b6171928fac9
95
+ name : Site 1
96
+ siteVisibility: private
97
+ status : OperationComplete
98
+ subdomain : site-0uaq9
99
+ tenantId : 727dc1e9-3cd1-4d1f-8102-ab5c936e52f0
100
+ type : Trial
101
+ websiteUrl : https://site-0uaq9.powerappsportals.com
102
+ ```
103
+
104
+ </TabItem>
105
+ <TabItem value="CSV">
106
+
107
+ ```csv
108
+ @odata.metadata,id,name,createdOn,templateName,websiteUrl,tenantId,dataverseInstanceUrl,environmentName,environmentId,dataverseOrganizationId,selectedBaseLanguage,websiteRecordId,subdomain,packageInstallStatus,type,trialExpiringInDays,suspendedWebsiteDeletingInDays,packageVersion,isEarlyUpgradeEnabled,isCustomErrorEnabled,applicationUserAadAppId,ownerId,status,siteVisibility,dataModel
109
+ https://api.powerplatform.com/powerpages/environments/Default-727dc1e9-3cd1-4d1f-8102-ab5c936e52f0/websites/$metadata#Websites,4916bb2c-91e1-4716-91d5-b6171928fac9,Site 1,2024-10-27T12:00:03,DefaultPortalTemplate,https://site-0uaq9.powerappsportals.com,727dc1e9-3cd1-4d1f-8102-ab5c936e52f0,https://org0cd4b2b9.crm4.dynamics.com/,Contoso (default),Default-727dc1e9-3cd1-4d1f-8102-ab5c936e52f0,2d58aeac-74d4-4939-98d1-e05a70a655ba,1033,5eb107a6-5ac2-4e1c-a3b9-d5c21bbc10ce,site-0uaq9,Installed,Trial,86,93,9.6.9.39,0,1,3f57aca7-5051-41b2-989d-26da8af7a53e,33469a62-c3af-4cfe-b893-854eceab96da,OperationComplete,private,Enhanced
110
+ ```
111
+
112
+ </TabItem>
113
+ <TabItem value="Markdown">
114
+
115
+ ```md
116
+ # pp website get --debug "false" --verbose "false" --name "Site 1" --environmentName "Default-727dc1e9-3cd1-4d1f-8102-ab5c936e52f0"
117
+
118
+ Date: 27/10/2024
119
+
120
+ ## Site 1 (4916bb2c-91e1-4716-91d5-b6171928fac9)
121
+
122
+ Property | Value
123
+ ---------|-------
124
+ @odata.metadata | https://api.powerplatform.com/powerpages/environments/Default-727dc1e9-3cd1-4d1f-8102-ab5c936e52f0/websites/$metadata#Websites
125
+ id | 4916bb2c-91e1-4716-91d5-b6171928fac9
126
+ name | Site 1
127
+ createdOn | 2024-10-27T12:00:03
128
+ templateName | DefaultPortalTemplate
129
+ websiteUrl | https://site-0uaq9.powerappsportals.com
130
+ tenantId | 727dc1e9-3cd1-4d1f-8102-ab5c936e52f0
131
+ dataverseInstanceUrl | https://org0cd4b2b9.crm4.dynamics.com/
132
+ environmentName | Contoso (default)
133
+ environmentId | Default-727dc1e9-3cd1-4d1f-8102-ab5c936e52f0
134
+ dataverseOrganizationId | 2d58aeac-74d4-4939-98d1-e05a70a655ba
135
+ selectedBaseLanguage | 1033
136
+ websiteRecordId | 5eb107a6-5ac2-4e1c-a3b9-d5c21bbc10ce
137
+ subdomain | site-0uaq9
138
+ packageInstallStatus | Installed
139
+ type | Trial
140
+ trialExpiringInDays | 86
141
+ suspendedWebsiteDeletingInDays | 93
142
+ packageVersion | 9.6.9.39
143
+ isEarlyUpgradeEnabled | false
144
+ isCustomErrorEnabled | true
145
+ applicationUserAadAppId | 3f57aca7-5051-41b2-989d-26da8af7a53e
146
+ ownerId | 33469a62-c3af-4cfe-b893-854eceab96da
147
+ status | OperationComplete
148
+ siteVisibility | private
149
+ dataModel | Enhanced
150
+ ```
151
+
152
+ </TabItem>
153
+ </Tabs>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnp/cli-microsoft365",
3
- "version": "10.3.0-beta.d1b978f",
3
+ "version": "10.3.0-beta.ea113b7",
4
4
  "description": "Manage Microsoft 365 and SharePoint Framework projects on any platform",
5
5
  "license": "MIT",
6
6
  "main": "./dist/api.js",