@pnp/cli-microsoft365 10.4.0-beta.3149a76 → 10.4.0-beta.791a39c
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/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/config.js +2 -0
- package/dist/m365/entra/commands/resourcenamespace/resourcenamespace-list.js +28 -0
- package/dist/m365/entra/commands.js +1 -0
- package/dist/m365/spo/commands/page/page-get.js +40 -27
- package/dist/m365/tenant/commands/report/report-settings-get.js +32 -0
- package/dist/m365/tenant/commands.js +1 -0
- package/docs/docs/cmd/entra/resourcenamespace/resourcenamespace-list.mdx +96 -0
- package/docs/docs/cmd/entra/rolepermission/rolepermission-list.mdx +2 -0
- package/docs/docs/cmd/spo/page/page-get.mdx +11 -2
- package/docs/docs/cmd/tenant/report/report-settings-get.mdx +67 -0
- package/package.json +1 -1
package/dist/config.js
CHANGED
|
@@ -35,8 +35,10 @@ export default {
|
|
|
35
35
|
'https://graph.microsoft.com/Policy.Read.All',
|
|
36
36
|
'https://graph.microsoft.com/RecordsManagement.ReadWrite.All',
|
|
37
37
|
'https://graph.microsoft.com/Reports.ReadWrite.All',
|
|
38
|
+
'https://graph.microsoft.com/ReportSettings.ReadWrite.All',
|
|
38
39
|
'https://graph.microsoft.com/RoleAssignmentSchedule.ReadWrite.Directory',
|
|
39
40
|
'https://graph.microsoft.com/RoleEligibilitySchedule.Read.Directory',
|
|
41
|
+
'https://graph.microsoft.com/RoleManagement.Read.Directory',
|
|
40
42
|
'https://graph.microsoft.com/SecurityEvents.Read.All',
|
|
41
43
|
'https://graph.microsoft.com/ServiceHealth.Read.All',
|
|
42
44
|
'https://graph.microsoft.com/ServiceMessage.Read.All',
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { odata } from '../../../../utils/odata.js';
|
|
2
|
+
import GraphCommand from '../../../base/GraphCommand.js';
|
|
3
|
+
import commands from '../../commands.js';
|
|
4
|
+
class EntraResourcenamespaceListCommand extends GraphCommand {
|
|
5
|
+
get name() {
|
|
6
|
+
return commands.RESOURCENAMESPACE_LIST;
|
|
7
|
+
}
|
|
8
|
+
get description() {
|
|
9
|
+
return 'Get a list of the RBAC resource namespaces and their properties';
|
|
10
|
+
}
|
|
11
|
+
defaultProperties() {
|
|
12
|
+
return ['id', 'name'];
|
|
13
|
+
}
|
|
14
|
+
async commandAction(logger) {
|
|
15
|
+
if (this.verbose) {
|
|
16
|
+
await logger.logToStderr('Getting a list of the RBAC resource namespaces and their properties...');
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const results = await odata.getAllItems(`${this.resource}/beta/roleManagement/directory/resourceNamespaces`);
|
|
20
|
+
await logger.log(results);
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
this.handleRejectedODataJsonPromise(err);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export default new EntraResourcenamespaceListCommand();
|
|
28
|
+
//# sourceMappingURL=resourcenamespace-list.js.map
|
|
@@ -88,6 +88,7 @@ export default {
|
|
|
88
88
|
PIM_ROLE_ASSIGNMENT_ELIGIBILITY_LIST: `${prefix} pim role assignment eligibility list`,
|
|
89
89
|
PIM_ROLE_REQUEST_LIST: `${prefix} pim role request list`,
|
|
90
90
|
POLICY_LIST: `${prefix} policy list`,
|
|
91
|
+
RESOURCENAMESPACE_LIST: `${prefix} resourcenamespace list`,
|
|
91
92
|
ROLEDEFINITION_ADD: `${prefix} roledefinition add`,
|
|
92
93
|
ROLEDEFINITION_LIST: `${prefix} roledefinition list`,
|
|
93
94
|
ROLEDEFINITION_GET: `${prefix} roledefinition get`,
|
|
@@ -1,15 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _SpoPageGetCommand_instances, _SpoPageGetCommand_initOptions, _SpoPageGetCommand_initValidators;
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { zod } from '../../../../utils/zod.js';
|
|
3
|
+
import { globalOptionsZod } from '../../../../Command.js';
|
|
7
4
|
import request from '../../../../request.js';
|
|
8
5
|
import { formatting } from '../../../../utils/formatting.js';
|
|
9
6
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
10
7
|
import { validation } from '../../../../utils/validation.js';
|
|
11
8
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
12
9
|
import commands from '../../commands.js';
|
|
10
|
+
const options = globalOptionsZod
|
|
11
|
+
.extend({
|
|
12
|
+
webUrl: zod.alias('u', z.string()
|
|
13
|
+
.refine(url => validation.isValidSharePointUrl(url) === true, url => ({
|
|
14
|
+
message: `'${url}' is not a valid SharePoint Online site URL.`
|
|
15
|
+
}))),
|
|
16
|
+
name: zod.alias('n', z.string()).optional(),
|
|
17
|
+
default: z.boolean().optional(),
|
|
18
|
+
metadataOnly: z.boolean().optional()
|
|
19
|
+
})
|
|
20
|
+
.strict();
|
|
13
21
|
class SpoPageGetCommand extends SpoCommand {
|
|
14
22
|
get name() {
|
|
15
23
|
return commands.PAGE_GET;
|
|
@@ -20,21 +28,37 @@ class SpoPageGetCommand extends SpoCommand {
|
|
|
20
28
|
defaultProperties() {
|
|
21
29
|
return ['commentsDisabled', 'numSections', 'numControls', 'title', 'layoutType'];
|
|
22
30
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
get schema() {
|
|
32
|
+
return options;
|
|
33
|
+
}
|
|
34
|
+
getRefinedSchema(schema) {
|
|
35
|
+
return schema
|
|
36
|
+
.refine(options => [options.name, options.default].filter(x => x !== undefined).length === 1, {
|
|
37
|
+
message: `Specify either name or default, but not both.`
|
|
38
|
+
});
|
|
28
39
|
}
|
|
29
40
|
async commandAction(logger, args) {
|
|
30
41
|
if (this.verbose) {
|
|
31
42
|
await logger.logToStderr(`Retrieving information about the page...`);
|
|
32
43
|
}
|
|
33
|
-
let pageName =
|
|
34
|
-
if (args.options.name.indexOf('.aspx') < 0) {
|
|
35
|
-
pageName += '.aspx';
|
|
36
|
-
}
|
|
44
|
+
let pageName = '';
|
|
37
45
|
try {
|
|
46
|
+
if (args.options.name) {
|
|
47
|
+
pageName = args.options.name.endsWith('.aspx')
|
|
48
|
+
? args.options.name
|
|
49
|
+
: `${args.options.name}.aspx`;
|
|
50
|
+
}
|
|
51
|
+
else if (args.options.default) {
|
|
52
|
+
const requestOptions = {
|
|
53
|
+
url: `${args.options.webUrl}/_api/Web/RootFolder?$select=WelcomePage`,
|
|
54
|
+
headers: {
|
|
55
|
+
accept: 'application/json;odata=nometadata'
|
|
56
|
+
},
|
|
57
|
+
responseType: 'json'
|
|
58
|
+
};
|
|
59
|
+
const { WelcomePage } = await request.get(requestOptions);
|
|
60
|
+
pageName = WelcomePage.split('/').pop();
|
|
61
|
+
}
|
|
38
62
|
let requestOptions = {
|
|
39
63
|
url: `${args.options.webUrl}/_api/web/GetFileByServerRelativePath(DecodedUrl='${urlUtil.getServerRelativeSiteUrl(args.options.webUrl)}/SitePages/${formatting.encodeQueryParameter(pageName)}')?$expand=ListItemAllFields/ClientSideApplicationId,ListItemAllFields/PageLayoutType,ListItemAllFields/CommentsDisabled`,
|
|
40
64
|
headers: {
|
|
@@ -45,7 +69,7 @@ class SpoPageGetCommand extends SpoCommand {
|
|
|
45
69
|
};
|
|
46
70
|
const page = await request.get(requestOptions);
|
|
47
71
|
if (page.ListItemAllFields.ClientSideApplicationId !== 'b6917cb1-93a0-4b97-a84d-7cf49975d4ec') {
|
|
48
|
-
throw `Page ${
|
|
72
|
+
throw `Page ${pageName} is not a modern page.`;
|
|
49
73
|
}
|
|
50
74
|
let pageItemData = {};
|
|
51
75
|
pageItemData = Object.assign({}, page);
|
|
@@ -80,16 +104,5 @@ class SpoPageGetCommand extends SpoCommand {
|
|
|
80
104
|
}
|
|
81
105
|
}
|
|
82
106
|
}
|
|
83
|
-
_SpoPageGetCommand_instances = new WeakSet(), _SpoPageGetCommand_initOptions = function _SpoPageGetCommand_initOptions() {
|
|
84
|
-
this.options.unshift({
|
|
85
|
-
option: '-n, --name <name>'
|
|
86
|
-
}, {
|
|
87
|
-
option: '-u, --webUrl <webUrl>'
|
|
88
|
-
}, {
|
|
89
|
-
option: '--metadataOnly'
|
|
90
|
-
});
|
|
91
|
-
}, _SpoPageGetCommand_initValidators = function _SpoPageGetCommand_initValidators() {
|
|
92
|
-
this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.webUrl));
|
|
93
|
-
};
|
|
94
107
|
export default new SpoPageGetCommand();
|
|
95
108
|
//# sourceMappingURL=page-get.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import GraphCommand from '../../../base/GraphCommand.js';
|
|
2
|
+
import commands from '../../commands.js';
|
|
3
|
+
import request from '../../../../request.js';
|
|
4
|
+
class TenantReportSettingsGetCommand extends GraphCommand {
|
|
5
|
+
get name() {
|
|
6
|
+
return commands.REPORT_SETTINGS_GET;
|
|
7
|
+
}
|
|
8
|
+
get description() {
|
|
9
|
+
return 'Get the tenant-level settings for Microsoft 365 reports';
|
|
10
|
+
}
|
|
11
|
+
async commandAction(logger) {
|
|
12
|
+
if (this.verbose) {
|
|
13
|
+
await logger.logToStderr('Getting tenant-level settings for Microsoft 365 reports...');
|
|
14
|
+
}
|
|
15
|
+
const requestOptions = {
|
|
16
|
+
url: `${this.resource}/v1.0/admin/reportSettings`,
|
|
17
|
+
headers: {
|
|
18
|
+
accept: 'application/json;odata.metadata=none'
|
|
19
|
+
},
|
|
20
|
+
responseType: 'json'
|
|
21
|
+
};
|
|
22
|
+
try {
|
|
23
|
+
const res = await request.get(requestOptions);
|
|
24
|
+
await logger.log(res);
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
this.handleRejectedODataJsonPromise(err);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export default new TenantReportSettingsGetCommand();
|
|
32
|
+
//# sourceMappingURL=report-settings-get.js.map
|
|
@@ -15,6 +15,7 @@ export default {
|
|
|
15
15
|
REPORT_OFFICE365ACTIVATIONSUSERDETAIL: `${prefix} report office365activationsuserdetail`,
|
|
16
16
|
REPORT_OFFICE365ACTIVATIONSUSERCOUNTS: `${prefix} report office365activationsusercounts`,
|
|
17
17
|
REPORT_SERVICESUSERCOUNTS: `${prefix} report servicesusercounts`,
|
|
18
|
+
REPORT_SETTINGS_GET: `${prefix} report settings get`,
|
|
18
19
|
REPORT_SETTINGS_SET: `${prefix} report settings set`,
|
|
19
20
|
SECURITY_ALERTS_LIST: `${prefix} security alerts list`,
|
|
20
21
|
SERVICEANNOUNCEMENT_HEALTHISSUE_GET: `${prefix} serviceannouncement healthissue get`,
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
import Tabs from '@theme/Tabs';
|
|
3
|
+
import TabItem from '@theme/TabItem';
|
|
4
|
+
|
|
5
|
+
# entra resourcenamespace list
|
|
6
|
+
|
|
7
|
+
Get a list of the RBAC resource namespaces and their properties
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
m365 entra resourcenamespace list [options]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Options
|
|
16
|
+
|
|
17
|
+
<Global />
|
|
18
|
+
|
|
19
|
+
## Remarks
|
|
20
|
+
|
|
21
|
+
:::warning
|
|
22
|
+
|
|
23
|
+
The command is based on an API that is currently in preview and is subject to change once the API reached general availability.
|
|
24
|
+
|
|
25
|
+
:::
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
Retrieve all resource namespaces.
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
m365 entra resourcenamespace list
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Response
|
|
36
|
+
|
|
37
|
+
<Tabs>
|
|
38
|
+
<TabItem value="JSON">
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
[
|
|
42
|
+
{
|
|
43
|
+
"id": "microsoft.directory",
|
|
44
|
+
"name": "microsoft.directory"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "microsoft.aad.b2c",
|
|
48
|
+
"name": "microsoft.aad.b2c"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
</TabItem>
|
|
54
|
+
<TabItem value="Text">
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
id name
|
|
58
|
+
-------------------- --------------------
|
|
59
|
+
microsoft.directory microsoft.directory
|
|
60
|
+
microsoft.aad.b2c microsoft.aad.b2c
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
</TabItem>
|
|
64
|
+
<TabItem value="CSV">
|
|
65
|
+
|
|
66
|
+
```csv
|
|
67
|
+
id,name
|
|
68
|
+
microsoft.directory,microsoft.directory
|
|
69
|
+
microsoft.aad.b2c,microsoft.aad.b2c
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
</TabItem>
|
|
73
|
+
<TabItem value="Markdown">
|
|
74
|
+
|
|
75
|
+
```md
|
|
76
|
+
# entra resourcenamespace list
|
|
77
|
+
|
|
78
|
+
Date: 1/31/2025
|
|
79
|
+
|
|
80
|
+
## microsoft.directory (microsoft.directory)
|
|
81
|
+
|
|
82
|
+
Property | Value
|
|
83
|
+
---------|-------
|
|
84
|
+
id | microsoft.directory
|
|
85
|
+
name | microsoft.directory
|
|
86
|
+
|
|
87
|
+
## microsoft.aad.b2c (microsoft.aad.b2c)
|
|
88
|
+
|
|
89
|
+
Property | Value
|
|
90
|
+
---------|-------
|
|
91
|
+
id | microsoft.aad.b2c
|
|
92
|
+
name | microsoft.aad.b2c
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
</TabItem>
|
|
96
|
+
</Tabs>
|
|
@@ -15,8 +15,11 @@ m365 spo page get [options]
|
|
|
15
15
|
## Options
|
|
16
16
|
|
|
17
17
|
```md definition-list
|
|
18
|
-
`-n, --name
|
|
19
|
-
: Name of the page to retrieve.
|
|
18
|
+
`-n, --name [name]`
|
|
19
|
+
: Name of the page to retrieve. Specify either `name` or `default`, but not both.
|
|
20
|
+
|
|
21
|
+
`--default`
|
|
22
|
+
: Get the homepage of a specific web. Specify either `name` or `default`, but not both.
|
|
20
23
|
|
|
21
24
|
`-u, --webUrl <webUrl>`
|
|
22
25
|
: URL of the site where the page to retrieve is located.
|
|
@@ -39,6 +42,12 @@ Get information about the modern page.
|
|
|
39
42
|
m365 spo page get --webUrl https://contoso.sharepoint.com/sites/team-a --name home.aspx
|
|
40
43
|
```
|
|
41
44
|
|
|
45
|
+
Get information about the home page.
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
m365 spo page get --webUrl https://contoso.sharepoint.com/sites/team-a --default
|
|
49
|
+
```
|
|
50
|
+
|
|
42
51
|
Get all the metadata from the modern page, without the section and control count information.
|
|
43
52
|
|
|
44
53
|
```sh
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
import Tabs from '@theme/Tabs';
|
|
3
|
+
import TabItem from '@theme/TabItem';
|
|
4
|
+
|
|
5
|
+
# tenant report settings get
|
|
6
|
+
|
|
7
|
+
Get the tenant-level settings for Microsoft 365 reports
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
m365 tenant report settings get [options]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Options
|
|
16
|
+
|
|
17
|
+
<Global />
|
|
18
|
+
|
|
19
|
+
## Examples
|
|
20
|
+
|
|
21
|
+
Get the tenant-level settings for Microsoft 365 reports.
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
m365 tenant report settings get
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Response
|
|
28
|
+
|
|
29
|
+
<Tabs>
|
|
30
|
+
<TabItem value="JSON">
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"displayConcealedNames": true
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
</TabItem>
|
|
39
|
+
<TabItem value="Text">
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
displayConcealedNames: true
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
</TabItem>
|
|
46
|
+
<TabItem value="CSV">
|
|
47
|
+
|
|
48
|
+
```csv
|
|
49
|
+
displayConcealedNames
|
|
50
|
+
1
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
</TabItem>
|
|
54
|
+
<TabItem value="Markdown">
|
|
55
|
+
|
|
56
|
+
```md
|
|
57
|
+
# tenant report settings get
|
|
58
|
+
|
|
59
|
+
Date: 1/28/2025
|
|
60
|
+
|
|
61
|
+
Property | Value
|
|
62
|
+
---------|-------
|
|
63
|
+
displayConcealedNames | true
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
</TabItem>
|
|
67
|
+
</Tabs>
|
package/package.json
CHANGED