@pnp/cli-microsoft365 11.4.0-beta.87732f5 → 11.4.0-beta.f54089d

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 (131) hide show
  1. package/.devproxy/api-specs/sharepoint.yaml +43 -0
  2. package/README.md +1 -1
  3. package/allCommands.json +1 -1
  4. package/allCommandsFull.json +1 -1
  5. package/dist/Auth.js +1 -1
  6. package/dist/AuthServer.js +2 -4
  7. package/dist/Command.js +2 -2
  8. package/dist/cli/cli.js +9 -9
  9. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +10 -11
  10. package/dist/m365/app/commands/app-open.js +3 -4
  11. package/dist/m365/app/commands/permission/permission-add.js +4 -5
  12. package/dist/m365/base/AppCommand.js +3 -3
  13. package/dist/m365/booking/commands/business/business-get.js +6 -8
  14. package/dist/m365/booking/commands/business/business-list.js +2 -1
  15. package/dist/m365/cli/commands/app/app-add.js +5 -7
  16. package/dist/m365/commands/docs.js +1 -1
  17. package/dist/m365/commands/login.js +22 -19
  18. package/dist/m365/commands/logout.js +1 -1
  19. package/dist/m365/commands/status.js +2 -1
  20. package/dist/m365/connection/commands/connection-list.js +2 -1
  21. package/dist/m365/connection/commands/connection-set.js +15 -29
  22. package/dist/m365/context/commands/context-remove.js +4 -6
  23. package/dist/m365/context/commands/option/option-remove.js +5 -7
  24. package/dist/m365/entra/commands/administrativeunit/administrativeunit-add.js +5 -7
  25. package/dist/m365/entra/commands/administrativeunit/administrativeunit-get.js +7 -9
  26. package/dist/m365/entra/commands/administrativeunit/administrativeunit-list.js +4 -5
  27. package/dist/m365/entra/commands/administrativeunit/administrativeunit-remove.js +8 -10
  28. package/dist/m365/entra/commands/license/license-list.js +1 -1
  29. package/dist/m365/entra/commands/m365group/m365group-remove.js +1 -1
  30. package/dist/m365/entra/commands/multitenant/multitenant-add.js +3 -4
  31. package/dist/m365/entra/commands/organization/organization-list.js +4 -6
  32. package/dist/m365/entra/commands/organization/organization-set.js +24 -26
  33. package/dist/m365/entra/commands/roleassignment/roleassignment-add.js +21 -34
  34. package/dist/m365/entra/commands/roledefinition/roledefinition-add.js +8 -10
  35. package/dist/m365/entra/commands/roledefinition/roledefinition-get.js +11 -13
  36. package/dist/m365/entra/commands/roledefinition/roledefinition-list.js +5 -7
  37. package/dist/m365/entra/commands/roledefinition/roledefinition-remove.js +11 -13
  38. package/dist/m365/entra/commands/roledefinition/roledefinition-set.js +15 -17
  39. package/dist/m365/entra/commands/rolepermission/rolepermission-list.js +5 -7
  40. package/dist/m365/entra/commands/user/user-session-revoke.js +9 -13
  41. package/dist/m365/exo/commands/approleassignment/approleassignment-add.js +29 -31
  42. package/dist/m365/flow/commands/environment/environment-get.js +5 -7
  43. package/dist/m365/flow/commands/environment/environment-list.js +2 -1
  44. package/dist/m365/flow/commands/recyclebinitem/recyclebinitem-list.js +4 -6
  45. package/dist/m365/flow/commands/recyclebinitem/recyclebinitem-restore.js +5 -11
  46. package/dist/m365/graph/commands/directoryextension/directoryextension-add.js +11 -13
  47. package/dist/m365/graph/commands/directoryextension/directoryextension-get.js +10 -19
  48. package/dist/m365/graph/commands/directoryextension/directoryextension-list.js +6 -12
  49. package/dist/m365/graph/commands/directoryextension/directoryextension-remove.js +11 -20
  50. package/dist/m365/graph/commands/openextension/openextension-add.js +12 -13
  51. package/dist/m365/graph/commands/openextension/openextension-get.js +12 -14
  52. package/dist/m365/graph/commands/openextension/openextension-list.js +11 -13
  53. package/dist/m365/graph/commands/openextension/openextension-remove.js +13 -15
  54. package/dist/m365/graph/commands/openextension/openextension-set.js +16 -17
  55. package/dist/m365/onedrive/commands/onedrive-list.js +2 -1
  56. package/dist/m365/outlook/commands/mail/mail-searchfolder-add.js +9 -14
  57. package/dist/m365/outlook/commands/mailbox/mailbox-settings-get.js +8 -12
  58. package/dist/m365/outlook/commands/mailbox/mailbox-settings-set.js +15 -15
  59. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +2 -1
  60. package/dist/m365/pa/commands/environment/environment-get.js +5 -7
  61. package/dist/m365/pa/commands/environment/environment-list.js +2 -1
  62. package/dist/m365/planner/commands/tenant/tenant-settings-list.js +1 -1
  63. package/dist/m365/pp/commands/environment/environment-get.js +5 -7
  64. package/dist/m365/pp/commands/environment/environment-list.js +3 -4
  65. package/dist/m365/pp/commands/gateway/gateway-list.js +1 -1
  66. package/dist/m365/pp/commands/tenant/tenant-settings-list.js +1 -1
  67. package/dist/m365/pp/commands/website/website-get.js +12 -12
  68. package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +2 -1
  69. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +1 -1
  70. package/dist/m365/purview/commands/retentionlabel/retentionlabel-list.js +1 -1
  71. package/dist/m365/spe/commands/container/container-add.js +10 -15
  72. package/dist/m365/spe/commands/container/container-permission-list.js +4 -6
  73. package/dist/m365/spe/commands/container/container-recyclebinitem-list.js +5 -10
  74. package/dist/m365/spe/commands/container/container-recyclebinitem-restore.js +7 -12
  75. package/dist/m365/spe/commands/container/container-remove.js +10 -16
  76. package/dist/m365/spe/commands/containertype/containertype-add.js +15 -20
  77. package/dist/m365/spe/commands/containertype/containertype-get.js +6 -13
  78. package/dist/m365/spe/commands/containertype/containertype-remove.js +7 -14
  79. package/dist/m365/spfx/commands/project/project-upgrade/rules/DependencyRule.js +56 -14
  80. package/dist/m365/spfx/commands/project/project-upgrade.js +4 -6
  81. package/dist/m365/spo/commands/file/file-add.js +49 -11
  82. package/dist/m365/spo/commands/file/file-version-keep.js +10 -14
  83. package/dist/m365/spo/commands/homesite/homesite-add.js +13 -15
  84. package/dist/m365/spo/commands/homesite/homesite-get.js +8 -9
  85. package/dist/m365/spo/commands/homesite/homesite-remove.js +9 -10
  86. package/dist/m365/spo/commands/homesite/homesite-set.js +13 -14
  87. package/dist/m365/spo/commands/list/DefaultColumnValue.js +2 -0
  88. package/dist/m365/spo/commands/list/list-defaultvalue-clear.js +13 -17
  89. package/dist/m365/spo/commands/list/list-defaultvalue-get.js +124 -0
  90. package/dist/m365/spo/commands/list/list-defaultvalue-list.js +13 -37
  91. package/dist/m365/spo/commands/list/list-defaultvalue-remove.js +12 -16
  92. package/dist/m365/spo/commands/list/list-defaultvalue-set.js +11 -15
  93. package/dist/m365/spo/commands/list/list-view-add.js +16 -20
  94. package/dist/m365/spo/commands/listitem/listitem-set.js +1 -1
  95. package/dist/m365/spo/commands/page/page-control-remove.js +11 -15
  96. package/dist/m365/spo/commands/page/page-get.js +10 -11
  97. package/dist/m365/spo/commands/page/page-header-set.js +97 -89
  98. package/dist/m365/spo/commands/page/page-publish.js +9 -10
  99. package/dist/m365/spo/commands/page/page-section-remove.js +11 -12
  100. package/dist/m365/spo/commands/page/page-set.js +26 -26
  101. package/dist/m365/spo/commands/site/site-appcatalog-list.js +4 -6
  102. package/dist/m365/spo/commands/site/site-get.js +6 -8
  103. package/dist/m365/spo/commands/site/site-sharingpermission-set.js +7 -9
  104. package/dist/m365/spo/commands/site/site-versionpolicy-get.js +11 -13
  105. package/dist/m365/spo/commands/web/web-alert-list.js +20 -27
  106. package/dist/m365/spo/commands/web/web-alert-remove.js +15 -20
  107. package/dist/m365/spo/commands.js +1 -0
  108. package/dist/m365/spp/commands/model/model-apply.js +18 -24
  109. package/dist/m365/teams/commands/callrecord/callrecord-list.js +5 -9
  110. package/dist/m365/teams/commands/chat/chat-message-list.js +26 -27
  111. package/dist/m365/teams/commands/chat/chat-message-send.js +12 -3
  112. package/dist/m365/teams/commands/chat/chatUtil.js +1 -1
  113. package/dist/m365/tenant/commands/people/people-pronouns-set.js +4 -6
  114. package/dist/m365/tenant/commands/report/report-settings-set.js +4 -6
  115. package/dist/m365/viva/commands/engage/engage-community-user-add.js +17 -22
  116. package/dist/m365/viva/commands/engage/engage-community-user-list.js +8 -14
  117. package/dist/m365/viva/commands/engage/engage-community-user-remove.js +14 -22
  118. package/dist/m365/viva/commands/engage/engage-role-member-list.js +6 -11
  119. package/dist/utils/spo.js +30 -2
  120. package/dist/utils/zod.js +41 -76
  121. package/docs/docs/cmd/entra/app/app-permission-add.mdx +19 -0
  122. package/docs/docs/cmd/entra/app/app-permission-list.mdx +19 -0
  123. package/docs/docs/cmd/entra/app/app-permission-remove.mdx +21 -0
  124. package/docs/docs/cmd/spo/file/file-add.mdx +140 -1
  125. package/docs/docs/cmd/spo/list/list-defaultvalue-get.mdx +118 -0
  126. package/docs/docs/cmd/spo/page/page-header-set.mdx +28 -8
  127. package/docs/docs/cmd/spo/page/page-set.mdx +35 -5
  128. package/docs/docs/cmd/teams/chat/chat-message-list.mdx +34 -7
  129. package/docs/docs/cmd/teams/chat/chat-message-send.mdx +23 -1
  130. package/npm-shrinkwrap.json +274 -248
  131. package/package.json +12 -11
package/dist/utils/spo.js CHANGED
@@ -11,6 +11,7 @@ import { RoleType } from '../m365/spo/commands/roledefinition/RoleType.js';
11
11
  import { entraGroup } from './entraGroup.js';
12
12
  import { SharingCapabilities } from '../m365/spo/commands/site/SharingCapabilities.js';
13
13
  import { timersUtil } from './timersUtil.js';
14
+ import { DOMParser } from '@xmldom/xmldom';
14
15
  export var CreateFileCopyJobsNameConflictBehavior;
15
16
  (function (CreateFileCopyJobsNameConflictBehavior) {
16
17
  CreateFileCopyJobsNameConflictBehavior[CreateFileCopyJobsNameConflictBehavior["Fail"] = 0] = "Fail";
@@ -1306,9 +1307,8 @@ export const spo = {
1306
1307
  if (response.indexOf("ErrorMessage") > -1) {
1307
1308
  throw `Error occurred in systemUpdate operation - ${response}`;
1308
1309
  }
1309
- const id = Number(itemId);
1310
1310
  const requestOptionsItems = {
1311
- url: `${absoluteListUrl}/items(${id})`,
1311
+ url: `${absoluteListUrl}/items(${itemId})`,
1312
1312
  headers: {
1313
1313
  'accept': 'application/json;odata=nometadata'
1314
1314
  },
@@ -1847,6 +1847,34 @@ export const spo = {
1847
1847
  roleDefinition.BasePermissionsValue = permissions.parse();
1848
1848
  roleDefinition.RoleTypeKindValue = RoleType[roleDefinition.RoleTypeKind];
1849
1849
  return roleDefinition;
1850
+ },
1851
+ /**
1852
+ * Converts SharePoint default column values XML to a structured JSON array.
1853
+ * Parses the XML content from client_LocationBasedDefaults.html file and extracts
1854
+ * default field values configured for folders in a SharePoint document library.
1855
+ *
1856
+ * @param xml The XML string containing default column value definitions
1857
+ * @returns An array of default column values with field names, values, and associated folder URLs
1858
+ */
1859
+ convertDefaultColumnXmlToJson(xml) {
1860
+ const results = [];
1861
+ const parser = new DOMParser();
1862
+ const doc = parser.parseFromString(xml, 'application/xml');
1863
+ const folderLinks = doc.getElementsByTagName('a');
1864
+ for (let i = 0; i < folderLinks.length; i++) {
1865
+ const folderUrl = folderLinks[i].getAttribute('href');
1866
+ const defaultValues = folderLinks[i].getElementsByTagName('DefaultValue');
1867
+ for (let j = 0; j < defaultValues.length; j++) {
1868
+ const fieldName = defaultValues[j].getAttribute('FieldName');
1869
+ const fieldValue = defaultValues[j].textContent;
1870
+ results.push({
1871
+ fieldName: fieldName,
1872
+ fieldValue: fieldValue,
1873
+ folderUrl: decodeURIComponent(folderUrl)
1874
+ });
1875
+ }
1876
+ }
1877
+ return results;
1850
1878
  }
1851
1879
  };
1852
1880
  //# sourceMappingURL=spo.js.map
package/dist/utils/zod.js CHANGED
@@ -1,114 +1,74 @@
1
1
  import { z } from 'zod';
2
- function parseEffect(def, _options, _currentOption) {
3
- return def.schema._def;
4
- }
5
- function parseIntersection(def, _options, _currentOption) {
6
- if (def.left._def.typeName !== z.ZodFirstPartyTypeKind.ZodAny) {
7
- return def.left._def;
8
- }
9
- if (def.right._def.typeName !== z.ZodFirstPartyTypeKind.ZodAny) {
10
- return def.right._def;
11
- }
12
- return;
13
- }
14
- function parseObject(def, options, _currentOption) {
15
- const properties = def.shape();
16
- for (const key in properties) {
17
- const property = properties[key];
2
+ z.ZodType.prototype.alias = function (name) {
3
+ this.def.alias = name;
4
+ return this;
5
+ };
6
+ function parseObject(schema, options, _currentOption) {
7
+ for (const key in schema.properties) {
8
+ const property = schema.properties[key];
18
9
  const option = {
19
10
  name: key,
20
11
  long: key,
21
- short: property._def.alias,
22
- required: true,
12
+ short: property['x-alias'],
13
+ required: schema.required?.includes(key) && property.default === undefined || false,
23
14
  type: 'string'
24
15
  };
25
- parseDef(property._def, options, option);
16
+ parseJSONSchema(property, options, option);
26
17
  options.push(option);
27
18
  }
28
19
  return;
29
20
  }
30
- function parseString(_def, _options, currentOption) {
21
+ function parseString(schema, _options, currentOption) {
31
22
  if (currentOption) {
32
23
  currentOption.type = 'string';
24
+ if (schema.enum) {
25
+ currentOption.autocomplete = schema.enum.map(e => String(e));
26
+ }
33
27
  }
34
28
  return;
35
29
  }
36
- function parseNumber(_def, _options, currentOption) {
30
+ function parseNumber(schema, _options, currentOption) {
37
31
  if (currentOption) {
38
32
  currentOption.type = 'number';
39
33
  }
40
34
  return;
41
35
  }
42
- function parseBoolean(_def, _options, currentOption) {
36
+ function parseBoolean(schema, _options, currentOption) {
43
37
  if (currentOption) {
44
38
  currentOption.type = 'boolean';
45
39
  }
46
40
  return;
47
41
  }
48
- function parseOptional(def, _options, currentOption) {
49
- if (currentOption) {
50
- currentOption.required = false;
51
- }
52
- return def.innerType._def;
53
- }
54
- function parseDefault(def, _options, currentOption) {
55
- if (currentOption) {
56
- currentOption.required = false;
57
- }
58
- return def.innerType._def;
59
- }
60
- function parseEnum(def, _options, currentOption) {
61
- if (currentOption) {
62
- currentOption.type = 'string';
63
- currentOption.autocomplete = [...def.values];
64
- }
65
- return;
66
- }
67
- function parseNativeEnum(def, _options, currentOption) {
68
- if (currentOption) {
69
- currentOption.type = 'string';
70
- currentOption.autocomplete = Object.values(def.values).map(v => String(v));
71
- }
72
- return;
73
- }
74
42
  function getParseFn(typeName) {
75
43
  switch (typeName) {
76
- case z.ZodFirstPartyTypeKind.ZodEffects:
77
- return parseEffect;
78
- case z.ZodFirstPartyTypeKind.ZodObject:
44
+ case 'object':
79
45
  return parseObject;
80
- case z.ZodFirstPartyTypeKind.ZodOptional:
81
- return parseOptional;
82
- case z.ZodFirstPartyTypeKind.ZodString:
46
+ case 'string':
83
47
  return parseString;
84
- case z.ZodFirstPartyTypeKind.ZodNumber:
48
+ case 'number':
49
+ case 'integer':
85
50
  return parseNumber;
86
- case z.ZodFirstPartyTypeKind.ZodBoolean:
51
+ case 'boolean':
87
52
  return parseBoolean;
88
- case z.ZodFirstPartyTypeKind.ZodEnum:
89
- return parseEnum;
90
- case z.ZodFirstPartyTypeKind.ZodNativeEnum:
91
- return parseNativeEnum;
92
- case z.ZodFirstPartyTypeKind.ZodDefault:
93
- return parseDefault;
94
- case z.ZodFirstPartyTypeKind.ZodIntersection:
95
- return parseIntersection;
96
53
  default:
97
54
  return;
98
55
  }
99
56
  }
100
- function parseDef(def, options, currentOption) {
101
- let parsedDef = def;
57
+ function parseJSONSchema(jsonSchema, options, currentOption) {
58
+ let parsedSchema = jsonSchema;
102
59
  do {
103
- const parse = getParseFn(parsedDef.typeName);
60
+ if (parsedSchema.allOf) {
61
+ parsedSchema.allOf.forEach(s => parseJSONSchema(s, options, currentOption));
62
+ }
63
+ const parse = getParseFn(parsedSchema.type);
104
64
  if (!parse) {
105
65
  break;
106
66
  }
107
- parsedDef = parse(parsedDef, options, currentOption);
108
- if (!parsedDef) {
67
+ parsedSchema = parse(parsedSchema, options, currentOption);
68
+ if (!parsedSchema) {
109
69
  break;
110
70
  }
111
- } while (parsedDef);
71
+ } while (parsedSchema);
112
72
  }
113
73
  function optionToString(optionInfo) {
114
74
  let s = '';
@@ -126,13 +86,18 @@ function optionToString(optionInfo) {
126
86
  }
127
87
  ;
128
88
  export const zod = {
129
- alias(alias, type) {
130
- type._def.alias = alias;
131
- return type;
132
- },
133
89
  schemaToOptionInfo(schema) {
90
+ const jsonSchema = z.toJSONSchema(schema, {
91
+ override: s => {
92
+ const alias = s.zodSchema.def.alias;
93
+ if (alias) {
94
+ s.jsonSchema['x-alias'] = alias;
95
+ }
96
+ },
97
+ unrepresentable: 'any'
98
+ });
134
99
  const options = [];
135
- parseDef(schema._def, options);
100
+ parseJSONSchema(jsonSchema, options);
136
101
  return options;
137
102
  },
138
103
  schemaToOptions(schema) {
@@ -153,6 +118,6 @@ export const zod = {
153
118
  }
154
119
  }
155
120
  return null;
156
- }, z.nativeEnum(e))
121
+ }, z.enum(e))
157
122
  };
158
123
  //# sourceMappingURL=zod.js.map
@@ -46,6 +46,25 @@ m365 entra appregistration permission add [options]
46
46
 
47
47
  Scopes/Roles to grant must be fully-qualified so that we can disambiguate them between the different resources.
48
48
 
49
+ ## Permissions
50
+
51
+ <Tabs>
52
+ <TabItem value="Delegated">
53
+
54
+ | Resource | Permissions |
55
+ |------------------|---------------------------|
56
+ | Microsoft Graph | Application.ReadWrite.All |
57
+
58
+ </TabItem>
59
+ <TabItem value="Application">
60
+
61
+ | Resource | Permissions |
62
+ |------------------|---------------------------|
63
+ | Microsoft Graph | Application.ReadWrite.All |
64
+
65
+ </TabItem>
66
+ </Tabs>
67
+
49
68
  ## Examples
50
69
 
51
70
  Grant multiple delegated API permissions to a Microsoft Entra app specified by client id.
@@ -34,6 +34,25 @@ m365 entra app permission list [options]
34
34
 
35
35
  For best performance use the `objectId` option to reference the Entra application registration to get. If you use `appId`, this command will first need to find the corresponding object ID for that application.
36
36
 
37
+ ## Permissions
38
+
39
+ <Tabs>
40
+ <TabItem value="Delegated">
41
+
42
+ | Resource | Permissions |
43
+ |------------------|----------------------|
44
+ | Microsoft Graph | Application.Read.All |
45
+
46
+ </TabItem>
47
+ <TabItem value="Application">
48
+
49
+ | Resource | Permissions |
50
+ |------------------|----------------------|
51
+ | Microsoft Graph | Application.Read.All |
52
+
53
+ </TabItem>
54
+ </Tabs>
55
+
37
56
  ## Examples
38
57
 
39
58
  Retrieves all permissions for an Entra application registration specified by client id.
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # entra app permission remove
4
6
 
@@ -41,6 +43,25 @@ m365 entra app permission remove [options]
41
43
 
42
44
  Removing permissions on App Registrations does not immediately remove consent given by an administrator. Explicitly instruct the CLI to revoke consent by using the `--revokeAdminConsent` flag.
43
45
 
46
+ ## Permissions
47
+
48
+ <Tabs>
49
+ <TabItem value="Delegated">
50
+
51
+ | Resource | Permissions |
52
+ |------------------|---------------------------|
53
+ | Microsoft Graph | Application.ReadWrite.All |
54
+
55
+ </TabItem>
56
+ <TabItem value="Application">
57
+
58
+ | Resource | Permissions |
59
+ |------------------|---------------------------|
60
+ | Microsoft Graph | Application.ReadWrite.All |
61
+
62
+ </TabItem>
63
+ </Tabs>
64
+
44
65
  ## Examples
45
66
 
46
67
  Remove multiple delegated API permissions from an Entra app registration
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # spo file add
4
6
 
@@ -28,6 +30,12 @@ m365 spo file add [options]
28
30
  `--checkOut [checkOut]`
29
31
  : If versioning is enabled, this will check out the file first if it exists, upload the file, then check it in again.
30
32
 
33
+ `--overwrite [overwrite]`
34
+ : Overwrite the file if it already exists in the target folder. Possible values: `true`, `false`. Default is `true`.
35
+
36
+ `--fileName [fileName]`
37
+ : The name of the file in SharePoint after upload. If not specified, the name of the uploaded file will be used.
38
+
31
39
  `--checkInComment [checkInComment]`
32
40
  : Comment to set when checking the file in.
33
41
 
@@ -50,6 +58,25 @@ m365 spo file add [options]
50
58
 
51
59
  This command allows using unknown properties. Each property corresponds to the list item field that should be set when uploading the file.
52
60
 
61
+ ## Permissions
62
+
63
+ <Tabs>
64
+ <TabItem value="Delegated">
65
+
66
+ | Resource | Permissions |
67
+ |------------|----------------|
68
+ | SharePoint | AllSites.Write |
69
+
70
+ </TabItem>
71
+ <TabItem value="Application">
72
+
73
+ | Resource | Permissions |
74
+ |------------|---------------------|
75
+ | SharePoint | Sites.ReadWrite.All |
76
+
77
+ </TabItem>
78
+ </Tabs>
79
+
53
80
  ## Examples
54
81
 
55
82
  Adds the specified file to the specified site in the specified folder.
@@ -70,6 +97,12 @@ Adds the specified file to the specified site in the specified folder specifying
70
97
  m365 spo file add --webUrl https://contoso.sharepoint.com/sites/project-x --folder '/sites/project-x/Shared Documents' --path 'C:\MS365.jpg'
71
98
  ```
72
99
 
100
+ Uploads a file to SharePoint with a different name.
101
+
102
+ ```sh
103
+ m365 spo file add --webUrl https://contoso.sharepoint.com/sites/project-x --folder 'Shared Documents' --path 'C:\MS365.jpg' --fileName 'MS365-New.jpg'
104
+ ```
105
+
73
106
  Adds the specified file to the specified site in the specified folder with specified content type.
74
107
 
75
108
  ```sh
@@ -156,7 +189,113 @@ m365 spo file add --webUrl https://contoso.sharepoint.com/sites/project-x --fold
156
189
 
157
190
  ## Response
158
191
 
159
- The command won't return a response on success.
192
+ <Tabs>
193
+ <TabItem value="JSON">
194
+
195
+ ```json
196
+ {
197
+ "CheckInComment": "",
198
+ "CheckOutType": 2,
199
+ "ContentTag": "{56B8E3C8-8E8A-4600-B9E1-A63D27391799},2,5",
200
+ "CustomizedPageStatus": 0,
201
+ "ETag": "\"{56B8E3C8-8E8A-4600-B9E1-A63D27391799},2\"",
202
+ "Exists": true,
203
+ "ExistsAllowThrowForPolicyFailures": true,
204
+ "ExistsWithException": true,
205
+ "IrmEnabled": false,
206
+ "Length": "19555",
207
+ "Level": 1,
208
+ "LinkingUri": "https://contoso.sharepoint.com/sites/Finance/YearlyReports/Yearly%20report.xlsx?d=w56b8e3c88e8a4600b9e1a63d27391799",
209
+ "LinkingUrl": "https://contoso.sharepoint.com/sites/Finance/YearlyReports/Yearly report.xlsx?d=w56b8e3c88e8a4600b9e1a63d27391799",
210
+ "MajorVersion": 1,
211
+ "MinorVersion": 0,
212
+ "Name": "Yearly report.xlsx",
213
+ "ServerRelativeUrl": "/sites/Finance/YearlyReports/Yearly report.xlsx",
214
+ "TimeCreated": "2026-01-07T10:50:38Z",
215
+ "TimeLastModified": "2026-01-07T10:50:38Z",
216
+ "Title": "",
217
+ "UIVersion": 512,
218
+ "UIVersionLabel": "1.0",
219
+ "UniqueId": "56b8e3c8-8e8a-4600-b9e1-a63d27391799"
220
+ }
221
+ ```
222
+
223
+ </TabItem>
224
+ <TabItem value="Text">
225
+
226
+ ```text
227
+ CheckInComment :
228
+ CheckOutType : 2
229
+ ContentTag : {56B8E3C8-8E8A-4600-B9E1-A63D27391799},2,5
230
+ CustomizedPageStatus : 0
231
+ ETag : "{56B8E3C8-8E8A-4600-B9E1-A63D27391799},2"
232
+ Exists : true
233
+ ExistsAllowThrowForPolicyFailures: true
234
+ ExistsWithException : true
235
+ IrmEnabled : false
236
+ Length : 19555
237
+ Level : 1
238
+ LinkingUri : https://contoso.sharepoint.com/sites/Finance/YearlyReports/Yearly%20report.xlsx?d=w56b8e3c88e8a4600b9e1a63d27391799
239
+ LinkingUrl : https://contoso.sharepoint.com/sites/Finance/YearlyReports/Yearly report.xlsx?d=w56b8e3c88e8a4600b9e1a63d27391799
240
+ MajorVersion : 2
241
+ MinorVersion : 0
242
+ Name : Yearly report.xlsx
243
+ ServerRelativeUrl : /sites/Finance/YearlyReports/Yearly report.xlsx
244
+ TimeCreated : 2026-01-07T10:50:38Z
245
+ TimeLastModified : 2026-01-07T10:50:38Z
246
+ Title :
247
+ UIVersion : 512
248
+ UIVersionLabel : 1.0
249
+ UniqueId : 56b8e3c8-8e8a-4600-b9e1-a63d27391799
250
+ ```
251
+
252
+ </TabItem>
253
+ <TabItem value="CSV">
254
+
255
+ ```csv
256
+ CheckInComment,CheckOutType,ContentTag,CustomizedPageStatus,ETag,Exists,ExistsAllowThrowForPolicyFailures,ExistsWithException,IrmEnabled,Length,Level,LinkingUri,LinkingUrl,MajorVersion,MinorVersion,Name,ServerRelativeUrl,TimeCreated,TimeLastModified,Title,UIVersion,UIVersionLabel,UniqueId
257
+ ,2,"{56B8E3C8-8E8A-4600-B9E1-A63D27391799},2,5",0,"""{56B8E3C8-8E8A-4600-B9E1-A63D27391799},2""",1,1,1,0,19555,1,https://contoso.sharepoint.com/sites/Finance/YearlyReports/Yearly%20report.xlsx?d=w56b8e3c88e8a4600b9e1a63d27391799,https://contoso.sharepoint.com/sites/Finance/YearlyReports/Yearly report.xlsx?d=w56b8e3c88e8a4600b9e1a63d27391799,3,0,Yearly report.xlsx,/sites/Finance/YearlyReports/Yearly report.xlsx,2026-01-07T10:50:38Z,2026-01-07T10:50:38Z,,512,1.0,56b8e3c8-8e8a-4600-b9e1-a63d27391799
258
+ ```
259
+
260
+ </TabItem>
261
+ <TabItem value="Markdown">
262
+
263
+ ```md
264
+ # spo file add --webUrl "https://contoso.sharepoint.com/sites/Finance" --folder "/YearlyReports" --path "C:\Yearly report.xlsx"
265
+
266
+ Date: 07/01/2026
267
+
268
+ ## 56b8e3c8-8e8a-4600-b9e1-a63d27391799
269
+
270
+ Property | Value
271
+ ---------|-------
272
+ CheckInComment |
273
+ CheckOutType | 2
274
+ ContentTag | {56B8E3C8-8E8A-4600-B9E1-A63D27391799},2,5
275
+ CustomizedPageStatus | 0
276
+ ETag | "{56B8E3C8-8E8A-4600-B9E1-A63D27391799},2"
277
+ Exists | true
278
+ ExistsAllowThrowForPolicyFailures | true
279
+ ExistsWithException | true
280
+ IrmEnabled | false
281
+ Length | 19555
282
+ Level | 1
283
+ LinkingUri | https://contoso.sharepoint.com/sites/Finance/YearlyReports/Yearly%20report.xlsx?d=w56b8e3c88e8a4600b9e1a63d27391799
284
+ LinkingUrl | https://contoso.sharepoint.com/sites/Finance/YearlyReports/Yearly report.xlsx?d=w56b8e3c88e8a4600b9e1a63d27391799
285
+ MajorVersion | 4
286
+ MinorVersion | 0
287
+ Name | Yearly report.xlsx
288
+ ServerRelativeUrl | /sites/Finance/YearlyReports/Yearly report.xlsx
289
+ TimeCreated | 2026-01-07T10:50:38Z
290
+ TimeLastModified | 2026-01-07T10:50:38Z
291
+ Title |
292
+ UIVersion | 512
293
+ UIVersionLabel | 1.0
294
+ UniqueId | 56b8e3c8-8e8a-4600-b9e1-a63d27391799
295
+ ```
296
+
297
+ </TabItem>
298
+ </Tabs>
160
299
 
161
300
  ## More information
162
301
 
@@ -0,0 +1,118 @@
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 get
6
+
7
+ Gets a specific default column value from a specific document library
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 spo list defaultvalue get [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
+ `--fieldName <fieldName>`
31
+ : Internal name of the field.
32
+
33
+ `--folderUrl [folderUrl]`
34
+ : Get a specific field of a specific folder by specifying a server- or site-relative URL.
35
+ ```
36
+
37
+ <Global />
38
+
39
+ ## Permissions
40
+
41
+ <Tabs>
42
+ <TabItem value="Delegated">
43
+
44
+ | Resource | Permissions |
45
+ |------------|---------------|
46
+ | SharePoint | AllSites.Read |
47
+
48
+ </TabItem>
49
+ <TabItem value="Application">
50
+
51
+ | Resource | Permissions |
52
+ |------------|----------------|
53
+ | SharePoint | Sites.Read.All |
54
+
55
+ </TabItem>
56
+ </Tabs>
57
+
58
+ ## Examples
59
+
60
+ Get default column value from the root folder of the list
61
+
62
+ ```sh
63
+ m365 spo list defaultvalue get --webUrl https://contoso.sharepoint.com/sites/Marketing --listTitle Logos --fieldName Company
64
+ ```
65
+
66
+ Get default column value from a specific folder of the list
67
+
68
+ ```sh
69
+ m365 spo list defaultvalue get --webUrl https://contoso.sharepoint.com/sites/Marketing --listTitle Logos --fieldName Company --folderUrl "/sites/Marketing/Logos/Contoso"
70
+ ```
71
+
72
+ ## Response
73
+
74
+ <Tabs>
75
+ <TabItem value="JSON">
76
+
77
+ ```json
78
+ {
79
+ "fieldName": "Company",
80
+ "fieldValue": "Contoso",
81
+ "folderUrl": "sites/Marketing/Logos"
82
+ }
83
+ ```
84
+
85
+ </TabItem>
86
+ <TabItem value="Text">
87
+
88
+ ```text
89
+ fieldName : Company
90
+ fieldValue: Contoso
91
+ folderUrl : sites/Marketing/Logos
92
+ ```
93
+
94
+ </TabItem>
95
+ <TabItem value="CSV">
96
+
97
+ ```csv
98
+ fieldName,fieldValue,folderUrl
99
+ Company,Contoso,sites/Marketing/Logos
100
+ ```
101
+
102
+ </TabItem>
103
+ <TabItem value="Markdown">
104
+
105
+ ```md
106
+ # spo list defaultvalue get --webUrl "https://contoso.sharepoint.com/sites/Marketing" --listTitle "Logos" --fieldName "Company"
107
+
108
+ Date: 2/20/2023
109
+
110
+ Property | Value
111
+ ---------|-------
112
+ fieldName | Company
113
+ fieldValue | Contoso
114
+ folderUrl | sites/Marketing/Logos
115
+ ```
116
+
117
+ </TabItem>
118
+ </Tabs>
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # spo page header set
4
6
 
@@ -40,11 +42,14 @@ m365 spo page header set [options]
40
42
  `--textAlignment [textAlignment]`
41
43
  : How to align text in the header. Allowed values `Center`, `Left`. Default `Left`.
42
44
 
43
- `--showTopicHeader`
44
- : Set, to show the topic header.
45
+ `--showTopicHeader [showTopicHeader]`
46
+ : Show the topic header. Valid values: `true`, `false`. Defaults to `false`.
45
47
 
46
- `--showPublishDate`
47
- : Set, to show the publishing date.
48
+ `--showPublishDate [showPublishDate]`
49
+ : Show the publishing date. Valid values: `true`, `false`. Defaults to `false`.
50
+
51
+ `--showTimeToRead [showTimeToRead]`
52
+ : Show the estimated time to read the page. Valid values: `true`, `false`. Defaults to `false`.
48
53
 
49
54
  `--topicHeader [topicHeader]`
50
55
  : Text to show in the topic header, when `showTopicHeader` is set.
@@ -55,9 +60,24 @@ m365 spo page header set [options]
55
60
 
56
61
  <Global />
57
62
 
58
- ## Remarks
63
+ ## Permissions
64
+
65
+ <Tabs>
66
+ <TabItem value="Delegated">
67
+
68
+ | Resource | Permissions |
69
+ |------------|----------------|
70
+ | SharePoint | AllSites.Write |
71
+
72
+ </TabItem>
73
+ <TabItem value="Application">
74
+
75
+ | Resource | Permissions |
76
+ |------------|---------------------|
77
+ | SharePoint | Sites.ReadWrite.All |
59
78
 
60
- If the specified `name` doesn't refer to an existing modern page, you will get a `File doesn't exists` error.
79
+ </TabItem>
80
+ </Tabs>
61
81
 
62
82
  ## Examples
63
83
 
@@ -79,10 +99,10 @@ Use the specified image focused on the given coordinates in the page header
79
99
  m365 spo page header set --webUrl https://contoso.sharepoint.com/sites/team-a --pageName home.aspx --type Custom --imageUrl /sites/team-a/SiteAssets/hero.jpg --altText 'Sunset over the ocean' --translateX 42.3837520042758 --translateY 56.4285714285714
80
100
  ```
81
101
 
82
- Center the page title in the header and show the publishing date
102
+ Center the page title in the header and show the publishing date and time to read
83
103
 
84
104
  ```sh
85
- m365 spo page header set --webUrl https://contoso.sharepoint.com/sites/team-a --pageName home.aspx --textAlignment Center --showPublishDate
105
+ m365 spo page header set --webUrl https://contoso.sharepoint.com/sites/team-a --pageName home.aspx --textAlignment Center --showPublishDate true --showTimeToRead true
86
106
  ```
87
107
 
88
108
  ## Response