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

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.
Files changed (27) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/README.md +11 -6
  3. package/allCommands.json +1 -1
  4. package/allCommandsFull.json +1 -1
  5. package/dist/m365/commands/login.js +6 -6
  6. package/dist/m365/entra/commands/approleassignment/approleassignment-remove.js +1 -1
  7. package/dist/m365/entra/commands/group/group-list.js +3 -2
  8. package/dist/m365/spo/commands/file/file-roleassignment-add.js +26 -2
  9. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +26 -2
  10. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +28 -12
  11. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +24 -7
  12. package/dist/m365/spo/commands/list/list-defaultvalue-list.js +140 -0
  13. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +25 -7
  14. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +22 -5
  15. package/dist/m365/spo/commands/web/web-roleassignment-add.js +22 -5
  16. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +22 -5
  17. package/dist/m365/spo/commands.js +1 -0
  18. package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +21 -4
  19. package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +21 -3
  20. package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +15 -3
  21. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +15 -3
  22. package/docs/docs/cmd/spo/list/list-defaultvalue-list.mdx +110 -0
  23. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-add.mdx +15 -3
  24. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.mdx +17 -5
  25. package/docs/docs/cmd/spo/web/web-roleassignment-add.mdx +15 -3
  26. package/docs/docs/cmd/spo/web/web-roleassignment-remove.mdx +15 -3
  27. package/package.json +1 -1
@@ -13,6 +13,8 @@ import SpoCommand from '../../../base/SpoCommand.js';
13
13
  import commands from '../../commands.js';
14
14
  import spoGroupGetCommand from '../group/group-get.js';
15
15
  import spoUserGetCommand from '../user/user-get.js';
16
+ import { entraGroup } from '../../../../utils/entraGroup.js';
17
+ import { spo } from '../../../../utils/spo.js';
16
18
  class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand {
17
19
  get name() {
18
20
  return commands.LISTITEM_ROLEASSIGNMENT_REMOVE;
@@ -58,15 +60,21 @@ class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand {
58
60
  requestUrl += `items(${options.listItemId})/`;
59
61
  if (options.upn) {
60
62
  options.principalId = await this.getUserPrincipalId(options);
61
- await this.removeRoleAssignmentWithRequestUrl(requestUrl, logger, options);
62
63
  }
63
64
  else if (options.groupName) {
64
65
  options.principalId = await this.getGroupPrincipalId(options);
65
- await this.removeRoleAssignmentWithRequestUrl(requestUrl, logger, options);
66
66
  }
67
- else {
68
- await this.removeRoleAssignmentWithRequestUrl(requestUrl, logger, options);
67
+ else if (options.entraGroupId || options.entraGroupName) {
68
+ if (this.verbose) {
69
+ await logger.logToStderr('Retrieving group information...');
70
+ }
71
+ const group = options.entraGroupId
72
+ ? await entraGroup.getGroupById(options.entraGroupId)
73
+ : await entraGroup.getGroupByDisplayName(options.entraGroupName);
74
+ const siteUser = await spo.ensureEntraGroup(options.webUrl, group);
75
+ options.principalId = siteUser.Id;
69
76
  }
77
+ await this.removeRoleAssignmentWithRequestUrl(requestUrl, logger, options);
70
78
  }
71
79
  catch (err) {
72
80
  this.handleRejectedODataJsonPromise(err);
@@ -119,6 +127,8 @@ _SpoListItemRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoListItemR
119
127
  principalId: typeof args.options.principalId !== 'undefined',
120
128
  upn: typeof args.options.upn !== 'undefined',
121
129
  groupName: typeof args.options.groupName !== 'undefined',
130
+ entraGroupId: typeof args.options.entraGroupId !== 'undefined',
131
+ entraGroupName: typeof args.options.entraGroupName !== 'undefined',
122
132
  force: (!(!args.options.force)).toString()
123
133
  });
124
134
  });
@@ -139,6 +149,10 @@ _SpoListItemRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoListItemR
139
149
  option: '--upn [upn]'
140
150
  }, {
141
151
  option: '--groupName [groupName]'
152
+ }, {
153
+ option: '--entraGroupId [entraGroupId]'
154
+ }, {
155
+ option: '--entraGroupName [entraGroupName]'
142
156
  }, {
143
157
  option: '-f, --force'
144
158
  });
@@ -157,10 +171,13 @@ _SpoListItemRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoListItemR
157
171
  if (args.options.principalId && isNaN(args.options.principalId)) {
158
172
  return `Specified principalId ${args.options.principalId} is not a number`;
159
173
  }
174
+ if (args.options.entraGroupId && !validation.isValidGuid(args.options.entraGroupId)) {
175
+ return `'${args.options.entraGroupId}' is not a valid GUID for option entraGroupId.`;
176
+ }
160
177
  return true;
161
178
  });
162
179
  }, _SpoListItemRoleAssignmentRemoveCommand_initOptionSets = function _SpoListItemRoleAssignmentRemoveCommand_initOptionSets() {
163
- this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] }, { options: ['principalId', 'upn', 'groupName'] });
180
+ this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] }, { options: ['principalId', 'upn', 'groupName', 'entraGroupId', 'entraGroupName'] });
164
181
  };
165
182
  export default new SpoListItemRoleAssignmentRemoveCommand();
166
183
  //# sourceMappingURL=listitem-roleassignment-remove.js.map
@@ -12,6 +12,8 @@ import commands from '../../commands.js';
12
12
  import spoGroupGetCommand from '../group/group-get.js';
13
13
  import spoRoleDefinitionListCommand from '../roledefinition/roledefinition-list.js';
14
14
  import spoUserGetCommand from '../user/user-get.js';
15
+ import { entraGroup } from '../../../../utils/entraGroup.js';
16
+ import { spo } from '../../../../utils/spo.js';
15
17
  class SpoWebRoleAssignmentAddCommand extends SpoCommand {
16
18
  get name() {
17
19
  return commands.WEB_ROLEASSIGNMENT_ADD;
@@ -35,15 +37,21 @@ class SpoWebRoleAssignmentAddCommand extends SpoCommand {
35
37
  args.options.roleDefinitionId = await this.getRoleDefinitionId(args.options);
36
38
  if (args.options.upn) {
37
39
  args.options.principalId = await this.getUserPrincipalId(args.options);
38
- await this.addRoleAssignment(logger, args.options);
39
40
  }
40
41
  else if (args.options.groupName) {
41
42
  args.options.principalId = await this.getGroupPrincipalId(args.options);
42
- await this.addRoleAssignment(logger, args.options);
43
43
  }
44
- else {
45
- await this.addRoleAssignment(logger, args.options);
44
+ else if (args.options.entraGroupId || args.options.entraGroupName) {
45
+ if (this.verbose) {
46
+ await logger.logToStderr('Retrieving group information...');
47
+ }
48
+ const group = args.options.entraGroupId
49
+ ? await entraGroup.getGroupById(args.options.entraGroupId)
50
+ : await entraGroup.getGroupByDisplayName(args.options.entraGroupName);
51
+ const siteUser = await spo.ensureEntraGroup(args.options.webUrl, group);
52
+ args.options.principalId = siteUser.Id;
46
53
  }
54
+ await this.addRoleAssignment(logger, args.options);
47
55
  }
48
56
  catch (err) {
49
57
  this.handleRejectedODataJsonPromise(err);
@@ -108,6 +116,8 @@ _SpoWebRoleAssignmentAddCommand_instances = new WeakSet(), _SpoWebRoleAssignment
108
116
  principalId: typeof args.options.principalId !== 'undefined',
109
117
  upn: typeof args.options.upn !== 'undefined',
110
118
  groupName: typeof args.options.groupName !== 'undefined',
119
+ entraGroupId: typeof args.options.entraGroupId !== 'undefined',
120
+ entraGroupName: typeof args.options.entraGroupName !== 'undefined',
111
121
  roleDefinitionId: typeof args.options.roleDefinitionId !== 'undefined',
112
122
  roleDefinitionName: typeof args.options.roleDefinitionName !== 'undefined'
113
123
  });
@@ -121,6 +131,10 @@ _SpoWebRoleAssignmentAddCommand_instances = new WeakSet(), _SpoWebRoleAssignment
121
131
  option: '--upn [upn]'
122
132
  }, {
123
133
  option: '--groupName [groupName]'
134
+ }, {
135
+ option: '--entraGroupId [entraGroupId]'
136
+ }, {
137
+ option: '--entraGroupName [entraGroupName]'
124
138
  }, {
125
139
  option: '--roleDefinitionId [roleDefinitionId]'
126
140
  }, {
@@ -138,10 +152,13 @@ _SpoWebRoleAssignmentAddCommand_instances = new WeakSet(), _SpoWebRoleAssignment
138
152
  if (args.options.roleDefinitionId && isNaN(args.options.roleDefinitionId)) {
139
153
  return `Specified roleDefinitionId ${args.options.roleDefinitionId} is not a number`;
140
154
  }
155
+ if (args.options.entraGroupId && !validation.isValidGuid(args.options.entraGroupId)) {
156
+ return `'${args.options.entraGroupId}' is not a valid GUID for option entraGroupId.`;
157
+ }
141
158
  return true;
142
159
  });
143
160
  }, _SpoWebRoleAssignmentAddCommand_initOptionSets = function _SpoWebRoleAssignmentAddCommand_initOptionSets() {
144
- this.optionSets.push({ options: ['principalId', 'upn', 'groupName'] }, { options: ['roleDefinitionId', 'roleDefinitionName'] });
161
+ this.optionSets.push({ options: ['principalId', 'upn', 'groupName', 'entraGroupId', 'entraGroupName'] }, { options: ['roleDefinitionId', 'roleDefinitionName'] });
145
162
  };
146
163
  export default new SpoWebRoleAssignmentAddCommand();
147
164
  //# sourceMappingURL=web-roleassignment-add.js.map
@@ -11,6 +11,8 @@ import SpoCommand from '../../../base/SpoCommand.js';
11
11
  import commands from '../../commands.js';
12
12
  import spoGroupGetCommand from '../group/group-get.js';
13
13
  import spoUserGetCommand from '../user/user-get.js';
14
+ import { entraGroup } from '../../../../utils/entraGroup.js';
15
+ import { spo } from '../../../../utils/spo.js';
14
16
  class SpoWebRoleAssignmentRemoveCommand extends SpoCommand {
15
17
  get name() {
16
18
  return commands.WEB_ROLEASSIGNMENT_REMOVE;
@@ -44,15 +46,21 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand {
44
46
  try {
45
47
  if (options.upn) {
46
48
  options.principalId = await this.getUserPrincipalId(options);
47
- await this.removeRoleAssignmentWithOptions(logger, options);
48
49
  }
49
50
  else if (options.groupName) {
50
51
  options.principalId = await this.getGroupPrincipalId(options);
51
- await this.removeRoleAssignmentWithOptions(logger, options);
52
52
  }
53
- else {
54
- await this.removeRoleAssignmentWithOptions(logger, options);
53
+ else if (options.entraGroupId || options.entraGroupName) {
54
+ if (this.verbose) {
55
+ await logger.logToStderr('Retrieving group information...');
56
+ }
57
+ const group = options.entraGroupId
58
+ ? await entraGroup.getGroupById(options.entraGroupId)
59
+ : await entraGroup.getGroupByDisplayName(options.entraGroupName);
60
+ const siteUser = await spo.ensureEntraGroup(options.webUrl, group);
61
+ options.principalId = siteUser.Id;
55
62
  }
63
+ await this.removeRoleAssignmentWithOptions(logger, options);
56
64
  }
57
65
  catch (err) {
58
66
  this.handleRejectedODataJsonPromise(err);
@@ -102,6 +110,8 @@ _SpoWebRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoWebRoleAssignm
102
110
  principalId: typeof args.options.principalId !== 'undefined',
103
111
  upn: typeof args.options.upn !== 'undefined',
104
112
  groupName: typeof args.options.groupName !== 'undefined',
113
+ entraGroupId: typeof args.options.entraGroupId !== 'undefined',
114
+ entraGroupName: typeof args.options.entraGroupName !== 'undefined',
105
115
  force: (!(!args.options.force)).toString()
106
116
  });
107
117
  });
@@ -114,6 +124,10 @@ _SpoWebRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoWebRoleAssignm
114
124
  option: '--upn [upn]'
115
125
  }, {
116
126
  option: '--groupName [groupName]'
127
+ }, {
128
+ option: '--entraGroupId [entraGroupId]'
129
+ }, {
130
+ option: '--entraGroupName [entraGroupName]'
117
131
  }, {
118
132
  option: '-f, --force'
119
133
  });
@@ -126,10 +140,13 @@ _SpoWebRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoWebRoleAssignm
126
140
  if (args.options.principalId && isNaN(args.options.principalId)) {
127
141
  return `Specified principalId ${args.options.principalId} is not a number`;
128
142
  }
143
+ if (args.options.entraGroupId && !validation.isValidGuid(args.options.entraGroupId)) {
144
+ return `'${args.options.entraGroupId}' is not a valid GUID for option entraGroupId.`;
145
+ }
129
146
  return true;
130
147
  });
131
148
  }, _SpoWebRoleAssignmentRemoveCommand_initOptionSets = function _SpoWebRoleAssignmentRemoveCommand_initOptionSets() {
132
- this.optionSets.push({ options: ['principalId', 'upn', 'groupName'] });
149
+ this.optionSets.push({ options: ['principalId', 'upn', 'groupName', 'entraGroupId', 'entraGroupName'] });
133
150
  };
134
151
  export default new SpoWebRoleAssignmentRemoveCommand();
135
152
  //# sourceMappingURL=web-roleassignment-remove.js.map
@@ -137,6 +137,7 @@ export default {
137
137
  LIST_CONTENTTYPE_LIST: `${prefix} list contenttype list`,
138
138
  LIST_CONTENTTYPE_REMOVE: `${prefix} list contenttype remove`,
139
139
  LIST_CONTENTTYPE_DEFAULT_SET: `${prefix} list contenttype default set`,
140
+ LIST_DEFAULTVALUE_LIST: `${prefix} list defaultvalue list`,
140
141
  LIST_GET: `${prefix} list get`,
141
142
  LIST_LIST: `${prefix} list list`,
142
143
  LIST_REMOVE: `${prefix} list remove`,
@@ -26,10 +26,16 @@ m365 spo file roleassignment add [options]
26
26
  : The SharePoint Id of the principal. It may be either a user id or group id to add a role assignment for. Specify either `upn`, `groupName`, or `principalId` but not multiple.
27
27
 
28
28
  `--upn [upn]`
29
- : The upn/email of user to assign role to. Specify either `upn`, `groupName`, or `principalId` but not multiple.
29
+ : The upn/email of user to assign role to. Specify either `upn`, `groupName`, `entraGroupId`, `entraGroupName`, or `principalId` but not multiple.
30
30
 
31
31
  `--groupName [groupName]`
32
- : The group name of the SharePoint group Specify either `upn`, `groupName`, or `principalId` but not multiple.
32
+ : The group name of the SharePoint group Specify either `upn`, `groupName`, `entraGroupId`, `entraGroupName`, or `principalId` but not multiple. This option is only used for SharePoint Online groups.
33
+
34
+ `--entraGroupId [entraGroupId]`
35
+ : ID of the Microsoft Entra group to add. Specify either `upn`, `groupName`, `entraGroupId`, `entraGroupName`, or `principalId` but not multiple.
36
+
37
+ `--entraGroupName [entraGroupName]`
38
+ : Display name of the Microsoft Entra group to add. Specify either `upn`, `groupName`, `entraGroupId`, `entraGroupName`, or `principalId` but not multiple.
33
39
 
34
40
  `--roleDefinitionId [roleDefinitionId]`
35
41
  : ID of role definition. Specify either `roleDefinitionId` or `roleDefinitionName` but not both.
@@ -54,12 +60,23 @@ Adds a role assignment to a file with a specified site-relative URL for a specif
54
60
  m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileUrl "Shared Documents/Test1.docx" --upn "testuser@tenant.onmicrosoft.com" --roleDefinitionName "Full Control"
55
61
  ```
56
62
 
57
- Adds a role assignment to a file with a specified server-relative URL the for a specific group and a role definition name.
63
+ Adds a role assignment to a file with a specified server-relative URL the for a specific SharePoint Online group and a role definition name.
58
64
 
59
65
  ```sh
60
- m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileUrl "/sites/project-x/documents/Test1.docx" --upn "testuser@tenant.onmicrosoft.com" --roleDefinitionName "Read"
66
+ m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileUrl "/sites/project-x/documents/Test1.docx" --groupName "Sales Group" --roleDefinitionName "Read"
61
67
  ```
62
68
 
69
+ Adds a role assignment to a file with a specified site-relative URL for a specific Entra Group Id and a role definition name.
70
+
71
+ ```sh
72
+ m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileUrl "Shared Documents/Test1.docx" --entraGroupId 3c97e01e-978d-417b-a196-b6a3e37fa873 --roleDefinitionName "Full Control"
73
+ ```
74
+
75
+ Adds a role assignment to a file with a specified site-relative URL for a specific Entra Group Name and a role definition name.
76
+
77
+ ```sh
78
+ m365 spo file roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --fileUrl "Shared Documents/Test1.docx" --entraGroupName "Marketing Memebers" --roleDefinitionName "Full Control"
79
+ ```
63
80
  ## Response
64
81
 
65
82
  The command won't return a response on success.
@@ -23,13 +23,19 @@ m365 spo file roleassignment remove [options]
23
23
  : The UniqueId (GUID) of the file. Specify either `fileUrl` or `fileId` but not both.
24
24
 
25
25
  `--principalId [principalId]`
26
- : The SharePoint Id of the principal. It may be either a user id or group id. Specify either `upn`, `groupName`, or `principalId` but not multiple.
26
+ : The SharePoint Id of the principal. It may be either a user id or group id. Specify either `upn`, `groupName`, `entraGroupId`, `entraGroupName`, or `principalId` but not multiple.
27
27
 
28
28
  `--upn [upn]`
29
- : The upn/email of the user. Specify either `upn`, `groupName`, or `principalId` but not multiple.
29
+ : The upn/email of the user. Specify either `upn`, `groupName`, `entraGroupId`, `entraGroupName`, or `principalId` but not multiple.
30
30
 
31
31
  `--groupName [groupName]`
32
- : The group name of the SharePoint group Specify either `upn`, `groupName`, or `principalId` but not multiple.
32
+ : The group name of the SharePoint group Specify either `upn`, `groupName`, `entraGroupId`, `entraGroupName`, or `principalId` but not multiple. This option is only used for SharePoint Online groups.
33
+
34
+ `--entraGroupId [entraGroupId]`
35
+ : ID of the Microsoft Entra group to remove. Specify either `upn`, `groupName`, `entraGroupId`, `entraGroupName`, or `principalId` but not multiple.
36
+
37
+ `--entraGroupName [entraGroupName]`
38
+ : Display name of the Microsoft Entra group to remove. Specify either `upn`, `groupName`, `entraGroupId`, `entraGroupName`, or `principalId` but not multiple.
33
39
 
34
40
  `-f, --force`
35
41
  : Don't prompt for confirmation.
@@ -57,6 +63,18 @@ Remove a role assignment by group name from a file by id.
57
63
  m365 spo file roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --fileId "b2307a39-e878-458b-bc90-03bc578531d6" --groupName "saleGroup"
58
64
  ```
59
65
 
66
+ Remove a role assignment by entra group id from a file by id without prompt
67
+
68
+ ```sh
69
+ m365 spo file roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --fileId "b2307a39-e878-458b-bc90-03bc578531d6" --entraGroupId 3c97e01e-978d-417b-a196-b6a3e37fa873 --force
70
+ ```
71
+
72
+ Remove a role assignment by entra group name from a file by id.
73
+
74
+ ```sh
75
+ m365 spo file roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --fileId "b2307a39-e878-458b-bc90-03bc578531d6" --entraGroupName "Marketing Members"
76
+ ```
77
+
60
78
  ## Response
61
79
 
62
80
  The command won't return a response on success.
@@ -20,13 +20,19 @@ m365 spo folder roleassignment add [options]
20
20
  : The server- or site-relative decoded URL of the folder.
21
21
 
22
22
  `--principalId [principalId]`
23
- : The SharePoint principal id. It may be either an user id or group id for which the role assignment will be addd. Specify either `upn`, `groupName` or `principalId` but not multiple.
23
+ : The SharePoint principal id. It may be either an user id or group id for which the role assignment will be addd. Specify either `upn`, `groupName`, `principalId`, `entraGroupId` or `entraGroupName` but not multiple.
24
24
 
25
25
  `--upn [upn]`
26
- : The upn/email of the user. Specify either `upn`, `groupName` or `principalId` but not multiple.
26
+ : The upn/email of the user. Specify either `upn`, `groupName`, `principalId`, `entraGroupId` or `entraGroupName` but not multiple.
27
27
 
28
28
  `--groupName [groupName]`
29
- : The Microsoft Entra or SharePoint group name. Specify either `upn`, `groupName` or `principalId` but not multiple.
29
+ : The SharePoint group name. Specify either `upn`, `groupName`, `principalId`, `entraGroupId` or `entraGroupName` but not multiple.
30
+
31
+ `--entraGroupId [entraGroupId]`
32
+ : ID of the Microsoft Entra group to add. Specify either `upn`, `groupName`, `principalId`, `entraGroupId` or `entraGroupName` but not multiple.
33
+
34
+ `--entraGroupName [entraGroupName]`
35
+ : Display name of the Microsoft Entra group to add. Specify either `upn`, `groupName`, `principalId`, `entraGroupId` or `entraGroupName` but not multiple.
30
36
 
31
37
  `--roleDefinitionId [roleDefinitionId]`
32
38
  : ID of the role definition. Specify either `roleDefinitionId` or `roleDefinitionName` but not both.
@@ -63,6 +69,12 @@ Add the role assignment to the root folder based on the upn and role definition
63
69
  m365 spo folder roleassignment add --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --folderUrl "/Shared Documents" --upn "test@contoso.onmicrosoft.com" --roleDefinitionName "Edit"
64
70
  ```
65
71
 
72
+ Add the role assignment to the specified folder based on the Entra Group Id and role definition id.
73
+
74
+ ```sh
75
+ m365 spo folder roleassignment add --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --folderUrl "/Shared Documents/FolderPermission" --entraGroupId "27ae47f1-48f1-46f3-980b-d3c1470e398d" --roleDefinitionId 1073741827
76
+ ```
77
+
66
78
  ## Response
67
79
 
68
80
  The command won't return a response on success.
@@ -20,13 +20,19 @@ m365 spo folder roleassignment remove [options]
20
20
  : The server- or site-relative decoded URL of the folder.
21
21
 
22
22
  `--principalId [principalId]`
23
- : The SharePoint principal id. It may be either an user id or group id for which the role assignment will be removed. Specify either `upn`, `groupName` or `principalId` but not multiple.
23
+ : The SharePoint principal id. It may be either an user id or group id for which the role assignment will be removed. Specify either `upn`, `groupName`, `principalId`, `entraGroupId` or `entraGroupName` but not multiple.
24
24
 
25
25
  `--upn [upn]`
26
- : The upn/email of the user. Specify either `upn`, `groupName` or `principalId` but not multiple.
26
+ : The upn/email of the user. Specify either `upn`, `groupName`, `principalId`, `entraGroupId` or `entraGroupName` but not multiple.
27
27
 
28
28
  `--groupName [groupName]`
29
- : The Microsoft Entra or SharePoint group name. Specify either `upn`, `groupName` or `principalId` but not multiple.
29
+ : The SharePoint group name. Specify either `upn`, `groupName`, `principalId`, `entraGroupId` or `entraGroupName` but not multiple.
30
+
31
+ `--entraGroupId [entraGroupId]`
32
+ : ID of the Microsoft Entra group to remove. Specify either `upn`, `groupName`, `principalId`, `entraGroupId` or `entraGroupName` but not multiple.
33
+
34
+ `--entraGroupName [entraGroupName]`
35
+ : Display name of the Microsoft Entra group to remove. Specify either `upn`, `groupName`, `principalId`, `entraGroupId` or `entraGroupName` but not multiple.
30
36
 
31
37
  `-f, --force`
32
38
  : Don't prompt for confirmation when removing the role assignment.
@@ -60,6 +66,12 @@ Remove the role assignment from the specified folder based on the upn.
60
66
  m365 spo folder roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --folderUrl "/Shared Documents/FolderPermission" --upn "test@contoso.onmicrosoft.com"
61
67
  ```
62
68
 
69
+ Remove the role assignment from the specified folder based on the Entra group id.
70
+
71
+ ```sh
72
+ m365 spo folder roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --folderUrl "/Shared Documents/FolderPermission" --entraGroupId "27ae47f1-48f1-46f3-980b-d3c1470e398d"
73
+ ```
74
+
63
75
  ## Response
64
76
 
65
77
  The command won't return a response on success.
@@ -0,0 +1,110 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # spo list defaultvalue list
6
+
7
+ Retrieves default column values for a specific document library
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 spo list defaultvalue list [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `-u, --webUrl <webUrl>`
19
+ : URL of the site where the list is located.
20
+
21
+ `-i, --listId [listId]`
22
+ : ID of the list. Specify either `listTitle`, `listId`, or `listUrl`.
23
+
24
+ `-t, --listTitle [listTitle]`
25
+ : Title of the list. Specify either `listTitle`, `listId`, or `listUrl`.
26
+
27
+ `--listUrl [listUrl]`
28
+ : Server- or site-relative URL of the list. Specify either `listTitle`, `listId`, or `listUrl`.
29
+
30
+ `--folderUrl [folderUrl]`
31
+ : Only get default column values from a specific folder.
32
+ ```
33
+
34
+ <Global />
35
+
36
+ ## Examples
37
+
38
+ List all default column values of a list specified by title
39
+
40
+ ```sh
41
+ m365 spo list defaultvalue list --webUrl https://contoso.sharepoint.com/sites/marketing --listTitle "Project Documents"
42
+ ```
43
+
44
+ List all default column values of a list specified by ID
45
+
46
+ ```sh
47
+ m365 spo list defaultvalue list --webUrl https://contoso.sharepoint.com/sites/marketing --listId 12345678-90ab-cdef-1234-567890abcdef
48
+ ```
49
+
50
+ List all default column values of a list specified by server relative URL
51
+
52
+ ```sh
53
+ m365 spo list defaultvalue list --webUrl https://contoso.sharepoint.com/sites/marketing --listUrl "/sites/marketing/Project Documents"
54
+ ```
55
+
56
+ List all default column values of a specific folder in a list specified by site relative URLs
57
+
58
+ ```sh
59
+ m365 spo list defaultvalue list --webUrl https://contoso.sharepoint.com/sites/marketing --listUrl "/Project Documents" --folderUrl "/Project Documents/Archive"
60
+ ```
61
+
62
+ ## Response
63
+
64
+ <Tabs>
65
+ <TabItem value="JSON">
66
+
67
+ ```json
68
+ [
69
+ {
70
+ "fieldName": "Countries",
71
+ "fieldValue": "19;#Belgium|442affc2-7fab-4f33-9590-330403a579c2",
72
+ "folderUrl": "/sites/Marketing/Project Documents"
73
+ }
74
+ ]
75
+ ```
76
+
77
+ </TabItem>
78
+ <TabItem value="Text">
79
+
80
+ ```text
81
+ fieldName fieldValue folderUrl
82
+ --------- ------------------------------------------------ ----------------------------------
83
+ Countries 19;#Belgium|442affc2-7fab-4f33-9590-330403a579c2 /sites/Marketing/Project Documents
84
+ ```
85
+
86
+ </TabItem>
87
+ <TabItem value="CSV">
88
+
89
+ ```csv
90
+ fieldName,fieldValue,folderUrl
91
+ Countries,19;#Belgium|442affc2-7fab-4f33-9590-330403a579c2,/sites/Marketing/Project Documents
92
+ ```
93
+
94
+ </TabItem>
95
+ <TabItem value="Markdown">
96
+
97
+ ```md
98
+ # spo list defaultvalue list --webUrl "https://contoso.sharepoint.com/sites/marketing" --listUrl "/Project Documents"
99
+
100
+ Date: 20/10/2024
101
+
102
+ Property | Value
103
+ ---------|-------
104
+ fieldName | Countries
105
+ fieldValue | 19;#Belgium\|442affc2-7fab-4f33-9590-330403a579c2
106
+ folderUrl | /sites/Marketing/Project Documents
107
+ ```
108
+
109
+ </TabItem>
110
+ </Tabs>
@@ -29,13 +29,19 @@ m365 spo listitem roleassignment add [options]
29
29
  : Id of the list item to assign the role to.
30
30
 
31
31
  `--principalId [principalId]`
32
- : The SharePoint Id of the principal. It may be either a user id or group id to add a role assignment for. Specify either `upn`, `groupName` or `principalId`.
32
+ : The SharePoint Id of the principal. It may be either a user id or group id to add a role assignment for. Specify either `principalId`, `upn`, `groupName`, `entraGroupId`, or `entraGroupName`.
33
33
 
34
34
  `--upn [upn]`
35
- : The upn/email of user to assign role to. Specify either `upn`, `groupName` or `principalId`.
35
+ : The upn/email of user to assign role to. Specify either `principalId`, `upn`, `groupName`, `entraGroupId`, or `entraGroupName`.
36
36
 
37
37
  `--groupName [groupName]`
38
- : The group name of the SharePoint group Specify either `upn`, `groupName` or `principalId`.
38
+ : The group name of the SharePoint group. Use this option exclusively for SharePoint Online groups. Specify either `principalId`, `upn`, `groupName`, `entraGroupId`, or `entraGroupName`.
39
+
40
+ `--entraGroupId [entraGroupId]`
41
+ : ID of the Microsoft Entra group to add. Specify either `principalId`, `upn`, `groupName`, `entraGroupId`, or `entraGroupName`.
42
+
43
+ `--entraGroupName [entraGroupName]`
44
+ : Display name of the Microsoft Entra group to add. Specify either `principalId`, `upn`, `groupName`, `entraGroupId`, or `entraGroupName`.
39
45
 
40
46
  `--roleDefinitionId [roleDefinitionId]`
41
47
  : ID of role definition. Specify either `roleDefinitionId` or `roleDefinitionName` but not both.
@@ -84,6 +90,12 @@ Add role assignment to specified list item in specified list located in specifie
84
90
  m365 spo listitem roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --listTitle "someList" --listItemId 1 --principalId 11 --roleDefinitionName "Full Control"
85
91
  ```
86
92
 
93
+ Add role assignment to specified list item in specified list located in specified site for specified Entra group id and specified role definition name.
94
+
95
+ ```sh
96
+ m365 spo listitem roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --listTitle "someList" --listItemId 1 --entraGroupId "27ae47f1-48f1-46f3-980b-d3c1470e398d" --roleDefinitionName "Full Control"
97
+ ```
98
+
87
99
  ## Response
88
100
 
89
101
  The command won't return a response on success.
@@ -29,13 +29,19 @@ m365 spo listitem roleassignment remove [options]
29
29
  : Id of the list item to remove the role from.
30
30
 
31
31
  `--principalId [principalId]`
32
- : SharePoint ID of principal it may be either user id or group id we want to remove permissions. Specify either `principalId`, `upn`, or `groupName` but not multiple.
32
+ : SharePoint ID of principal it may be either user id or group id we want to remove permissions. Specify either `principalId`, `upn`, `groupName`, `entraGroupId`, or `entraGroupName`.
33
33
 
34
34
  `--upn [upn]`
35
- : The upn/email of user. Specify either `principalId`, `upn`, or `groupName` but not multiple.
35
+ : The upn/email of user. Specify either `principalId`, `upn`, `groupName`, `entraGroupId`, or `entraGroupName`.
36
36
 
37
37
  `--groupName [groupName]`
38
- : The group name of the SharePoint group Specify either `principalId`, `upn`, or `groupName` but not multiple.
38
+ : The group name of the SharePoint group. Use this option exclusively for SharePoint Online groups. Specify either `principalId`, `upn`, `groupName`, `entraGroupId`, or `entraGroupName`.
39
+
40
+ `--entraGroupId [entraGroupId]`
41
+ : ID of the Microsoft Entra group to remove. Specify either `principalId`, `upn`, `groupName`, `entraGroupId`, or `entraGroupName`.
42
+
43
+ `--entraGroupName [entraGroupName]`
44
+ : Display name of the Microsoft Entra group to remove. Specify either `principalId`, `upn`, `groupName`, `entraGroupId`, or `entraGroupName`.
39
45
 
40
46
  `-f, --force`
41
47
  : Don't prompt for confirming removing the role assignment.
@@ -60,14 +66,20 @@ m365 spo listitem roleassignment remove --webUrl "https://contoso.sharepoint.com
60
66
  Remove roleassignment from list item getting list by url based on principal Id
61
67
 
62
68
  ```sh
63
- m365 spo listitem roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --listUrl '/sites/contoso-sales/lists/Events' --listItemId 1 --principalId 2
69
+ m365 spo listitem roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --listUrl "/sites/contoso-sales/lists/Events" --listItemId 1 --principalId 2
64
70
  ```
65
71
 
66
72
 
67
73
  Remove roleassignment from list item getting list by url based on principal Id without prompting for confirmation
68
74
 
69
75
  ```sh
70
- m365 spo listitem roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --listUrl '/sites/contoso-sales/lists/Events' --listItemId 1 --principalId 2 --force
76
+ m365 spo listitem roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --listUrl "/sites/contoso-sales/lists/Events" --listItemId 1 --principalId 2 --force
77
+ ```
78
+
79
+ Remove roleassignment from list item getting list by url based on Entra group Id without prompting for confirmation
80
+
81
+ ```sh
82
+ m365 spo listitem roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --listUrl "/sites/contoso-sales/lists/Events" --listItemId 1 --entraGroupId "27ae47f1-48f1-46f3-980b-d3c1470e398d" --force
71
83
  ```
72
84
 
73
85
  ## Response
@@ -17,13 +17,19 @@ m365 spo web roleassignment add [options]
17
17
  : URL of the site.
18
18
 
19
19
  `--principalId [principalId]`
20
- : SharePoint ID of principal it may be either user id or group id we want to add permissions to. Specify either `principalId`, `upn`, or `groupName` but not multiple.
20
+ : SharePoint ID of principal it may be either user id or group id we want to add permissions to. Specify either `principalId`, `upn`, `groupName`, `entraGroupId` or `entraGroupName` but not multiple.
21
21
 
22
22
  `--upn [upn]`
23
- : The upn/email of user to assign role to. Specify either `principalId`, `upn`, or `groupName` but not multiple.
23
+ : The upn/email of user to assign role to. Specify either `principalId`, `upn`, `groupName`, `entraGroupId` or `entraGroupName` but not multiple.
24
24
 
25
25
  `--groupName [groupName]`
26
- : The group name of the SharePoint group Specify either `principalId`, `upn`, or `groupName` but not multiple.
26
+ : The group name of the SharePoint group. Use this option exclusively for SharePoint Online groups. Specify either `principalId`, `upn`, `groupName`, `entraGroupId` or `entraGroupName` but not multiple.
27
+
28
+ `--entraGroupId [entraGroupId]`
29
+ : ID of the Microsoft Entra group to add. Specify either `principalId`, `upn`, `groupName`, `entraGroupId` or `entraGroupName` but not multiple.
30
+
31
+ `--entraGroupName [entraGroupName]`
32
+ : Display name of the Microsoft Entra group to add. Specify either `principalId`, `upn`, `groupName`, `entraGroupId` or `entraGroupName` but not multiple.
27
33
 
28
34
  `--roleDefinitionId [roleDefinitionId]`
29
35
  : ID of role definition. Specify either `roleDefinitionId` or `roleDefinitionName` but not both.
@@ -60,6 +66,12 @@ add role assignment to a site for principal id _11_ and role definition name _Fu
60
66
  m365 spo web roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --principalId 11 --roleDefinitionName "Full Control"
61
67
  ```
62
68
 
69
+ add role assignment using a Entra Group ID and a role definition
70
+
71
+ ```sh
72
+ m365 spo web roleassignment add --webUrl "https://contoso.sharepoint.com/sites/project-x" --entraGroupId "27ae47f1-48f1-46f3-980b-d3c1470e398d" --roleDefinitionId 1073741829
73
+ ```
74
+
63
75
  ## Response
64
76
 
65
77
  The command won't return a response on success.
@@ -17,13 +17,19 @@ m365 spo web roleassignment remove [options]
17
17
  : URL of the site.
18
18
 
19
19
  `--principalId [principalId]`
20
- : SharePoint ID of principal it may be either user id or group id we want to add permissions to. Specify either `principalId`, `upn`, or `groupName` but not multiple.
20
+ : SharePoint ID of principal it may be either user id or group id we want to add permissions to. Specify either `principalId`, `upn`, `groupName`, `entraGroupId` or `entraGroupName` but not multiple.
21
21
 
22
22
  `--upn [upn]`
23
- : The upn/email of user to assign role to. Specify either `principalId`, `upn`, or `groupName` but not multiple.
23
+ : The upn/email of user to assign role to. Specify either `principalId`, `upn`, `groupName`, `entraGroupId` or `entraGroupName` but not multiple.
24
24
 
25
25
  `--groupName [groupName]`
26
- : The group name of the SharePoint group Specify either `principalId`, `upn`, or `groupName` but not multiple.
26
+ : The group name of the SharePoint group. Use this option exclusively for SharePoint Online groups. Specify either `principalId`, `upn`, `groupName`, `entraGroupId` or `entraGroupName` but not multiple.
27
+
28
+ `--entraGroupId [entraGroupId]`
29
+ : ID of the Microsoft Entra group to remove. Specify either `principalId`, `upn`, `groupName`, `entraGroupId` or `entraGroupName` but not multiple.
30
+
31
+ `--entraGroupName [entraGroupName]`
32
+ : Display name of the Microsoft Entra group to remove. Specify either `principalId`, `upn`, `groupName`, `entraGroupId` or `entraGroupName` but not multiple.
27
33
 
28
34
  `-f, --force`
29
35
  : Don't prompt for confirming removing the roleassignment.
@@ -57,6 +63,12 @@ Remove roleassignment from web based on principal Id without prompting for confi
57
63
  m365 spo web roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --principalId 2 --force
58
64
  ```
59
65
 
66
+ Remove roleassignment from web based on Entra Group Id and don't prompt for confirmation
67
+
68
+ ```sh
69
+ m365 spo web roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --entraGroupId "27ae47f1-48f1-46f3-980b-d3c1470e398d" --force
70
+ ```
71
+
60
72
  ## Response
61
73
 
62
74
  The command won't return a response on success.