@pnp/cli-microsoft365 6.3.0-beta.c3dc921 → 6.3.0-beta.cefe20e

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 (259) hide show
  1. package/.eslintrc.js +8 -0
  2. package/dist/Auth.js +0 -18
  3. package/dist/Command.js +12 -1
  4. package/dist/appInsights.js +2 -1
  5. package/dist/cli/Cli.js +74 -3
  6. package/dist/m365/aad/commands/group/group-list.js +2 -1
  7. package/dist/m365/aad/commands/license/license-list.js +41 -0
  8. package/dist/m365/aad/commands/user/user-add.js +223 -0
  9. package/dist/m365/aad/commands/user/user-license-add.js +88 -0
  10. package/dist/m365/aad/commands/user/user-license-list.js +99 -0
  11. package/dist/m365/aad/commands/user/user-license-remove.js +114 -0
  12. package/dist/m365/aad/commands/user/user-recyclebinitem-clear.js +103 -0
  13. package/dist/m365/aad/commands/user/user-recyclebinitem-list.js +41 -0
  14. package/dist/m365/aad/commands/user/user-recyclebinitem-remove.js +92 -0
  15. package/dist/m365/aad/commands/user/user-recyclebinitem-restore.js +77 -0
  16. package/dist/m365/aad/commands/user/user-remove.js +107 -0
  17. package/dist/m365/aad/commands.js +10 -0
  18. package/dist/m365/base/O365MgmtCommand.js +10 -0
  19. package/dist/m365/context/commands/option/option-list.js +54 -0
  20. package/dist/m365/context/commands.js +1 -0
  21. package/dist/m365/file/commands/convert/convert-pdf.js +7 -6
  22. package/dist/m365/flow/commands/environment/FlowEnvironmentDetails.js +3 -0
  23. package/dist/m365/flow/commands/environment/environment-get.js +26 -11
  24. package/dist/m365/flow/commands/run/run-list.js +55 -3
  25. package/dist/m365/graph/commands/changelog/changelog-list.js +3 -2
  26. package/dist/m365/onenote/commands/notebook/notebook-list.js +50 -53
  27. package/dist/m365/onenote/commands/page/page-list.js +2 -16
  28. package/dist/m365/outlook/commands/mail/mail-send.js +3 -2
  29. package/dist/m365/outlook/commands/message/message-get.js +4 -3
  30. package/dist/m365/pa/commands/environment/environment-get.js +13 -5
  31. package/dist/m365/planner/commands/plan/plan-add.js +20 -6
  32. package/dist/m365/planner/commands/plan/plan-get.js +40 -26
  33. package/dist/m365/planner/commands/plan/plan-list.js +24 -14
  34. package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
  35. package/dist/m365/planner/commands/plan/plan-set.js +21 -10
  36. package/dist/m365/planner/commands/roster/roster-add.js +47 -0
  37. package/dist/m365/planner/commands/roster/roster-get.js +61 -0
  38. package/dist/m365/planner/commands/roster/roster-member-add.js +113 -0
  39. package/dist/m365/planner/commands/roster/roster-member-list.js +54 -0
  40. package/dist/m365/planner/commands/roster/roster-member-remove.js +140 -0
  41. package/dist/m365/planner/commands/roster/roster-remove.js +88 -0
  42. package/dist/m365/planner/commands/task/task-add.js +3 -0
  43. package/dist/m365/planner/commands/task/task-checklistitem-add.js +2 -1
  44. package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -1
  45. package/dist/m365/planner/commands.js +6 -0
  46. package/dist/m365/pp/commands/environment/environment-get.js +18 -9
  47. package/dist/m365/pp/commands/solution/solution-get.js +2 -1
  48. package/dist/m365/pp/commands/solution/solution-list.js +2 -1
  49. package/dist/m365/purview/commands/auditlog/auditlog-list.js +205 -0
  50. package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +75 -0
  51. package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +46 -0
  52. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +97 -0
  53. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +77 -0
  54. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +75 -0
  55. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +43 -0
  56. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +97 -0
  57. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +90 -0
  58. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +5 -0
  59. package/dist/m365/purview/commands/retentionlabel/retentionlabel-get.js +5 -0
  60. package/dist/m365/purview/commands/retentionlabel/retentionlabel-list.js +5 -0
  61. package/dist/m365/purview/commands/retentionlabel/retentionlabel-remove.js +5 -0
  62. package/dist/m365/purview/commands/retentionlabel/retentionlabel-set.js +11 -1
  63. package/dist/m365/purview/commands.js +9 -0
  64. package/dist/m365/spfx/commands/project/WebApiPermissionRequests.js +3 -0
  65. package/dist/m365/spfx/commands/project/project-permissions-grant.js +81 -0
  66. package/dist/m365/spfx/commands.js +3 -2
  67. package/dist/m365/spo/commands/app/app-add.js +2 -1
  68. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +95 -0
  69. package/dist/m365/spo/commands/customaction/customaction-get.js +17 -66
  70. package/dist/m365/spo/commands/customaction/customaction-list.js +2 -36
  71. package/dist/m365/spo/commands/customaction/customaction-remove.js +11 -18
  72. package/dist/m365/spo/commands/file/GraphFileDetails.js +0 -1
  73. package/dist/m365/spo/commands/file/file-move.js +0 -2
  74. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +2 -1
  75. package/dist/m365/spo/commands/file/file-sharinglink-add.js +2 -22
  76. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +137 -0
  77. package/dist/m365/spo/commands/file/file-sharinglink-get.js +2 -25
  78. package/dist/m365/spo/commands/file/file-sharinglink-list.js +9 -29
  79. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +2 -25
  80. package/dist/m365/spo/commands/file/file-sharinglink-set.js +104 -0
  81. package/dist/m365/spo/commands/folder/folder-copy.js +0 -2
  82. package/dist/m365/spo/commands/folder/folder-move.js +0 -2
  83. package/dist/m365/spo/commands/group/group-list.js +2 -1
  84. package/dist/m365/spo/commands/hubsite/hubsite-get.js +1 -1
  85. package/dist/m365/spo/commands/listitem/listitem-add.js +2 -1
  86. package/dist/m365/spo/commands/listitem/listitem-list.js +2 -1
  87. package/dist/m365/spo/commands/navigation/navigation-node-add.js +17 -3
  88. package/dist/m365/spo/commands/navigation/navigation-node-get.js +73 -0
  89. package/dist/m365/spo/commands/navigation/navigation-node-list.js +4 -7
  90. package/dist/m365/spo/commands/navigation/navigation-node-set.js +118 -0
  91. package/dist/m365/spo/commands/page/page-column-get.js +2 -1
  92. package/dist/m365/spo/commands/page/page-column-list.js +2 -1
  93. package/dist/m365/spo/commands/page/page-section-get.js +2 -1
  94. package/dist/m365/spo/commands/page/page-section-list.js +2 -1
  95. package/dist/m365/spo/commands/site/site-add.js +0 -3
  96. package/dist/m365/spo/commands/site/site-apppermission-add.js +2 -14
  97. package/dist/m365/spo/commands/site/site-apppermission-get.js +2 -14
  98. package/dist/m365/spo/commands/site/site-apppermission-list.js +2 -14
  99. package/dist/m365/spo/commands/site/site-apppermission-remove.js +2 -14
  100. package/dist/m365/spo/commands/site/site-apppermission-set.js +2 -14
  101. package/dist/m365/spo/commands/site/site-remove.js +0 -3
  102. package/dist/m365/spo/commands/site/site-set.js +0 -2
  103. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +6 -0
  104. package/dist/m365/spo/commands/spo-search.js +2 -1
  105. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +179 -0
  106. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +0 -1
  107. package/dist/m365/spo/commands/term/term-list.js +2 -1
  108. package/dist/m365/spo/commands/userprofile/userprofile-get.js +2 -2
  109. package/dist/m365/spo/commands/web/web-set.js +11 -4
  110. package/dist/m365/spo/commands.js +6 -0
  111. package/dist/m365/teams/commands/chat/chat-list.js +4 -4
  112. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +5 -5
  113. package/dist/m365/teams/commands/meeting/meeting-get.js +5 -5
  114. package/dist/m365/teams/commands/meeting/meeting-list.js +5 -4
  115. package/dist/m365/teams/commands/team/team-add.js +3 -8
  116. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  117. package/dist/m365/teams/commands/user/user-app-list.js +2 -1
  118. package/dist/m365/todo/commands/task/task-get.js +2 -1
  119. package/dist/m365/todo/commands/task/task-list.js +2 -1
  120. package/dist/m365/yammer/commands/yammer-search.js +2 -1
  121. package/dist/utils/aadUser.js +38 -0
  122. package/dist/utils/accessToken.js +1 -1
  123. package/dist/utils/planner.js +16 -5
  124. package/dist/utils/session.js +18 -0
  125. package/dist/utils/spo.js +119 -12
  126. package/docs/docs/cmd/aad/app/app-list.md +3 -0
  127. package/docs/docs/cmd/aad/license/license-list.md +87 -0
  128. package/docs/docs/cmd/aad/user/user-add.md +168 -0
  129. package/docs/docs/cmd/aad/user/user-license-add.md +108 -0
  130. package/docs/docs/cmd/aad/user/user-license-list.md +98 -0
  131. package/docs/docs/cmd/aad/user/user-license-remove.md +43 -0
  132. package/docs/docs/cmd/aad/user/user-recyclebinitem-clear.md +42 -0
  133. package/docs/docs/cmd/aad/user/user-recyclebinitem-list.md +82 -0
  134. package/docs/docs/cmd/aad/user/user-recyclebinitem-remove.md +45 -0
  135. package/docs/docs/cmd/aad/user/user-recyclebinitem-restore.md +99 -0
  136. package/docs/docs/cmd/aad/user/user-remove.md +51 -0
  137. package/docs/docs/cmd/aad/user/user-set.md +2 -2
  138. package/docs/docs/cmd/context/option/option-list.md +63 -0
  139. package/docs/docs/cmd/flow/environment/environment-get.md +31 -3
  140. package/docs/docs/cmd/flow/run/run-list.md +21 -0
  141. package/docs/docs/cmd/login.md +26 -0
  142. package/docs/docs/cmd/logout.md +4 -0
  143. package/docs/docs/cmd/pa/app/app-get.md +24 -0
  144. package/docs/docs/cmd/pa/app/app-list.md +21 -0
  145. package/docs/docs/cmd/pa/connector/connector-list.md +17 -0
  146. package/docs/docs/cmd/pa/environment/environment-get.md +26 -2
  147. package/docs/docs/cmd/pa/environment/environment-list.md +19 -0
  148. package/docs/docs/cmd/planner/plan/plan-add.md +17 -6
  149. package/docs/docs/cmd/planner/plan/plan-get.md +21 -7
  150. package/docs/docs/cmd/planner/plan/plan-list.md +16 -2
  151. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  152. package/docs/docs/cmd/planner/plan/plan-set.md +10 -4
  153. package/docs/docs/cmd/planner/roster/roster-add.md +60 -0
  154. package/docs/docs/cmd/planner/roster/roster-get.md +73 -0
  155. package/docs/docs/cmd/planner/roster/roster-member-add.md +87 -0
  156. package/docs/docs/cmd/planner/roster/roster-member-list.md +76 -0
  157. package/docs/docs/cmd/planner/roster/roster-member-remove.md +51 -0
  158. package/docs/docs/cmd/planner/roster/roster-remove.md +48 -0
  159. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.md +43 -0
  160. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.md +43 -0
  161. package/docs/docs/cmd/pp/card/card-clone.md +12 -0
  162. package/docs/docs/cmd/pp/card/card-get.md +49 -0
  163. package/docs/docs/cmd/pp/card/card-list.md +49 -0
  164. package/docs/docs/cmd/pp/chatbot/chatbot-get.md +55 -0
  165. package/docs/docs/cmd/pp/chatbot/chatbot-list.md +36 -0
  166. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.md +30 -0
  167. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +30 -0
  168. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.md +30 -0
  169. package/docs/docs/cmd/pp/environment/environment-get.md +19 -0
  170. package/docs/docs/cmd/pp/environment/environment-list.md +19 -0
  171. package/docs/docs/cmd/pp/gateway/gateway-get.md +19 -0
  172. package/docs/docs/cmd/pp/gateway/gateway-list.md +19 -0
  173. package/docs/docs/cmd/pp/managementapp/managementapp-add.md +12 -0
  174. package/docs/docs/cmd/pp/managementapp/managementapp-list.md +12 -0
  175. package/docs/docs/cmd/pp/solution/solution-get.md +14 -0
  176. package/docs/docs/cmd/pp/solution/solution-list.md +14 -0
  177. package/docs/docs/cmd/pp/solution/solution-publisher-get.md +20 -1
  178. package/docs/docs/cmd/pp/solution/solution-publisher-list.md +18 -0
  179. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +21 -0
  180. package/docs/docs/cmd/purview/auditlog/auditlog-list.md +123 -0
  181. package/docs/docs/cmd/purview/retentionevent/retentionevent-get.md +132 -0
  182. package/docs/docs/cmd/purview/retentionevent/retentionevent-list.md +107 -0
  183. package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.md +45 -0
  184. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.md +106 -0
  185. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +103 -0
  186. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.md +97 -0
  187. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.md +43 -0
  188. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.md +43 -0
  189. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.md +3 -0
  190. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-get.md +3 -0
  191. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-list.md +3 -0
  192. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-remove.md +3 -0
  193. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-set.md +3 -0
  194. package/docs/docs/cmd/request.md +74 -0
  195. package/docs/docs/cmd/spfx/project/project-permissions-grant.md +65 -0
  196. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +56 -0
  197. package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +46 -0
  198. package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
  199. package/docs/docs/cmd/spo/file/file-sharinglink-set.md +104 -0
  200. package/docs/docs/cmd/spo/homesite/homesite-get.md +20 -1
  201. package/docs/docs/cmd/spo/homesite/homesite-remove.md +8 -2
  202. package/docs/docs/cmd/spo/homesite/homesite-set.md +8 -2
  203. package/docs/docs/cmd/spo/hubsite/hubsite-connect.md +9 -9
  204. package/docs/docs/cmd/spo/hubsite/hubsite-data-get.md +34 -5
  205. package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +6 -6
  206. package/docs/docs/cmd/spo/hubsite/hubsite-get.md +36 -19
  207. package/docs/docs/cmd/spo/hubsite/hubsite-list.md +59 -1
  208. package/docs/docs/cmd/spo/hubsite/hubsite-register.md +30 -1
  209. package/docs/docs/cmd/spo/hubsite/hubsite-rights-grant.md +6 -6
  210. package/docs/docs/cmd/spo/hubsite/hubsite-rights-revoke.md +4 -4
  211. package/docs/docs/cmd/spo/hubsite/hubsite-set.md +40 -15
  212. package/docs/docs/cmd/spo/hubsite/hubsite-unregister.md +4 -4
  213. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-get.md +7 -1
  214. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-remove.md +9 -3
  215. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-set.md +8 -2
  216. package/docs/docs/cmd/spo/list/list-add.md +123 -57
  217. package/docs/docs/cmd/spo/list/list-contenttype-add.md +50 -5
  218. package/docs/docs/cmd/spo/list/list-contenttype-default-set.md +4 -4
  219. package/docs/docs/cmd/spo/list/list-contenttype-list.md +49 -4
  220. package/docs/docs/cmd/spo/list/list-contenttype-remove.md +6 -6
  221. package/docs/docs/cmd/spo/list/list-get.md +70 -4
  222. package/docs/docs/cmd/spo/list/list-list.md +70 -2
  223. package/docs/docs/cmd/spo/list/list-remove.md +6 -6
  224. package/docs/docs/cmd/spo/list/list-retentionlabel-ensure.md +2 -2
  225. package/docs/docs/cmd/spo/list/list-retentionlabel-get.md +36 -3
  226. package/docs/docs/cmd/spo/list/list-retentionlabel-remove.md +3 -3
  227. package/docs/docs/cmd/spo/list/list-roleassignment-add.md +6 -6
  228. package/docs/docs/cmd/spo/list/list-roleassignment-remove.md +3 -3
  229. package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +9 -9
  230. package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +7 -7
  231. package/docs/docs/cmd/spo/list/list-set.md +61 -61
  232. package/docs/docs/cmd/spo/list/list-sitescript-get.md +35 -3
  233. package/docs/docs/cmd/spo/list/list-view-add.md +66 -5
  234. package/docs/docs/cmd/spo/list/list-view-field-add.md +10 -10
  235. package/docs/docs/cmd/spo/list/list-view-get.md +61 -0
  236. package/docs/docs/cmd/spo/list/list-view-list.md +61 -0
  237. package/docs/docs/cmd/spo/list/list-view-set.md +1 -1
  238. package/docs/docs/cmd/spo/list/list-webhook-add.md +19 -0
  239. package/docs/docs/cmd/spo/list/list-webhook-get.md +19 -0
  240. package/docs/docs/cmd/spo/list/list-webhook-list.md +19 -0
  241. package/docs/docs/cmd/spo/listitem/listitem-add.md +29 -0
  242. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +19 -4
  243. package/docs/docs/cmd/spo/listitem/listitem-get.md +57 -0
  244. package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +8 -2
  245. package/docs/docs/cmd/spo/listitem/listitem-list.md +28 -0
  246. package/docs/docs/cmd/spo/listitem/listitem-record-declare.md +15 -0
  247. package/docs/docs/cmd/spo/listitem/listitem-set.md +30 -0
  248. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +40 -3
  249. package/docs/docs/cmd/spo/navigation/navigation-node-get.md +91 -0
  250. package/docs/docs/cmd/spo/navigation/navigation-node-list.md +30 -0
  251. package/docs/docs/cmd/spo/navigation/navigation-node-remove.md +1 -1
  252. package/docs/docs/cmd/spo/navigation/navigation-node-set.md +59 -0
  253. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.md +3 -0
  254. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.md +59 -0
  255. package/docs/docs/cmd/spo/web/web-set.md +9 -0
  256. package/docs/docs/cmd/status.md +46 -0
  257. package/docs/docs/cmd/version.md +26 -0
  258. package/npm-shrinkwrap.json +912 -876
  259. package/package.json +13 -12
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.session = void 0;
4
+ const crypto = require("crypto");
5
+ const cache_1 = require("./cache");
6
+ exports.session = {
7
+ getId(pid) {
8
+ const key = `${pid.toString()}_session`;
9
+ let sessionId = cache_1.cache.getValue(key);
10
+ if (sessionId) {
11
+ return sessionId;
12
+ }
13
+ sessionId = crypto.randomBytes(24).toString('base64');
14
+ cache_1.cache.setValue(key, sessionId);
15
+ return sessionId;
16
+ }
17
+ };
18
+ //# sourceMappingURL=session.js.map
package/dist/utils/spo.js CHANGED
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.spo = void 0;
4
13
  const url = require("url");
@@ -9,6 +18,7 @@ const config_1 = require("../config");
9
18
  const base_permissions_1 = require("../m365/spo/base-permissions");
10
19
  const request_1 = require("../request");
11
20
  const formatting_1 = require("./formatting");
21
+ const odata_1 = require("./odata");
12
22
  exports.spo = {
13
23
  getRequestDigest(siteUrl) {
14
24
  const requestOptions = {
@@ -46,7 +56,7 @@ exports.spo = {
46
56
  });
47
57
  });
48
58
  },
49
- waitUntilFinished({ operationId, siteUrl, resolve, reject, logger, currentContext, dots, debug, verbose }) {
59
+ waitUntilFinished({ operationId, siteUrl, resolve, reject, logger, currentContext, debug, verbose }) {
50
60
  exports.spo
51
61
  .ensureFormDigest(siteUrl, logger, currentContext, debug)
52
62
  .then((res) => {
@@ -54,10 +64,6 @@ exports.spo = {
54
64
  if (debug) {
55
65
  logger.logToStderr(`Checking if operation ${operationId} completed...`);
56
66
  }
57
- if (!debug && verbose) {
58
- dots += '.';
59
- process.stdout.write(`\r${dots}`);
60
- }
61
67
  const requestOptions = {
62
68
  url: `${siteUrl}/_vti_bin/client.svc/ProcessQuery`,
63
69
  headers: {
@@ -91,7 +97,6 @@ exports.spo = {
91
97
  reject,
92
98
  logger,
93
99
  currentContext,
94
- dots,
95
100
  debug,
96
101
  verbose
97
102
  });
@@ -99,7 +104,7 @@ exports.spo = {
99
104
  }
100
105
  });
101
106
  },
102
- waitUntilCopyJobFinished({ copyJobInfo, siteUrl, pollingInterval, resolve, reject, logger, dots, debug, verbose }) {
107
+ waitUntilCopyJobFinished({ copyJobInfo, siteUrl, pollingInterval, resolve, reject, logger, debug, verbose }) {
103
108
  const requestUrl = `${siteUrl}/_api/site/GetCopyJobProgress`;
104
109
  const requestOptions = {
105
110
  url: requestUrl,
@@ -109,10 +114,6 @@ exports.spo = {
109
114
  data: { "copyJobInfo": copyJobInfo },
110
115
  responseType: 'json'
111
116
  };
112
- if (!debug && verbose) {
113
- dots += '.';
114
- process.stdout.write(`\r${dots}`);
115
- }
116
117
  request_1.default
117
118
  .post(requestOptions)
118
119
  .then((resp) => {
@@ -139,7 +140,7 @@ exports.spo = {
139
140
  }
140
141
  else {
141
142
  setTimeout(() => {
142
- exports.spo.waitUntilCopyJobFinished({ copyJobInfo, siteUrl, pollingInterval, resolve, reject, logger, dots, debug, verbose });
143
+ exports.spo.waitUntilCopyJobFinished({ copyJobInfo, siteUrl, pollingInterval, resolve, reject, logger, debug, verbose });
143
144
  }, pollingInterval);
144
145
  }
145
146
  });
@@ -237,6 +238,24 @@ exports.spo = {
237
238
  });
238
239
  });
239
240
  },
241
+ /**
242
+ * Returns the Graph id of a site
243
+ * @param webUrl web url e.g. https://contoso.sharepoint.com/sites/site1
244
+ */
245
+ getSpoGraphSiteId(webUrl) {
246
+ return __awaiter(this, void 0, void 0, function* () {
247
+ const url = new URL(webUrl);
248
+ const requestOptions = {
249
+ url: `https://graph.microsoft.com/v1.0/sites/${url.hostname}:${url.pathname}?$select=id`,
250
+ headers: {
251
+ 'accept': 'application/json;odata.metadata=none'
252
+ },
253
+ responseType: 'json'
254
+ };
255
+ const result = yield request_1.default.get(requestOptions);
256
+ return result.id;
257
+ });
258
+ },
240
259
  /**
241
260
  * Ensures the folder path exists
242
261
  * @param webFullUrl web full url e.g. https://contoso.sharepoint.com/sites/site1
@@ -429,6 +448,94 @@ exports.spo = {
429
448
  reject('Cannot proceed. Folder _ObjectIdentity_ not found'); // this is not suppose to happen
430
449
  }, (err) => { reject(err); });
431
450
  });
451
+ },
452
+ /**
453
+ * Retrieves the SiteId, VroomItemId and VroomDriveId from a specific file.
454
+ * @param webUrl Web url
455
+ * @param fileId GUID ID of the file
456
+ * @param fileUrl Decoded URL of the file
457
+ */
458
+ getVroomFileDetails(webUrl, fileId, fileUrl) {
459
+ return __awaiter(this, void 0, void 0, function* () {
460
+ let requestUrl = `${webUrl}/_api/web/`;
461
+ if (fileUrl) {
462
+ const fileServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(webUrl, fileUrl);
463
+ requestUrl += `GetFileByServerRelativePath(decodedUrl='${formatting_1.formatting.encodeQueryParameter(fileServerRelativeUrl)}')`;
464
+ }
465
+ else {
466
+ requestUrl += `GetFileById('${fileId}')`;
467
+ }
468
+ requestUrl += '?$select=SiteId,VroomItemId,VroomDriveId';
469
+ const requestOptions = {
470
+ url: requestUrl,
471
+ headers: {
472
+ accept: 'application/json;odata=nometadata'
473
+ },
474
+ responseType: 'json'
475
+ };
476
+ const res = yield request_1.default.get(requestOptions);
477
+ return res;
478
+ });
479
+ },
480
+ /**
481
+ * Retrieves a list of Custom Actions from a SharePoint site.
482
+ * @param webUrl Web url
483
+ * @param scope The scope of custom actions to retrieve, allowed values "Site", "Web" or "All".
484
+ * @param filter An OData filter query to limit the results.
485
+ */
486
+ getCustomActions(webUrl, scope, filter) {
487
+ return __awaiter(this, void 0, void 0, function* () {
488
+ if (scope && scope !== "All" && scope !== "Site" && scope !== "Web") {
489
+ throw `Invalid scope '${scope}'. Allowed values are 'Site', 'Web' or 'All'.`;
490
+ }
491
+ const queryString = filter ? `?$filter=${filter}` : "";
492
+ if (scope && scope !== "All") {
493
+ return yield odata_1.odata.getAllItems(`${webUrl}/_api/${scope}/UserCustomActions${queryString}`);
494
+ }
495
+ const customActions = [
496
+ ...yield odata_1.odata.getAllItems(`${webUrl}/_api/Site/UserCustomActions${queryString}`),
497
+ ...yield odata_1.odata.getAllItems(`${webUrl}/_api/Web/UserCustomActions${queryString}`)
498
+ ];
499
+ return customActions;
500
+ });
501
+ },
502
+ /**
503
+ * Retrieves a Custom Actions from a SharePoint site by Id.
504
+ * @param webUrl Web url
505
+ * @param id The Id of the Custom Action
506
+ * @param scope The scope of custom actions to retrieve, allowed values "Site", "Web" or "All".
507
+ */
508
+ getCustomActionById(webUrl, id, scope) {
509
+ return __awaiter(this, void 0, void 0, function* () {
510
+ if (scope && scope !== "All" && scope !== "Site" && scope !== "Web") {
511
+ throw `Invalid scope '${scope}'. Allowed values are 'Site', 'Web' or 'All'.`;
512
+ }
513
+ function getById(webUrl, id, scope) {
514
+ return __awaiter(this, void 0, void 0, function* () {
515
+ const requestOptions = {
516
+ url: `${webUrl}/_api/${scope}/UserCustomActions(guid'${id}')`,
517
+ headers: {
518
+ accept: 'application/json;odata=nometadata'
519
+ },
520
+ responseType: 'json'
521
+ };
522
+ const result = yield request_1.default.get(requestOptions);
523
+ if (result["odata.null"] === true) {
524
+ return undefined;
525
+ }
526
+ return result;
527
+ });
528
+ }
529
+ if (scope && scope !== "All") {
530
+ return yield getById(webUrl, id, scope);
531
+ }
532
+ const customActionOnWeb = yield getById(webUrl, id, "Web");
533
+ if (customActionOnWeb) {
534
+ return customActionOnWeb;
535
+ }
536
+ const customActionOnSite = yield getById(webUrl, id, "Site");
537
+ return customActionOnSite;
538
+ });
432
539
  }
433
540
  };
434
541
  //# sourceMappingURL=spo.js.map
@@ -23,6 +23,7 @@ m365 aad app list
23
23
  ## Response
24
24
 
25
25
  === "JSON"
26
+
26
27
  ```json
27
28
  [
28
29
  {
@@ -136,6 +137,7 @@ m365 aad app list
136
137
  ```
137
138
 
138
139
  === "Text"
140
+
139
141
  ```text
140
142
  appId id displayName signInAudience
141
143
  ------------------------------------ ------------------------------------ ----------------------------------------------------------------------- ----------------------------------
@@ -143,6 +145,7 @@ m365 aad app list
143
145
  ```
144
146
 
145
147
  === "CSV"
148
+
146
149
  ```csv
147
150
  appId,id,displayName,signInAudience
148
151
  61ed4fab-a861-4307-bb87-a6a53dbe39f5,ff2798f7-1c7a-4607-8a7b-3d5e0c18c756,TestAppPermissions,AzureADMyOrg
@@ -0,0 +1,87 @@
1
+ # aad license list
2
+
3
+ Lists commercial subscriptions that an organization has acquired
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 aad license list [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ --8<-- "docs/cmd/_global.md"
14
+
15
+ ## Examples
16
+
17
+ List all licenses within the tenant
18
+
19
+ ```sh
20
+ m365 aad license list
21
+ ```
22
+
23
+ ## Response
24
+
25
+ === "JSON"
26
+
27
+ ```json
28
+ [
29
+ {
30
+ "capabilityStatus": "Enabled",
31
+ "consumedUnits": 1,
32
+ "id": "48a80680-7326-48cd-9935-b556b81d3a4e_c7df2760-2c81-4ef7-b578-5b5392b571df",
33
+ "skuId": "c7df2760-2c81-4ef7-b578-5b5392b571df",
34
+ "skuPartNumber": "ENTERPRISEPREMIUM",
35
+ "appliesTo": "User",
36
+ "prepaidUnits": {
37
+ "enabled": 10000,
38
+ "suspended": 0,
39
+ "warning": 0
40
+ },
41
+ "servicePlans": [
42
+ {
43
+ "servicePlanId": "8c098270-9dd4-4350-9b30-ba4703f3b36b",
44
+ "servicePlanName": "ADALLOM_S_O365",
45
+ "provisioningStatus": "Success",
46
+ "appliesTo": "User"
47
+ }
48
+ ]
49
+ }
50
+ ]
51
+ ```
52
+
53
+ === "Text"
54
+
55
+ ```text
56
+ id skuId skuPartNumber
57
+ ------------------------------------------------------------------------- ------------------------------------ ----------------------
58
+ 48a80680-7326-48cd-9935-b556b81d3a4e_c7df2760-2c81-4ef7-b578-5b5392b571df c7df2760-2c81-4ef7-b578-5b5392b571df ENTERPRISEPREMIUM
59
+ ```
60
+
61
+ === "CSV"
62
+
63
+ ```csv
64
+ id,skuId,skuPartNumber
65
+ 48a80680-7326-48cd-9935-b556b81d3a4e_c7df2760-2c81-4ef7-b578-5b5392b571df,c7df2760-2c81-4ef7-b578-5b5392b571df,ENTERPRISEPREMIUM
66
+ ```
67
+
68
+ === "Markdown"
69
+
70
+ ```md
71
+ # aad license list
72
+
73
+ Date: 14/2/2023
74
+
75
+ ## 48a80680-7326-48cd-9935-b556b81d3a4e_c7df2760-2c81-4ef7-b578-5b5392b571df
76
+
77
+ Property | Value
78
+ ---------|-------
79
+ capabilityStatus | Enabled
80
+ consumedUnits | 1
81
+ id | 48a80680-7326-48cd-9935-b556b81d3a4e_c7df2760-2c81-4ef7-b578-5b5392b571df
82
+ skuId | c7df2760-2c81-4ef7-b578-5b5392b571df
83
+ skuPartNumber | ENTERPRISEPREMIUM
84
+ appliesTo | User
85
+ prepaidUnits | {"enabled":10000,"suspended":0,"warning":0}
86
+ servicePlans | [{"servicePlanId":"8c098270-9dd4-4350-9b30-ba4703f3b36b","servicePlanName": "ADALLOM_S_O365","provisioningStatus": "Success","appliesTo": "User"}]
87
+ ```
@@ -0,0 +1,168 @@
1
+ # aad user add
2
+
3
+ Creates a new user
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 aad user add [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ `--displayName <displayName>`
14
+ : The name to display in the address book for the user.
15
+
16
+ `--userName <userName>`
17
+ : The user principal name (someuser@contoso.com).
18
+
19
+ `--accountEnabled [accountEnabled]`
20
+ : Whether the account is enabled. Possible values: `true`, `false`. Default value is `true`.
21
+
22
+ `--mailNickname [mailNickname]`
23
+ : The mail alias for the user. By default this value will be extracted from `userName`.
24
+
25
+ `--password [password]`
26
+ : The password for the user. When not specified, a password will be generated.
27
+
28
+ `--firstName [firstName]`
29
+ : The given name (first name) of the user. Maximum length is 64 characters.
30
+
31
+ `--lastName [lastName]`
32
+ : The user's surname (family name or last name). Maximum length is 64 characters.
33
+
34
+ `--forceChangePasswordNextSignIn`
35
+ : Whether the user should change his/her password on the next login.
36
+
37
+ `--forceChangePasswordNextSignInWithMfa`
38
+ : Whether the user should change his/her password on the next login and setup MFA.
39
+
40
+ `--usageLocation [usageLocation]`
41
+ : A two letter [country code](https://learn.microsoft.com/en-us/partner-center/commercial-marketplace-co-sell-location-codes#country-and-region-codes) (ISO standard 3166). Required for users that will be assigned licenses.
42
+
43
+ `--officeLocation [officeLocation]`
44
+ : The office location in the user's place of business.
45
+
46
+ `--jobTitle [jobTitle]`
47
+ : The user's job title. Maximum length is 128 characters.
48
+
49
+ `--companyName [companyName]`
50
+ : The company name which the user is associated. The maximum length is 64 characters.
51
+
52
+ `--department [department]`
53
+ : The name for the department in which the user works. Maximum length is 64 characters.
54
+
55
+ `--preferredLanguage [preferredLanguage]`
56
+ : The preferred language for the user. Should follow [ISO 639-1 Code](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oe376/6c085406-a698-4e12-9d4d-c3b0ee3dbc4a). Example: `en-US`.
57
+
58
+ `--managerUserId [managerUserId]`
59
+ : User ID of the user's manager. Specify `managerUserId` or `managerUserName` but not both.
60
+
61
+ `--managerUserName [managerUserName]`
62
+ : User principal name of the manager. Specify `managerUserId` or `managerUserName` but not both.
63
+
64
+ --8<-- "docs/cmd/_global.md"
65
+
66
+ ## Remarks
67
+
68
+ !!! important
69
+ To use this command you must be a Global administrator, User administrator or Privileged Authentication administrator
70
+
71
+ !!! note
72
+ After running this command, it may take a minute before the user is effectively created in the tenant.
73
+
74
+ ## Examples
75
+
76
+ Create a user and let him/her update the password at first login
77
+
78
+ ```sh
79
+ m365 aad user add --displayName "John Doe" --userName "john.doe@contoso.com" --password "SomePassw0rd" --forceChangePasswordNextSignIn
80
+ ```
81
+
82
+ Create a user with job information
83
+
84
+ ```sh
85
+ m365 aad user add --displayName "John Doe" --userName "john.doe@contoso.com" --password "SomePassw0rd" --firstName John --lastName Doe --jobTitle "Sales Manager" --companyName Contoso --department Sales --officeLocation Vosselaar --forceChangePasswordNextSignIn
86
+ ```
87
+
88
+ Create a user with language information
89
+
90
+ ```sh
91
+ m365 aad user add --displayName "John Doe" --userName "john.doe@contoso.com" --preferredLanguage "nl-BE" --usageLocation BE --forceChangePasswordNextSignIn
92
+ ```
93
+
94
+ Create a user with a manager
95
+
96
+ ```sh
97
+ m365 aad user add --displayName "John Doe" --userName "john.doe@contoso.com" --managerUserName "adele@contoso.com"
98
+ ```
99
+
100
+ ## Response
101
+
102
+ === "JSON"
103
+
104
+ ```json
105
+ {
106
+ "id": "990e2425-f595-43bc-85ed-b89a44093793",
107
+ "businessPhones": [],
108
+ "displayName": "John Doe",
109
+ "givenName": "John",
110
+ "jobTitle": "Sales Manager",
111
+ "mail": null,
112
+ "mobilePhone": null,
113
+ "officeLocation": "Vosselaar",
114
+ "preferredLanguage": "nl-BE",
115
+ "surname": "Doe",
116
+ "userPrincipalName": "john.doe@contoso.com",
117
+ "password": "SomePassw0rd"
118
+ }
119
+ ```
120
+
121
+ === "Text"
122
+
123
+ ```text
124
+ businessPhones : []
125
+ displayName : John Doe
126
+ givenName : John
127
+ id : 990e2425-f595-43bc-85ed-b89a44093793
128
+ jobTitle : Sales Manager
129
+ mail : null
130
+ mobilePhone : null
131
+ officeLocation : Vosselaar
132
+ password : SomePassw0rd
133
+ preferredLanguage: nl-BE
134
+ surname : Doe
135
+ userPrincipalName: john.doe@contoso.com
136
+ ```
137
+
138
+ === "CSV"
139
+
140
+ ```csv
141
+ id,businessPhones,displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,preferredLanguage,surname,userPrincipalName,password
142
+ 990e2425-f595-43bc-85ed-b89a44093793,[],John Doe,John,Sales Manager,,,Vosselaar,nl-BE,Doe,john.doe@contoso.com,SomePassw0rd
143
+ ```
144
+
145
+ === "Markdown"
146
+
147
+ ```md
148
+ # aad user add --displayName "John Doe" --userName "john.doe@contoso.com" --password "SomePassw0rd" --firstName "John" --lastName "Doe" --jobTitle "Sales Manager" --officeLocation "Vosselaar" --preferredLanguage "nl-BE"
149
+
150
+ Date: 16/02/2023
151
+
152
+ ## John Doe (990e2425-f595-43bc-85ed-b89a44093793)
153
+
154
+ Property | Value
155
+ ---------|-------
156
+ id | 990e2425-f595-43bc-85ed-b89a44093793
157
+ businessPhones | []
158
+ displayName | John Doe
159
+ givenName | John
160
+ jobTitle | Sales Manager
161
+ mail | null
162
+ mobilePhone | null
163
+ officeLocation | Vosselaar
164
+ preferredLanguage | nl-BE
165
+ surname | Doe
166
+ userPrincipalName | john.doe@contoso.com
167
+ password | SomePassw0rd
168
+ ```
@@ -0,0 +1,108 @@
1
+ # aad user license add
2
+
3
+ Assigns a license to a user
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 aad user license add [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ `--userId [userId]`
14
+ : The ID of the user. Specify either `userId` or `userName` but not both.
15
+
16
+ `--userName [userName]`
17
+ : User principal name of the user. Specify either `userId` or `userName` but not both.
18
+
19
+ `--ids <ids>`
20
+ : A comma separated list of IDs that specify the licenses to add.
21
+
22
+ --8<-- "docs/cmd/_global.md"
23
+
24
+ ## Remarks
25
+
26
+ !!! important
27
+ The user must have a `usageLocation` value in order to assign a license to it.
28
+
29
+ ## Examples
30
+
31
+ Assign specific licenses to a specific user by UPN
32
+
33
+ ```sh
34
+ m365 user license add --userName "john.doe@contoso.com" --ids "45715bb8-13f9-4bf6-927f-ef96c102d394,bea13e0c-3828-4daa-a392-28af7ff61a0f"
35
+ ```
36
+
37
+ Assign specific licenses from a specific user by ID
38
+
39
+ ```sh
40
+ m365 user license add --userId "5c241023-2ba5-4ea8-a516-a2481a3e6c51" --ids "45715bb8-13f9-4bf6-927f-ef96c102d394,bea13e0c-3828-4daa-a392-28af7ff61a0f"
41
+ ```
42
+
43
+ ## Response
44
+
45
+ === "JSON"
46
+
47
+ ```json
48
+ {
49
+ "businessPhones": [],
50
+ "displayName": "John Doe",
51
+ "givenName": null,
52
+ "jobTitle": null,
53
+ "mail": "John@contoso.onmicrosoft.com",
54
+ "mobilePhone": null,
55
+ "officeLocation": null,
56
+ "preferredLanguage": null,
57
+ "surname": null,
58
+ "userPrincipalName": "John@contoso.onmicrosoft.com",
59
+ "id": "eb77fbcf-6fe8-458b-985d-1747284793bc"
60
+ }
61
+ ```
62
+
63
+ === "Text"
64
+
65
+ ```text
66
+ businessPhones : []
67
+ displayName : John Doe
68
+ givenName : null
69
+ id : eb77fbcf-6fe8-458b-985d-1747284793bc
70
+ jobTitle : null
71
+ mail : John@contoso.onmicrosoft.com
72
+ mobilePhone : null
73
+ officeLocation : null
74
+ preferredLanguage: null
75
+ surname : null
76
+ userPrincipalName: John@contoso.onmicrosoft.com
77
+ ```
78
+
79
+ === "CSV"
80
+
81
+ ```csv
82
+ businessPhones,displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id
83
+ [],John Doe,,,John@contoso.onmicrosoft.com,,,,,John@contoso.onmicrosoft.com,eb77fbcf-6fe8-458b-985d-1747284793bc
84
+ ```
85
+
86
+ === "Markdown"
87
+
88
+ ```md
89
+ # aad user license add --userName "John@contoso.onmicrosoft.com" --ids "f30db892-07e9-47e9-837c-80727f46fd3d,606b54a9-78d8-4298-ad8b-df6ef4481c80"
90
+
91
+ Date: 16/2/2023
92
+
93
+ ## John Doe (eb77fbcf-6fe8-458b-985d-1747284793bc)
94
+
95
+ Property | Value
96
+ ---------|-------
97
+ businessPhones | []
98
+ displayName | John Doe
99
+ givenName | null
100
+ jobTitle | null
101
+ mail | John@contoso.onmicrosoft.com
102
+ mobilePhone | null
103
+ officeLocation | null
104
+ preferredLanguage | null
105
+ surname | null
106
+ userPrincipalName | John@contoso.onmicrosoft.com
107
+ id | eb77fbcf-6fe8-458b-985d-1747284793bc
108
+ ```
@@ -0,0 +1,98 @@
1
+ # aad user license list
2
+
3
+ Lists the license details for a given user
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 aad user license list [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ `--userId [userId]`
14
+ : The ID of the user. Specify either `userId` or `userName` but not both.
15
+
16
+ `--userName [userName]`
17
+ : User principal name of the user. Specify either `userId` or `userName` but not both.
18
+
19
+ --8<-- "docs/cmd/_global.md"
20
+
21
+ ## Remarks
22
+
23
+ !!! tip
24
+ If you don't specify any option, the command will list the license details of the current logged in user. This does not work when using application permissions.
25
+
26
+ ## Examples
27
+
28
+ List license details of the current logged in user.
29
+
30
+ ```sh
31
+ m365 aad user license list
32
+ ```
33
+
34
+ List license details of a specific user by its UPN.
35
+
36
+ ```sh
37
+ m365 aad user license list --userName john.doe@contoso.com
38
+ ```
39
+
40
+ List license details of a specific user by its ID.
41
+
42
+ ```sh
43
+ m365 aad user license list --userId 59f80e08-24b1-41f8-8586-16765fd830d3
44
+ ```
45
+
46
+ ## Response
47
+
48
+ === "JSON"
49
+
50
+ ```json
51
+ [
52
+ {
53
+ "id": "x4s03usaBkSMs5fbAhyttK6cK8RP6rdKlxeBV2I1zKw",
54
+ "skuId": "c42b9cae-ea4f-4ab7-9717-81576235ccac",
55
+ "skuPartNumber": "DEVELOPERPACK_E5",
56
+ "servicePlans": [
57
+ {
58
+ "servicePlanId": "7547a3fe-08ee-4ccb-b430-5077c5041653",
59
+ "servicePlanName": "YAMMER_ENTERPRISE",
60
+ "provisioningStatus": "Success",
61
+ "appliesTo": "User"
62
+ }
63
+ ]
64
+ }
65
+ ]
66
+ ```
67
+
68
+ === "Text"
69
+
70
+ ```text
71
+ id : x4s03usaBkSMs5fbAhyttK6cK8RP6rdKlxeBV2I1zKw
72
+ skuId : c42b9cae-ea4f-4ab7-9717-81576235ccac
73
+ skuPartNumber: DEVELOPERPACK_E5
74
+ ```
75
+
76
+ === "CSV"
77
+
78
+ ```csv
79
+ id,skuId,skuPartNumber
80
+ x4s03usaBkSMs5fbAhyttK6cK8RP6rdKlxeBV2I1zKw,c42b9cae-ea4f-4ab7-9717-81576235ccac,DEVELOPERPACK_E5
81
+ ```
82
+
83
+ === "Markdown"
84
+
85
+ ```md
86
+ # aad user license list --userId "0c9c625f-faa9-4c3b-8cd8-d874b869f78c"
87
+
88
+ Date: 2/19/2023
89
+
90
+ ## x4s03usaBkSMs5fbAhyttK6cK8RP6rdKlxeBV2I1zKw
91
+
92
+ Property | Value
93
+ ---------|-------
94
+ id | x4s03usaBkSMs5fbAhyttK6cK8RP6rdKlxeBV2I1zKw
95
+ skuId | c42b9cae-ea4f-4ab7-9717-81576235ccac
96
+ skuPartNumber | DEVELOPERPACK\_E5
97
+ servicePlans | [{"servicePlanId":"7547a3fe-08ee-4ccb-b430-5077c5041653","servicePlanName":"YAMMER\_ENTERPRISE","provisioningStatus":"Success","appliesTo":"User"}]
98
+ ```