@pnp/cli-microsoft365 12.0.0-beta.8dff3ac → 12.0.0-beta.93e11fb

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 (267) hide show
  1. package/.devproxy/generate-openapi-spec.json +1 -1
  2. package/allCommands.json +1 -1
  3. package/allCommandsFull.json +1 -1
  4. package/dist/Auth.js +19 -2
  5. package/dist/cli/cli.js +3 -0
  6. package/dist/googleAnalytics.js +96 -0
  7. package/dist/m365/cli/commands/cli-consent.js +9 -2
  8. package/dist/m365/entra/commands/m365group/m365group-add.js +52 -97
  9. package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +20 -33
  10. package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +20 -39
  11. package/dist/m365/entra/commands/m365group/m365group-get.js +20 -41
  12. package/dist/m365/entra/commands/m365group/m365group-list.js +11 -31
  13. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-clear.js +8 -22
  14. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-list.js +9 -25
  15. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-remove.js +21 -43
  16. package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-restore.js +21 -41
  17. package/dist/m365/entra/commands/m365group/m365group-remove.js +25 -46
  18. package/dist/m365/entra/commands/m365group/m365group-renew.js +19 -32
  19. package/dist/m365/entra/commands/m365group/m365group-set.js +86 -141
  20. package/dist/m365/entra/commands/m365group/m365group-teamify.js +20 -43
  21. package/dist/m365/entra/commands/m365group/m365group-user-add.js +44 -77
  22. package/dist/m365/entra/commands/m365group/m365group-user-list.js +28 -55
  23. package/dist/m365/entra/commands/m365group/m365group-user-remove.js +37 -74
  24. package/dist/m365/entra/commands/m365group/m365group-user-set.js +45 -77
  25. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +14 -16
  26. package/dist/m365/spe/commands/container/container-permission-remove.js +94 -0
  27. package/dist/m365/spe/commands.js +1 -0
  28. package/dist/m365/spfx/commands/SpfxCompatibilityMatrix.js +15 -0
  29. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.24.0.js +19 -0
  30. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  31. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012021_TSC_excludeDirectories.js +43 -0
  32. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027002_OVERRIDES_qs.js +33 -0
  33. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027003_OVERRIDES_uuid.js +33 -0
  34. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.24.0.js +77 -0
  35. package/dist/m365/spfx/commands/project/project-upgrade.js +2 -1
  36. package/dist/m365/spo/commands/app/app-add.js +35 -56
  37. package/dist/m365/spo/commands/app/app-deploy.js +41 -59
  38. package/dist/m365/spo/commands/app/app-get.js +40 -56
  39. package/dist/m365/spo/commands/app/app-install.js +20 -41
  40. package/dist/m365/spo/commands/app/app-instance-list.js +12 -24
  41. package/dist/m365/spo/commands/app/app-list.js +26 -44
  42. package/dist/m365/spo/commands/app/app-remove.js +32 -52
  43. package/dist/m365/spo/commands/app/app-retract.js +32 -51
  44. package/dist/m365/spo/commands/app/app-teamspackage-download.js +35 -54
  45. package/dist/m365/spo/commands/app/app-uninstall.js +21 -44
  46. package/dist/m365/spo/commands/app/app-upgrade.js +20 -41
  47. package/dist/m365/spo/commands/commandset/commandset-add.js +17 -59
  48. package/dist/m365/spo/commands/commandset/commandset-get.js +24 -62
  49. package/dist/m365/spo/commands/commandset/commandset-list.js +11 -34
  50. package/dist/m365/spo/commands/commandset/commandset-remove.js +21 -54
  51. package/dist/m365/spo/commands/commandset/commandset-set.js +30 -83
  52. package/dist/m365/spo/commands/externaluser/externaluser-list.js +5 -14
  53. package/dist/m365/spo/commands/feature/feature-disable.js +20 -50
  54. package/dist/m365/spo/commands/feature/feature-enable.js +22 -50
  55. package/dist/m365/spo/commands/feature/feature-list.js +11 -36
  56. package/dist/m365/spo/commands/field/field-add.js +33 -62
  57. package/dist/m365/spo/commands/field/field-get.js +30 -57
  58. package/dist/m365/spo/commands/field/field-list.js +21 -46
  59. package/dist/m365/spo/commands/field/field-remove.js +32 -63
  60. package/dist/m365/spo/commands/field/field-set.js +34 -66
  61. package/dist/m365/spo/commands/file/file-get.js +4 -3
  62. package/dist/m365/spo/commands/folder/folder-unarchive.js +90 -0
  63. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +38 -63
  64. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +11 -27
  65. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +25 -47
  66. package/dist/m365/spo/commands/hubsite/hubsite-get.js +25 -37
  67. package/dist/m365/spo/commands/hubsite/hubsite-list.js +12 -24
  68. package/dist/m365/spo/commands/hubsite/hubsite-register.js +10 -18
  69. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +14 -32
  70. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +12 -29
  71. package/dist/m365/spo/commands/hubsite/hubsite-set.js +19 -46
  72. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +11 -27
  73. package/dist/m365/spo/commands/listitem/listitem-add.js +27 -55
  74. package/dist/m365/spo/commands/listitem/listitem-attachment-add.js +30 -58
  75. package/dist/m365/spo/commands/listitem/listitem-attachment-get.js +27 -52
  76. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +26 -50
  77. package/dist/m365/spo/commands/listitem/listitem-attachment-remove.js +28 -55
  78. package/dist/m365/spo/commands/listitem/listitem-attachment-set.js +30 -57
  79. package/dist/m365/spo/commands/listitem/listitem-batch-add.js +36 -58
  80. package/dist/m365/spo/commands/listitem/listitem-batch-remove.js +68 -92
  81. package/dist/m365/spo/commands/listitem/listitem-batch-set.js +37 -57
  82. package/dist/m365/spo/commands/listitem/listitem-get.js +45 -79
  83. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +31 -55
  84. package/dist/m365/spo/commands/listitem/listitem-list.js +47 -81
  85. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +37 -60
  86. package/dist/m365/spo/commands/listitem/listitem-record-lock.js +30 -52
  87. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +31 -52
  88. package/dist/m365/spo/commands/listitem/listitem-record-unlock.js +30 -52
  89. package/dist/m365/spo/commands/listitem/listitem-remove.js +33 -61
  90. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-ensure.js +46 -67
  91. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-remove.js +33 -56
  92. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +55 -98
  93. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +48 -74
  94. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +33 -56
  95. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +31 -53
  96. package/dist/m365/spo/commands/listitem/listitem-set.js +33 -58
  97. package/dist/m365/spo/commands/navigation/navigation-node-add.js +74 -120
  98. package/dist/m365/spo/commands/navigation/navigation-node-get.js +4 -13
  99. package/dist/m365/spo/commands/navigation/navigation-node-list.js +6 -4
  100. package/dist/m365/spo/commands/navigation/navigation-node-set.js +53 -114
  101. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +1 -1
  102. package/dist/m365/spo/commands/page/page-column-list.js +7 -8
  103. package/dist/m365/spo/commands/page/page-section-list.js +15 -17
  104. package/dist/m365/spo/commands/page/page-unpublish.js +53 -0
  105. package/dist/m365/spo/commands/sitescript/sitescript-add.js +22 -37
  106. package/dist/m365/spo/commands/sitescript/sitescript-get.js +9 -26
  107. package/dist/m365/spo/commands/sitescript/sitescript-list.js +5 -0
  108. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +9 -33
  109. package/dist/m365/spo/commands/sitescript/sitescript-set.js +29 -56
  110. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +8 -1
  111. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -1
  112. package/dist/m365/spo/commands/term/term-group-list.js +7 -8
  113. package/dist/m365/spo/commands/term/term-set-list.js +6 -9
  114. package/dist/m365/spo/commands/web/web-rule-get.js +47 -0
  115. package/dist/m365/spo/commands.js +4 -1
  116. package/dist/m365/spp/commands/contentcenter/contentcenter-list.js +5 -0
  117. package/dist/m365/spp/commands/model/model-get.js +25 -45
  118. package/dist/m365/spp/commands/model/model-list.js +12 -23
  119. package/dist/m365/spp/commands/model/model-remove.js +25 -45
  120. package/dist/m365/teams/commands/channel/channel-add.js +46 -57
  121. package/dist/m365/teams/commands/channel/channel-get.js +41 -48
  122. package/dist/m365/teams/commands/channel/channel-list.js +28 -42
  123. package/dist/m365/teams/commands/channel/channel-member-add.js +53 -54
  124. package/dist/m365/teams/commands/channel/channel-member-list.js +47 -55
  125. package/dist/m365/teams/commands/channel/channel-member-remove.js +62 -62
  126. package/dist/m365/teams/commands/channel/channel-member-set.js +61 -65
  127. package/dist/m365/teams/commands/channel/channel-remove.js +47 -49
  128. package/dist/m365/teams/commands/channel/channel-set.js +47 -54
  129. package/dist/m365/teams/commands/chat/chat-get.js +30 -45
  130. package/dist/m365/teams/commands/chat/chat-list.js +22 -42
  131. package/dist/m365/teams/commands/chat/chat-member-add.js +43 -64
  132. package/dist/m365/teams/commands/chat/chat-member-list.js +10 -23
  133. package/dist/m365/teams/commands/chat/chat-member-remove.js +28 -50
  134. package/dist/m365/teams/commands/chat/chat-message-send.js +32 -55
  135. package/dist/m365/teams/commands/meeting/meeting-add.js +57 -68
  136. package/dist/m365/teams/commands/meeting/meeting-attendancereport-get.js +33 -58
  137. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +14 -38
  138. package/dist/m365/teams/commands/meeting/meeting-get.js +14 -38
  139. package/dist/m365/teams/commands/meeting/meeting-list.js +34 -59
  140. package/dist/m365/teams/commands/meeting/meeting-transcript-get.js +34 -58
  141. package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +29 -50
  142. package/dist/m365/teams/commands/message/message-get.js +19 -30
  143. package/dist/m365/teams/commands/message/message-list.js +26 -43
  144. package/dist/m365/teams/commands/message/message-remove.js +43 -58
  145. package/dist/m365/teams/commands/message/message-reply-list.js +19 -30
  146. package/dist/m365/teams/commands/message/message-restore.js +40 -50
  147. package/dist/m365/teams/commands/message/message-send.js +19 -30
  148. package/dist/m365/teams/commands/report/report-deviceusagedistributionusercounts.js +10 -0
  149. package/dist/m365/teams/commands/report/report-deviceusageusercounts.js +10 -0
  150. package/dist/m365/teams/commands/report/report-deviceusageuserdetail.js +22 -0
  151. package/dist/m365/teams/commands/report/report-directroutingcalls.js +19 -39
  152. package/dist/m365/teams/commands/report/report-pstncalls.js +19 -39
  153. package/dist/m365/teams/commands/report/report-useractivitycounts.js +10 -0
  154. package/dist/m365/teams/commands/report/report-useractivityusercounts.js +10 -0
  155. package/dist/m365/teams/commands/report/report-useractivityuserdetail.js +22 -0
  156. package/dist/m365/teams/commands/tab/tab-add.js +23 -49
  157. package/dist/m365/teams/commands/tab/tab-get.js +55 -56
  158. package/dist/m365/teams/commands/tab/tab-list.js +17 -28
  159. package/dist/m365/teams/commands/tab/tab-remove.js +23 -42
  160. package/dist/m365/teams/commands/team/team-add.js +76 -114
  161. package/dist/m365/teams/commands/team/team-app-list.js +23 -36
  162. package/dist/m365/teams/commands/team/team-archive.js +24 -39
  163. package/dist/m365/teams/commands/team/team-clone.js +28 -62
  164. package/dist/m365/teams/commands/team/team-get.js +23 -36
  165. package/dist/m365/teams/commands/team/team-list.js +43 -57
  166. package/dist/m365/teams/commands/team/team-remove.js +24 -37
  167. package/dist/m365/teams/commands/team/team-set.js +23 -52
  168. package/dist/m365/teams/commands/team/team-unarchive.js +23 -28
  169. package/dist/m365/teams/commands/user/user-app-add.js +40 -49
  170. package/dist/m365/teams/commands/user/user-app-list.js +26 -39
  171. package/dist/m365/teams/commands/user/user-app-remove.js +37 -49
  172. package/dist/m365/teams/commands/user/user-app-upgrade.js +36 -52
  173. package/dist/m365/teams/commands/user/user-list.js +17 -39
  174. package/dist/m365/tenant/commands/report/report-activeusercounts.js +2 -1
  175. package/dist/m365/tenant/commands/report/report-activeuserdetail.js +2 -1
  176. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +9 -0
  177. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +9 -0
  178. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +9 -0
  179. package/dist/m365/tenant/commands/report/report-servicesusercounts.js +2 -1
  180. package/dist/m365/tenant/commands/report/report-settings-get.js +5 -0
  181. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +9 -20
  182. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +8 -20
  183. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +8 -15
  184. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +8 -15
  185. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +12 -26
  186. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +8 -22
  187. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +10 -28
  188. package/dist/telemetry.js +7 -11
  189. package/dist/utils/formatting.js +16 -0
  190. package/dist/utils/pid.js +7 -16
  191. package/dist/utils/spo.js +40 -3
  192. package/dist/utils/urlUtil.js +2 -2
  193. package/dist/utils/zod.js +4 -4
  194. package/docs/docs/cmd/login.mdx +15 -2
  195. package/docs/docs/cmd/spe/container/container-permission-remove.mdx +78 -0
  196. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  197. package/docs/docs/cmd/spo/externaluser/externaluser-list.mdx +17 -30
  198. package/docs/docs/cmd/spo/file/file-archive.mdx +1 -1
  199. package/docs/docs/cmd/spo/file/file-checkin.mdx +2 -2
  200. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -1
  201. package/docs/docs/cmd/spo/file/file-checkout.mdx +2 -2
  202. package/docs/docs/cmd/spo/file/file-copy.mdx +2 -2
  203. package/docs/docs/cmd/spo/file/file-get.mdx +6 -6
  204. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
  205. package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +1 -1
  206. package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
  207. package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
  208. package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +3 -3
  209. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +2 -2
  210. package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +2 -2
  211. package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +22 -1
  212. package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +24 -1
  213. package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +22 -1
  214. package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +22 -1
  215. package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +24 -1
  216. package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +22 -1
  217. package/docs/docs/cmd/spo/file/file-unarchive.mdx +1 -1
  218. package/docs/docs/cmd/spo/file/file-version-clear.mdx +1 -1
  219. package/docs/docs/cmd/spo/file/file-version-get.mdx +1 -1
  220. package/docs/docs/cmd/spo/file/file-version-keep.mdx +1 -1
  221. package/docs/docs/cmd/spo/file/file-version-list.mdx +1 -1
  222. package/docs/docs/cmd/spo/file/file-version-remove.mdx +1 -1
  223. package/docs/docs/cmd/spo/file/file-version-restore.mdx +1 -1
  224. package/docs/docs/cmd/spo/folder/folder-archive.mdx +1 -1
  225. package/docs/docs/cmd/spo/folder/folder-copy.mdx +1 -1
  226. package/docs/docs/cmd/spo/folder/folder-get.mdx +2 -2
  227. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
  228. package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
  229. package/docs/docs/cmd/spo/folder/folder-sharinglink-add.mdx +22 -1
  230. package/docs/docs/cmd/spo/folder/folder-sharinglink-clear.mdx +23 -0
  231. package/docs/docs/cmd/spo/folder/folder-sharinglink-get.mdx +21 -0
  232. package/docs/docs/cmd/spo/folder/folder-sharinglink-list.mdx +22 -1
  233. package/docs/docs/cmd/spo/folder/folder-sharinglink-remove.mdx +24 -1
  234. package/docs/docs/cmd/spo/folder/folder-sharinglink-set.mdx +21 -0
  235. package/docs/docs/cmd/spo/folder/folder-unarchive.mdx +76 -0
  236. package/docs/docs/cmd/spo/listitem/listitem-get.mdx +0 -6
  237. package/docs/docs/cmd/spo/navigation/navigation-node-add.mdx +45 -30
  238. package/docs/docs/cmd/spo/navigation/navigation-node-get.mdx +64 -42
  239. package/docs/docs/cmd/spo/navigation/navigation-node-list.mdx +37 -27
  240. package/docs/docs/cmd/spo/navigation/navigation-node-set.mdx +10 -8
  241. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.mdx +0 -21
  242. package/docs/docs/cmd/spo/page/page-unpublish.mdx +63 -0
  243. package/docs/docs/cmd/spo/web/web-rule-get.mdx +108 -0
  244. package/docs/docs/cmd/spp/model/model-get.mdx +1 -1
  245. package/docs/docs/cmd/spp/model/model-remove.mdx +1 -1
  246. package/docs/docs/cmd/teams/tab/tab-add.mdx +19 -0
  247. package/docs/docs/cmd/teams/tab/tab-get.mdx +19 -0
  248. package/docs/docs/cmd/teams/tab/tab-list.mdx +19 -0
  249. package/docs/docs/cmd/teams/tab/tab-remove.mdx +21 -0
  250. package/docs/docs/cmd/tenant/people/people-profilecardproperty-add.mdx +19 -0
  251. package/docs/docs/cmd/tenant/people/people-profilecardproperty-get.mdx +19 -0
  252. package/docs/docs/cmd/tenant/people/people-profilecardproperty-list.mdx +19 -0
  253. package/docs/docs/cmd/tenant/people/people-profilecardproperty-remove.mdx +19 -0
  254. package/docs/docs/cmd/tenant/people/people-profilecardproperty-set.mdx +19 -0
  255. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.mdx +19 -0
  256. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.mdx +19 -0
  257. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.mdx +19 -0
  258. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.mdx +19 -0
  259. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.mdx +19 -0
  260. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.mdx +19 -0
  261. package/docs/docs/cmd/viva/engage/engage-message-add.mdx +17 -0
  262. package/docs/docs/cmd/viva/engage/engage-message-get.mdx +17 -0
  263. package/docs/docs/cmd/viva/engage/engage-message-list.mdx +17 -0
  264. package/docs/docs/cmd/viva/engage/engage-message-remove.mdx +19 -0
  265. package/npm-shrinkwrap.json +702 -3230
  266. package/package.json +21 -38
  267. package/dist/appInsights.js +0 -43
@@ -1,12 +1,16 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _TenantServiceAnnouncementMessageGetCommand_instances, _TenantServiceAnnouncementMessageGetCommand_initOptions, _TenantServiceAnnouncementMessageGetCommand_initValidators;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import request from '../../../../request.js';
8
4
  import GraphCommand from '../../../base/GraphCommand.js';
9
5
  import commands from '../../commands.js';
6
+ export const options = z.strictObject({
7
+ ...globalOptionsZod.shape,
8
+ id: z.string()
9
+ .refine(val => (/MC\d{6}/).test(val), {
10
+ message: 'The value is not a valid message ID'
11
+ })
12
+ .alias('i')
13
+ });
10
14
  class TenantServiceAnnouncementMessageGetCommand extends GraphCommand {
11
15
  get name() {
12
16
  return commands.SERVICEANNOUNCEMENT_MESSAGE_GET;
@@ -14,11 +18,8 @@ class TenantServiceAnnouncementMessageGetCommand extends GraphCommand {
14
18
  get description() {
15
19
  return 'Retrieves a specified service update message for the tenant';
16
20
  }
17
- constructor() {
18
- super();
19
- _TenantServiceAnnouncementMessageGetCommand_instances.add(this);
20
- __classPrivateFieldGet(this, _TenantServiceAnnouncementMessageGetCommand_instances, "m", _TenantServiceAnnouncementMessageGetCommand_initOptions).call(this);
21
- __classPrivateFieldGet(this, _TenantServiceAnnouncementMessageGetCommand_instances, "m", _TenantServiceAnnouncementMessageGetCommand_initValidators).call(this);
21
+ get schema() {
22
+ return options;
22
23
  }
23
24
  async commandAction(logger, args) {
24
25
  if (this.verbose) {
@@ -39,21 +40,6 @@ class TenantServiceAnnouncementMessageGetCommand extends GraphCommand {
39
40
  this.handleRejectedODataJsonPromise(err);
40
41
  }
41
42
  }
42
- isValidId(id) {
43
- return (/MC\d{6}/).test(id);
44
- }
45
43
  }
46
- _TenantServiceAnnouncementMessageGetCommand_instances = new WeakSet(), _TenantServiceAnnouncementMessageGetCommand_initOptions = function _TenantServiceAnnouncementMessageGetCommand_initOptions() {
47
- this.options.unshift({
48
- option: '-i, --id <id>'
49
- });
50
- }, _TenantServiceAnnouncementMessageGetCommand_initValidators = function _TenantServiceAnnouncementMessageGetCommand_initValidators() {
51
- this.validators.push(async (args) => {
52
- if (!this.isValidId(args.options.id)) {
53
- return `${args.options.id} is not a valid message ID`;
54
- }
55
- return true;
56
- });
57
- };
58
44
  export default new TenantServiceAnnouncementMessageGetCommand();
59
45
  //# sourceMappingURL=serviceannouncement-message-get.js.map
@@ -1,13 +1,13 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _TenantServiceAnnouncementMessageListCommand_instances, _TenantServiceAnnouncementMessageListCommand_initTelemetry, _TenantServiceAnnouncementMessageListCommand_initOptions;
1
+ import { z } from 'zod';
2
+ import { globalOptionsZod } from '../../../../Command.js';
7
3
  import { formatting } from '../../../../utils/formatting.js';
8
4
  import { odata } from '../../../../utils/odata.js';
9
5
  import GraphCommand from '../../../base/GraphCommand.js';
10
6
  import commands from '../../commands.js';
7
+ export const options = z.strictObject({
8
+ ...globalOptionsZod.shape,
9
+ service: z.string().optional().alias('s')
10
+ });
11
11
  class TenantServiceAnnouncementMessageListCommand extends GraphCommand {
12
12
  get name() {
13
13
  return commands.SERVICEANNOUNCEMENT_MESSAGE_LIST;
@@ -18,11 +18,8 @@ class TenantServiceAnnouncementMessageListCommand extends GraphCommand {
18
18
  defaultProperties() {
19
19
  return ['id', 'title'];
20
20
  }
21
- constructor() {
22
- super();
23
- _TenantServiceAnnouncementMessageListCommand_instances.add(this);
24
- __classPrivateFieldGet(this, _TenantServiceAnnouncementMessageListCommand_instances, "m", _TenantServiceAnnouncementMessageListCommand_initTelemetry).call(this);
25
- __classPrivateFieldGet(this, _TenantServiceAnnouncementMessageListCommand_instances, "m", _TenantServiceAnnouncementMessageListCommand_initOptions).call(this);
21
+ get schema() {
22
+ return options;
26
23
  }
27
24
  async commandAction(logger, args) {
28
25
  let endpoint = `${this.resource}/v1.0/admin/serviceAnnouncement/messages`;
@@ -38,16 +35,5 @@ class TenantServiceAnnouncementMessageListCommand extends GraphCommand {
38
35
  }
39
36
  }
40
37
  }
41
- _TenantServiceAnnouncementMessageListCommand_instances = new WeakSet(), _TenantServiceAnnouncementMessageListCommand_initTelemetry = function _TenantServiceAnnouncementMessageListCommand_initTelemetry() {
42
- this.telemetry.push((args) => {
43
- Object.assign(this.telemetryProperties, {
44
- service: typeof args.options.service !== 'undefined'
45
- });
46
- });
47
- }, _TenantServiceAnnouncementMessageListCommand_initOptions = function _TenantServiceAnnouncementMessageListCommand_initOptions() {
48
- this.options.unshift({
49
- option: '-s, --service [service]'
50
- });
51
- };
52
38
  export default new TenantServiceAnnouncementMessageListCommand();
53
39
  //# sourceMappingURL=serviceannouncement-message-list.js.map
@@ -1,13 +1,14 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _UtilAccessTokenGetCommand_instances, _UtilAccessTokenGetCommand_initTelemetry, _UtilAccessTokenGetCommand_initOptions;
1
+ import { z } from 'zod';
7
2
  import auth, { Auth } from '../../../../Auth.js';
8
- import Command from '../../../../Command.js';
3
+ import Command, { globalOptionsZod } from '../../../../Command.js';
9
4
  import commands from '../../commands.js';
10
5
  import { accessToken } from '../../../../utils/accessToken.js';
6
+ export const options = z.strictObject({
7
+ ...globalOptionsZod.shape,
8
+ resource: z.string().alias('r'),
9
+ new: z.boolean().optional(),
10
+ decoded: z.boolean().optional()
11
+ });
11
12
  class UtilAccessTokenGetCommand extends Command {
12
13
  get name() {
13
14
  return commands.ACCESSTOKEN_GET;
@@ -15,11 +16,8 @@ class UtilAccessTokenGetCommand extends Command {
15
16
  get description() {
16
17
  return 'Gets access token for the specified resource';
17
18
  }
18
- constructor() {
19
- super();
20
- _UtilAccessTokenGetCommand_instances.add(this);
21
- __classPrivateFieldGet(this, _UtilAccessTokenGetCommand_instances, "m", _UtilAccessTokenGetCommand_initTelemetry).call(this);
22
- __classPrivateFieldGet(this, _UtilAccessTokenGetCommand_instances, "m", _UtilAccessTokenGetCommand_initOptions).call(this);
19
+ get schema() {
20
+ return options;
23
21
  }
24
22
  async commandAction(logger, args) {
25
23
  let resource = args.options.resource;
@@ -49,21 +47,5 @@ class UtilAccessTokenGetCommand extends Command {
49
47
  }
50
48
  }
51
49
  }
52
- _UtilAccessTokenGetCommand_instances = new WeakSet(), _UtilAccessTokenGetCommand_initTelemetry = function _UtilAccessTokenGetCommand_initTelemetry() {
53
- this.telemetry.push((args) => {
54
- Object.assign(this.telemetryProperties, {
55
- new: args.options.new,
56
- decoded: args.options.decoded
57
- });
58
- });
59
- }, _UtilAccessTokenGetCommand_initOptions = function _UtilAccessTokenGetCommand_initOptions() {
60
- this.options.unshift({
61
- option: '-r, --resource <resource>'
62
- }, {
63
- option: '--new'
64
- }, {
65
- option: '--decoded'
66
- });
67
- };
68
50
  export default new UtilAccessTokenGetCommand();
69
51
  //# sourceMappingURL=accesstoken-get.js.map
package/dist/telemetry.js CHANGED
@@ -1,25 +1,21 @@
1
- import appInsights from './appInsights.js';
2
1
  import { cli } from './cli/cli.js';
2
+ import { googleAnalytics } from './googleAnalytics.js';
3
3
  import { settingsNames } from './settingsNames.js';
4
4
  import { pid } from './utils/pid.js';
5
5
  import { session } from './utils/session.js';
6
6
  async function trackTelemetry(object) {
7
7
  try {
8
8
  const { commandName, properties, exception } = object;
9
- appInsights.commonProperties.shell = pid.getProcessName(process.ppid) || '';
10
- appInsights.context.tags[appInsights.context.keys.sessionId] = session.getId(process.ppid);
9
+ const context = {
10
+ shell: pid.getProcessName(process.ppid) || '',
11
+ sessionId: session.getId(process.ppid)
12
+ };
11
13
  if (exception) {
12
- appInsights.trackException({
13
- exception
14
- });
14
+ await googleAnalytics.trackException(exception, context);
15
15
  }
16
16
  else {
17
- appInsights.trackEvent({
18
- name: commandName,
19
- properties
20
- });
17
+ await googleAnalytics.trackEvent(commandName, properties, context);
21
18
  }
22
- await appInsights.flush();
23
19
  }
24
20
  catch {
25
21
  // Do nothing
@@ -189,6 +189,22 @@ export const formatting = {
189
189
  const guidPattern = /\/Guid\(([0-9a-f-]+)\)\//i;
190
190
  const match = str.match(guidPattern);
191
191
  return match ? match[1] : str;
192
+ },
193
+ /**
194
+ * Converts a CSOM date string to an ISO 8601 date string.
195
+ * @param str The string to extract the date from
196
+ * @description The string should be in the format /Date(year,month,day,hours,minutes,seconds,milliseconds)/ where month is 0-based. Escaped slashes (\/Date(...)\/) are supported as well. The date parts are interpreted as UTC.
197
+ * @returns The date as an ISO 8601 string or the original string if no match is found
198
+ * @example /Date(2026,8,21,12,24,45,997)/ => 2026-09-21T12:24:45.997Z
199
+ */
200
+ extractCsomDate(str) {
201
+ const datePattern = /^\\?\/Date\((\d+(?:,\d+){2,6})\)\\?\/$/i;
202
+ const match = str.trim().match(datePattern);
203
+ if (!match) {
204
+ return str;
205
+ }
206
+ const [year, month, day, hours = 0, minutes = 0, seconds = 0, milliseconds = 0] = match[1].split(',').map(Number);
207
+ return new Date(Date.UTC(year, month, day, hours, minutes, seconds, milliseconds)).toISOString();
192
208
  }
193
209
  };
194
210
  //# sourceMappingURL=formatting.js.map
package/dist/utils/pid.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import child_process from 'child_process';
2
2
  import fs from 'fs';
3
3
  import os from 'os';
4
+ import path from 'path';
4
5
  import { cache } from './cache.js';
5
6
  function getProcessNameOnMacOs(pid) {
6
7
  const res = child_process.spawnSync('ps', ['-o', 'comm=', pid.toString()], { encoding: 'utf8' });
@@ -21,24 +22,14 @@ function getProcessNameOnLinux(pid) {
21
22
  return procName;
22
23
  }
23
24
  function getProcessNameOnWindows(pid) {
24
- const findProcess = child_process.spawnSync('wmic', ['PROCESS', 'where', `ProcessId=${pid}`, 'get', 'Caption'], { encoding: 'utf8' });
25
- if (findProcess.error || findProcess.stderr) {
25
+ const tasklist = path.join(process.env.SystemRoot || 'C:\\Windows', 'System32', 'tasklist.exe');
26
+ const res = child_process.spawnSync(tasklist, ['/FI', `PID eq ${pid}`, '/FO', 'CSV', '/NH'], { encoding: 'utf8' });
27
+ if (res.error || res.status !== 0) {
26
28
  return undefined;
27
29
  }
28
- else {
29
- const getPid = child_process.spawnSync('find', ['/V', '"Caption"'], {
30
- encoding: 'utf8',
31
- input: findProcess.stdout,
32
- // must include or passing quoted "Caption" will fail
33
- windowsVerbatimArguments: true
34
- });
35
- if (getPid.error || getPid.stderr) {
36
- return undefined;
37
- }
38
- else {
39
- return getPid.stdout.trim();
40
- }
41
- }
30
+ // "pwsh.exe","12345","Console","1","98,765 K"
31
+ const match = res.stdout.match(/^"([^"]+)","(\d+)"/m);
32
+ return match && match[2] === pid.toString() ? match[1] : undefined;
42
33
  }
43
34
  export const pid = {
44
35
  getProcessName(pid) {
package/dist/utils/spo.js CHANGED
@@ -576,6 +576,45 @@ export const spo = {
576
576
  return request.post(requestOptions);
577
577
  },
578
578
  /**
579
+ * Retrieves the navigation node with the specified key.
580
+ * Returns the node along with the menu state that contains it.
581
+ * @param webUrl Web url
582
+ * @param key Key (ID) of the navigation node
583
+ * @param location Navigation to search. When not specified, searches the quick launch first and then the top navigation
584
+ */
585
+ async getMenuStateNodeByKey(webUrl, key, location) {
586
+ const locations = location ? [location] : ['QuickLaunch', 'TopNavigationBar'];
587
+ for (const navigationLocation of locations) {
588
+ const menuState = navigationLocation === 'TopNavigationBar'
589
+ ? await this.getTopNavigationMenuState(webUrl)
590
+ : await this.getQuickLaunchMenuState(webUrl);
591
+ const node = this.findMenuStateNode(menuState.Nodes, key);
592
+ if (node) {
593
+ return { menuState, node };
594
+ }
595
+ }
596
+ throw location
597
+ ? `Navigation node with id '${key}' not found in ${location}.`
598
+ : `Navigation node with id '${key}' not found.`;
599
+ },
600
+ /**
601
+ * Recursively searches the specified menu state nodes for the node with the specified key.
602
+ * @param nodes Menu state nodes to search
603
+ * @param key Key (ID) of the navigation node
604
+ */
605
+ findMenuStateNode(nodes, key) {
606
+ for (const node of nodes) {
607
+ if (node.Key === key) {
608
+ return node;
609
+ }
610
+ const childNode = this.findMenuStateNode(node.Nodes, key);
611
+ if (childNode) {
612
+ return childNode;
613
+ }
614
+ }
615
+ return undefined;
616
+ },
617
+ /**
579
618
  * Retrieves the spo group by name.
580
619
  * Returns a group object
581
620
  * @param webUrl Web url
@@ -1250,9 +1289,7 @@ export const spo = {
1250
1289
  // Neither properties nor contentTypeName provided, no need to proceed
1251
1290
  throw 'Either properties or contentTypeName must be provided for systemUpdateListItem.';
1252
1291
  }
1253
- const parsedUrl = new URL(absoluteListUrl);
1254
- const serverRelativeSiteMatch = absoluteListUrl.match(new RegExp('/sites/[^/]+'));
1255
- const webUrl = `${parsedUrl.protocol}//${parsedUrl.host}${serverRelativeSiteMatch ?? ''}`;
1292
+ const webUrl = absoluteListUrl.substring(0, absoluteListUrl.indexOf('/_api/'));
1256
1293
  if (verbose && logger) {
1257
1294
  await logger.logToStderr(`Getting list id...`);
1258
1295
  }
@@ -165,8 +165,8 @@ export const urlUtil = {
165
165
  */
166
166
  getTargetSiteAbsoluteUrl(webUrl, url) {
167
167
  const fullUrl = url.startsWith('https://') ? url : urlUtil.getAbsoluteUrl(webUrl, url);
168
- // Pattern to match SharePoint URLs
169
- const urlPattern = /https:\/\/[\w-]+\.sharepoint\.com\/(teams|sites|personal)\/([\w-]+)/;
168
+ // Pattern to match SharePoint site collection URLs on any of the supported managed paths
169
+ const urlPattern = /^https:\/\/[\w-]+\.sharepoint\.com\/(teams|sites|personal)\/[^/?#]+/i;
170
170
  const match = fullUrl.match(urlPattern);
171
171
  if (match) {
172
172
  // If a match is found, return the matched URL
package/dist/utils/zod.js CHANGED
@@ -110,14 +110,14 @@ export const zod = {
110
110
  });
111
111
  return options;
112
112
  },
113
- coercedEnum: (e) => z.preprocess(val => {
114
- const target = String(val)?.toLowerCase();
113
+ coercedEnum: (e) => z.string().pipe(z.preprocess(val => {
114
+ const target = String(val).toLowerCase();
115
115
  for (const k of Object.values(e)) {
116
- if (String(k)?.toLowerCase() === target) {
116
+ if (String(k).toLowerCase() === target) {
117
117
  return k;
118
118
  }
119
119
  }
120
120
  return null;
121
- }, z.enum(e))
121
+ }, z.enum(e)))
122
122
  };
123
123
  //# sourceMappingURL=zod.js.map
@@ -78,7 +78,20 @@ When logging in to Microsoft 365 using the user name and password, next to the a
78
78
 
79
79
  When logging in to Microsoft 365 using a certificate, the CLI for Microsoft 365 will store the contents of the certificate so that it can automatically re-authenticate if necessary. The contents of the certificate are removed by re-authenticating using the device code or by calling the [logout](logout.mdx) command.
80
80
 
81
- Federated Identity is currently supported in GitHub Actions. To use this you need to set `authType` to `federatedIdentity` and specify `appId` and `tenant` to the values of the app registration you've configured a federated credential on.
81
+ Federated Identity is currently supported in GitHub Actions, Azure DevOps and GitLab CI/CD. To use this you need to set `authType` to `federatedIdentity` and specify `appId` and `tenant` to the values of the app registration you've configured a federated credential on.
82
+
83
+ To use Federated Identity in GitLab CI/CD, the job must request an ID token named `GITLAB_OIDC_TOKEN` with audience `api://AzureADTokenExchange`, for example:
84
+
85
+ ```yaml
86
+ job:
87
+ id_tokens:
88
+ GITLAB_OIDC_TOKEN:
89
+ aud: "api://AzureADTokenExchange"
90
+ script:
91
+ - m365 login --authType federatedIdentity --appId eb96cfd0-abfa-4477-8d1d-c6dfde3efb19 --tenant 9a1a1bbd-e158-4cf5-967d-a53b8e85c628
92
+ ```
93
+
94
+ The corresponding federated credential on the Microsoft Entra app registration must have issuer `https://gitlab.com` (or your self-managed GitLab instance URL) and a subject matching the GitLab OIDC claim for the job, for example `project_path:<group>/<project>:ref_type:branch:ref:<branch>`.
82
95
 
83
96
  To log in to Microsoft 365 using a certificate or secret, you will typically [create a custom Microsoft Entra application](../user-guide/using-own-identity.mdx). To use this application with the CLI for Microsoft 365, you will set the `CLIMICROSOFT365_ENTRAAPPID` environment variable to the application's ID and the `CLIMICROSOFT365_TENANT` environment variable to the ID of the Microsoft Entra tenant, where you created the Microsoft Entra application. Also, please make sure to read about [the caveats when using the certificate login option](../user-guide/cli-certificate-caveats.mdx).
84
97
 
@@ -202,7 +215,7 @@ Log in to Microsoft 365 using a user-assigned managed identity with `clientId` s
202
215
  m365 login --authType identity --userName ac9fbed5-804c-4362-a369-21a4ec51109e
203
216
  ```
204
217
 
205
- Log in to Microsoft 365 using a federated identity. Can currently only be used in GitHub Actions.
218
+ Log in to Microsoft 365 using a federated identity. Can currently only be used in GitHub Actions, Azure DevOps and GitLab CI/CD.
206
219
 
207
220
  ```sh
208
221
  m365 login --authType federatedIdentity --appId eb96cfd0-abfa-4477-8d1d-c6dfde3efb19 --tenant 9a1a1bbd-e158-4cf5-967d-a53b8e85c628
@@ -0,0 +1,78 @@
1
+ import Global from '../../_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # spe container permission remove
6
+
7
+ Removes permissions from a SharePoint Embedded Container
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 spe container permission remove [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `-i, --id <id>`
19
+ : ID of the permission to remove.
20
+
21
+ `--containerId [containerId]`
22
+ : ID of a SharePoint Embedded container. Specify either `containerId` or `containerName` but not both.
23
+
24
+ `-n, --containerName [containerName]`
25
+ : Display name of the Container. Specify either `containerId` or `containerName` but not both.
26
+
27
+ `--containerTypeId [containerTypeId]`
28
+ : The ID of the container type. Specify either `containerTypeId` or `containerTypeName` when using `containerName` but not both.
29
+
30
+ `--containerTypeName [containerTypeName]`
31
+ : The name of the container type. Specify either `containerTypeId` or `containerTypeName` when using `containerName` but not both.
32
+
33
+ `-f, --force [force]`
34
+ : Don't prompt for confirmation.
35
+ ```
36
+
37
+ <Global />
38
+
39
+ ## Permissions
40
+
41
+ <Tabs>
42
+ <TabItem value="Delegated">
43
+
44
+ | Resource | Permissions |
45
+ |-----------------|--------------------------------------------------------------------|
46
+ | Microsoft Graph | FileStorageContainer.Selected, FileStorageContainerType.Manage.All |
47
+
48
+ `FileStorageContainerType.Manage.All` is required only when using `containerTypeName`.
49
+
50
+ </TabItem>
51
+ <TabItem value="Application">
52
+
53
+ This command only supports application permissions when **not** using the `containerTypeName` option.
54
+
55
+ | Resource | Permissions |
56
+ |-----------------|-------------------------------|
57
+ | Microsoft Graph | FileStorageContainer.Selected |
58
+
59
+ </TabItem>
60
+ </Tabs>
61
+
62
+ ## Examples
63
+
64
+ Removes the specified permission from a container
65
+
66
+ ```sh
67
+ m365 spe container permission remove --containerId "b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z" --id "cmVhZGVyX2k6MCMuZnxtZW1iZXJzaGlwfHJvcnlicjExMUBvdXRsb29rLmNvbQ"
68
+ ```
69
+
70
+ Removes the specified permission from a container and doesn't prompt for confirmation
71
+
72
+ ```sh
73
+ m365 spe container permission remove --containerId "b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z" --id "cmVhZGVyX2k6MCMuZnxtZW1iZXJzaGlwfHJvcnlicjExMUBvdXRsb29rLmNvbQ" --force
74
+ ```
75
+
76
+ ## Response
77
+
78
+ The command won't return a response on success.
@@ -45,7 +45,7 @@ m365 spfx project upgrade [options]
45
45
 
46
46
  ## Remarks
47
47
 
48
- The `spfx project upgrade` command helps you upgrade your SharePoint Framework project to the specified version. If no version is specified, the command will upgrade to the latest version of the SharePoint Framework it supports (v1.23.2).
48
+ The `spfx project upgrade` command helps you upgrade your SharePoint Framework project to the specified version. If no version is specified, the command will upgrade to the latest version of the SharePoint Framework it supports (v1.24.0).
49
49
 
50
50
  This command doesn't change your project files. Instead, it gives you a report with all steps necessary to upgrade your project to the specified version of the SharePoint Framework. Changing project files is error-prone, especially when it comes to updating your solution's code. This is why at this moment, this command produces a report that you can use yourself to perform the necessary updates and verify that everything is working as expected.
51
51
 
@@ -76,18 +76,12 @@ m365 spo externaluser list --pageSize 50 --position 0 --sortOrder desc
76
76
  ```json
77
77
  [
78
78
  {
79
- "Id": 14,
80
- "IsHiddenInUI": false,
81
- "LoginName": "i:0#.f|membership|user_domain.nl#ext#@tenant.onmicrosoft.com",
82
- "Title": "Jon Doe",
83
- "PrincipalType": 1,
84
- "Email": "user@domain.nl",
85
- "Expiration": "",
86
- "IsEmailAuthenticationGuestUser": false,
87
- "IsShareByEmailGuestUser": true,
88
- "IsSiteAdmin": false,
89
- "UserId": null,
90
- "UserPrincipalName": "user_domain.nl#ext#@tenant.onmicrosoft.com"
79
+ "DisplayName": "John Doe (External)",
80
+ "InvitedAs": "john.doe@contoso.com",
81
+ "UniqueId": "1003200012345678",
82
+ "AcceptedAs": "john.doe@contoso.com",
83
+ "WhenCreated": "2025-11-18T07:57:58.913Z",
84
+ "InvitedBy": null
91
85
  }
92
86
  ]
93
87
  ```
@@ -96,17 +90,17 @@ m365 spo externaluser list --pageSize 50 --position 0 --sortOrder desc
96
90
  <TabItem value="Text">
97
91
 
98
92
  ```text
99
- Id IsHiddenInUI LoginName Title PrincipalType Email Expiration IsEmailAuthenticationGuestUser IsShareByEmailGuestUser IsSiteAdmin UserId UserPrincipalName
100
- --- ------------ ------------------------------------------------------------- -------- -------------- -------------- ----------- ------------------------------- ------------------------ ------------ ------- -------------------------------------------
101
- 14 false i:0#.f|membership|user_domain.nl#ext#@tenant.onmicrosoft.com Jon Doe 1 user@domain.nl false true false null user_domain.nl#ext#@tenant.onmicrosoft.com
93
+ AcceptedAs DisplayName InvitedAs InvitedBy UniqueId WhenCreated
94
+ -------------------- ------------------- -------------------- --------- ---------------- ------------------------
95
+ john.doe@contoso.com John Doe (External) john.doe@contoso.com null 1003200012345678 2025-11-18T07:57:58.913Z
102
96
  ```
103
97
 
104
98
  </TabItem>
105
99
  <TabItem value="CSV">
106
100
 
107
101
  ```csv
108
- Id,IsHiddenInUI,LoginName,Title,PrincipalType,Email,Expiration,IsEmailAuthenticationGuestUser,IsShareByEmailGuestUser,IsSiteAdmin,UserId,UserPrincipalName
109
- 14,false,i:0#.f|membership|user_domain.nl#ext#@tenant.onmicrosoft.com,Jon Doe,1,user@domain.nl,false,true,false,null,user_domain.nl#ext#@tenant.onmicrosoft.com
102
+ DisplayName,InvitedAs,UniqueId,AcceptedAs,WhenCreated,InvitedBy
103
+ John Doe (External),john.doe@contoso.com,1003200012345678,john.doe@contoso.com,2025-11-18T07:57:58.913Z,
110
104
  ```
111
105
 
112
106
  </TabItem>
@@ -117,22 +111,15 @@ m365 spo externaluser list --pageSize 50 --position 0 --sortOrder desc
117
111
 
118
112
  Date: 10/3/2023
119
113
 
120
- ## Jon Doe (14)
114
+ ## John Doe (External) (1003200012345678)
121
115
 
122
116
  Property | Value
123
117
  ---------|-------
124
- Id | 14
125
- IsHiddenInUI | false
126
- LoginName | i:0#.f|membership|user_domain.nl#ext#@tenant.onmicrosoft.com
127
- Title | Jon Doe
128
- PrincipalType | 1
129
- Email | user@domain.nl
130
- Expiration |
131
- IsEmailAuthenticationGuestUser | false
132
- IsShareByEmailGuestUser | true
133
- IsSiteAdmin | false
134
- UserId | null
135
- UserPrincipalName | user_domain.nl#ext#@tenant.onmicrosoft.com
118
+ DisplayName | John Doe (External)
119
+ InvitedAs | john.doe@contoso.com
120
+ UniqueId | 1003200012345678
121
+ AcceptedAs | john.doe@contoso.com
122
+ WhenCreated | 2025-11-18T07:57:58.913Z
136
123
  ```
137
124
 
138
125
  </TabItem>
@@ -22,7 +22,7 @@ m365 spo file archive [options]
22
22
  : The server- or site-relative decoded URL of the file to archive. Specify either `url` or `id`, but not both.
23
23
 
24
24
  `-i, --id [id]`
25
- : The UniqueId (GUID) of the file to archive. Specify either `url` or `id`, but not both.
25
+ : The unique ID (GUID) of the file to archive. Specify either `url` or `id`, but not both.
26
26
 
27
27
  `-f, --force`
28
28
  : Don't prompt for confirmation.
@@ -22,7 +22,7 @@ m365 spo file checkin [options]
22
22
  : The server- or site-relative decoded URL of the file to retrieve. Specify either `url` or `id` but not both.
23
23
 
24
24
  `-i, --id [id]`
25
- : The UniqueId (GUID) of the file to retrieve. Specify either `url` or `id` but not both.
25
+ : The unique ID (GUID) of the file to retrieve. Specify either `url` or `id` but not both.
26
26
 
27
27
  `-t, --type [type]`
28
28
  : Type of the check in. Allowed values: `Minor`, `Major`, `Overwrite`. Defaults to `Major`.
@@ -54,7 +54,7 @@ m365 spo file checkin [options]
54
54
 
55
55
  ## Examples
56
56
 
57
- Checks in file with the specified UniqueId located in the specified site.
57
+ Checks in file with the specified unique ID located in the specified site.
58
58
 
59
59
  ```sh
60
60
  m365 spo file checkin --webUrl https://contoso.sharepoint.com/sites/project-x --id 'b2307a39-e878-458b-bc90-03bc578531d6'
@@ -22,7 +22,7 @@ m365 spo file checkout undo [options]
22
22
  : The server- or site-relative decoded URL of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
23
23
 
24
24
  `-i, --fileId [fileId]`
25
- : The UniqueId (GUID) of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
25
+ : The unique ID (GUID) of the file to retrieve. Specify either `fileUrl` or `fileId` but not both.
26
26
 
27
27
  `-f, --force`
28
28
  : Don't prompt for confirmation.
@@ -22,7 +22,7 @@ m365 spo file checkout [options]
22
22
  : The server- or site-relative decoded URL of the file to retrieve. Specify either `url` or `id` but not both.
23
23
 
24
24
  `-i, --id [id]`
25
- : The UniqueId (GUID) of the file to retrieve. Specify either `url` or `id` but not both.
25
+ : The unique ID (GUID) of the file to retrieve. Specify either `url` or `id` but not both.
26
26
  ```
27
27
 
28
28
  <Global />
@@ -48,7 +48,7 @@ m365 spo file checkout [options]
48
48
 
49
49
  ## Examples
50
50
 
51
- Checks out file with the specified UniqueId located in the specified site.
51
+ Checks out file with the specified unique ID located in the specified site.
52
52
 
53
53
  ```sh
54
54
  m365 spo file checkout --webUrl https://contoso.sharepoint.com/sites/project-x --id 'b2307a39-e878-458b-bc90-03bc578531d6'
@@ -85,13 +85,13 @@ Copy a file by site-relative URL to a document library in another site collectio
85
85
  m365 spo file copy --webUrl https://contoso.sharepoint.com/sites/project --sourceUrl "/Shared Documents/Document.pdf" --targetUrl "/sites/IT/Shared Documents" --ignoreVersionHistory
86
86
  ```
87
87
 
88
- Copy file by sourceId (UniqueId) to a document library in another site collection and rename the file (without specifying the file extension).
88
+ Copy file by sourceId (unique ID) to a document library in another site collection and rename the file (without specifying the file extension).
89
89
 
90
90
  ```sh
91
91
  m365 spo file copy --webUrl https://contoso.sharepoint.com/sites/project --sourceId "b2307a39-e878-458b-bc90-03bc578531d6" --targetUrl "/sites/IT/Shared Documents" --newName "Report.pdf"
92
92
  ```
93
93
 
94
- Copy file by sourceId (UniqueId) to a document library in another site collection with a new name, rename the file if it already exists.
94
+ Copy file by sourceId (unique ID) to a document library in another site collection with a new name, rename the file if it already exists.
95
95
 
96
96
  ```sh
97
97
  m365 spo file copy --webUrl https://contoso.sharepoint.com/sites/project --sourceId "b2307a39-e878-458b-bc90-03bc578531d6" --targetUrl "/sites/IT/Shared Documents" --newName "Report.pdf" --nameConflictBehavior rename