@pnp/cli-microsoft365 6.10.0-beta.81a81c0 → 6.10.0-beta.97b7eac

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 (140) hide show
  1. package/README.md +7 -5
  2. package/dist/Command.js +1 -1
  3. package/dist/cli/Cli.js +23 -8
  4. package/dist/m365/aad/commands/user/user-get.js +7 -1
  5. package/dist/m365/booking/commands/business/business-get.js +14 -15
  6. package/dist/m365/cli/commands/config/config-set.js +1 -1
  7. package/dist/m365/pa/commands/app/app-owner-set.js +115 -0
  8. package/dist/m365/pa/commands/app/app-permission-list.js +104 -0
  9. package/dist/m365/pa/commands.js +2 -0
  10. package/dist/m365/planner/commands/bucket/bucket-add.js +14 -10
  11. package/dist/m365/planner/commands/bucket/bucket-get.js +25 -19
  12. package/dist/m365/planner/commands/bucket/bucket-list.js +14 -10
  13. package/dist/m365/planner/commands/bucket/bucket-remove.js +26 -20
  14. package/dist/m365/planner/commands/bucket/bucket-set.js +26 -28
  15. package/dist/m365/planner/commands/roster/roster-member-add.js +3 -14
  16. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +19 -17
  17. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +19 -17
  18. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +35 -34
  19. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.18.0-beta.1.js +23 -0
  20. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  21. package/dist/m365/spfx/commands/project/project-externalize/rules/DynamicRule.js +59 -51
  22. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  23. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.18.0-beta.1.js +61 -0
  24. package/dist/m365/spfx/commands/project/project-upgrade.js +16 -13
  25. package/dist/m365/spfx/commands/spfx-doctor.js +15 -0
  26. package/dist/m365/spo/commands/folder/folder-remove.js +30 -28
  27. package/dist/m365/spo/commands/list/list-roleassignment-add.js +9 -47
  28. package/dist/m365/spo/commands/page/page-remove.js +33 -31
  29. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +25 -23
  30. package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -3
  31. package/dist/m365/spo/commands/site/site-commsite-enable.js +9 -18
  32. package/dist/m365/spo/commands/site/site-set.js +10 -2
  33. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +12 -15
  34. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +80 -2
  35. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +48 -48
  36. package/dist/m365/spo/commands/theme/theme-get.js +1 -2
  37. package/dist/m365/teams/commands/chat/chat-get.js +4 -4
  38. package/dist/m365/teams/commands/chat/chat-member-add.js +117 -0
  39. package/dist/m365/teams/commands/chat/chat-message-send.js +4 -4
  40. package/dist/m365/teams/commands/meeting/meeting-get.js +16 -24
  41. package/dist/m365/teams/commands/meeting/meeting-list.js +2 -15
  42. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  43. package/dist/m365/teams/commands.js +1 -0
  44. package/dist/utils/spo.js +74 -0
  45. package/docs/docs/_clisettings.mdx +17 -0
  46. package/docs/docs/cmd/_global.mdx +1 -1
  47. package/docs/docs/cmd/aad/user/user-get.mdx +118 -25
  48. package/docs/docs/cmd/pa/app/app-get.mdx +1 -1
  49. package/docs/docs/cmd/pa/app/app-list.mdx +1 -1
  50. package/docs/docs/cmd/pa/app/app-owner-set.mdx +60 -0
  51. package/docs/docs/cmd/pa/app/app-permission-list.mdx +132 -0
  52. package/docs/docs/cmd/planner/bucket/bucket-add.mdx +21 -4
  53. package/docs/docs/cmd/planner/bucket/bucket-get.mdx +22 -5
  54. package/docs/docs/cmd/planner/bucket/bucket-list.mdx +21 -4
  55. package/docs/docs/cmd/planner/bucket/bucket-remove.mdx +21 -4
  56. package/docs/docs/cmd/planner/bucket/bucket-set.mdx +22 -5
  57. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.mdx +1 -1
  58. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.mdx +1 -1
  59. package/docs/docs/cmd/pp/card/card-clone.mdx +1 -1
  60. package/docs/docs/cmd/pp/card/card-get.mdx +1 -1
  61. package/docs/docs/cmd/pp/card/card-list.mdx +1 -1
  62. package/docs/docs/cmd/pp/chatbot/chatbot-get.mdx +1 -1
  63. package/docs/docs/cmd/pp/chatbot/chatbot-list.mdx +1 -1
  64. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +1 -1
  65. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +1 -1
  66. package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +1 -1
  67. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.mdx +1 -1
  68. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-remove.mdx +1 -1
  69. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
  70. package/docs/docs/cmd/spo/site/site-add.mdx +35 -0
  71. package/docs/docs/cmd/spo/site/site-appcatalog-add.mdx +5 -1
  72. package/docs/docs/cmd/spo/site/site-appcatalog-list.mdx +14 -0
  73. package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +4 -0
  74. package/docs/docs/cmd/spo/site/site-apppermission-add.mdx +68 -0
  75. package/docs/docs/cmd/spo/site/site-apppermission-get.mdx +55 -0
  76. package/docs/docs/cmd/spo/site/site-apppermission-list.mdx +55 -0
  77. package/docs/docs/cmd/spo/site/site-apppermission-remove.mdx +4 -0
  78. package/docs/docs/cmd/spo/site/site-apppermission-set.mdx +66 -0
  79. package/docs/docs/cmd/spo/site/site-chrome-set.mdx +4 -0
  80. package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +11 -1
  81. package/docs/docs/cmd/spo/site/site-ensure.mdx +70 -0
  82. package/docs/docs/cmd/spo/site/site-get.mdx +179 -0
  83. package/docs/docs/cmd/spo/site/site-groupify.mdx +54 -0
  84. package/docs/docs/cmd/spo/site/site-hubsite-connect.mdx +4 -0
  85. package/docs/docs/cmd/spo/site/site-hubsite-disconnect.mdx +4 -0
  86. package/docs/docs/cmd/spo/site/site-hubsite-theme-sync.mdx +5 -1
  87. package/docs/docs/cmd/spo/site/site-inplacerecordsmanagement-set.mdx +4 -0
  88. package/docs/docs/cmd/spo/site/site-list.mdx +303 -0
  89. package/docs/docs/cmd/spo/site/site-recyclebinitem-list.mdx +80 -0
  90. package/docs/docs/cmd/spo/site/site-recyclebinitem-restore.mdx +4 -0
  91. package/docs/docs/cmd/spo/site/site-remove.mdx +4 -0
  92. package/docs/docs/cmd/spo/site/site-rename.mdx +92 -0
  93. package/docs/docs/cmd/spo/site/site-set.mdx +13 -0
  94. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.mdx +116 -0
  95. package/docs/docs/cmd/spo/sitedesign/sitedesign-apply.mdx +125 -0
  96. package/docs/docs/cmd/spo/sitedesign/sitedesign-get.mdx +117 -0
  97. package/docs/docs/cmd/spo/sitedesign/sitedesign-list.mdx +94 -0
  98. package/docs/docs/cmd/spo/sitedesign/sitedesign-remove.mdx +4 -0
  99. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.mdx +4 -0
  100. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.mdx +54 -0
  101. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.mdx +4 -0
  102. package/docs/docs/cmd/spo/sitedesign/sitedesign-run-list.mdx +66 -0
  103. package/docs/docs/cmd/spo/sitedesign/sitedesign-run-status-get.mdx +65 -0
  104. package/docs/docs/cmd/spo/sitedesign/sitedesign-set.mdx +117 -0
  105. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.mdx +61 -0
  106. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-list.mdx +60 -0
  107. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.mdx +4 -0
  108. package/docs/docs/cmd/spo/sitescript/sitescript-add.mdx +75 -0
  109. package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +62 -0
  110. package/docs/docs/cmd/spo/sitescript/sitescript-list.mdx +60 -0
  111. package/docs/docs/cmd/spo/sitescript/sitescript-remove.mdx +4 -0
  112. package/docs/docs/cmd/spo/sitescript/sitescript-set.mdx +63 -0
  113. package/docs/docs/cmd/spo/storageentity/storageentity-get.mdx +53 -0
  114. package/docs/docs/cmd/spo/storageentity/storageentity-list.mdx +54 -0
  115. package/docs/docs/cmd/spo/storageentity/storageentity-remove.mdx +4 -0
  116. package/docs/docs/cmd/spo/storageentity/storageentity-set.mdx +4 -0
  117. package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.mdx +4 -0
  118. package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.mdx +35 -0
  119. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-get.mdx +1 -1
  120. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +1 -1
  121. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
  122. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-set.mdx +12 -3
  123. package/docs/docs/cmd/spo/tenant/tenant-commandset-get.mdx +1 -1
  124. package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +1 -1
  125. package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
  126. package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
  127. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.mdx +67 -0
  128. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.mdx +4 -0
  129. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.mdx +50 -0
  130. package/docs/docs/cmd/spo/tenant/tenant-settings-list.mdx +729 -0
  131. package/docs/docs/cmd/spo/tenant/tenant-settings-set.mdx +5 -0
  132. package/docs/docs/cmd/spo/theme/theme-apply.mdx +35 -0
  133. package/docs/docs/cmd/spo/theme/theme-get.mdx +74 -0
  134. package/docs/docs/cmd/spo/theme/theme-list.mdx +52 -0
  135. package/docs/docs/cmd/spo/theme/theme-remove.mdx +4 -0
  136. package/docs/docs/cmd/spo/theme/theme-set.mdx +4 -0
  137. package/docs/docs/cmd/spo/userprofile/userprofile-get.mdx +1 -1
  138. package/docs/docs/cmd/teams/chat/chat-member-add.mdx +66 -0
  139. package/npm-shrinkwrap.json +212 -212
  140. package/package.json +10 -10
package/dist/utils/spo.js CHANGED
@@ -19,6 +19,7 @@ const base_permissions_1 = require("../m365/spo/base-permissions");
19
19
  const request_1 = require("../request");
20
20
  const formatting_1 = require("./formatting");
21
21
  const odata_1 = require("./odata");
22
+ const RoleType_1 = require("../m365/spo/commands/roledefinition/RoleType");
22
23
  exports.spo = {
23
24
  getRequestDigest(siteUrl) {
24
25
  const requestOptions = {
@@ -569,6 +570,30 @@ exports.spo = {
569
570
  return res.AadObjectId.NameId;
570
571
  });
571
572
  },
573
+ /**
574
+ * Retrieves the spo user by email.
575
+ * @param webUrl Web url
576
+ * @param email The email of the user
577
+ * @param logger the Logger object
578
+ * @param debug set if debug logging should be logged
579
+ */
580
+ getUserByEmail(webUrl, email, logger, debug) {
581
+ return __awaiter(this, void 0, void 0, function* () {
582
+ if (debug) {
583
+ logger.logToStderr(`Retrieving the spo user by email ${email}`);
584
+ }
585
+ const requestUrl = `${webUrl}/_api/web/siteusers/GetByEmail('${formatting_1.formatting.encodeQueryParameter(email)}')`;
586
+ const requestOptions = {
587
+ url: requestUrl,
588
+ headers: {
589
+ 'accept': 'application/json;odata=nometadata'
590
+ },
591
+ responseType: 'json'
592
+ };
593
+ const userInstance = yield request_1.default.get(requestOptions);
594
+ return userInstance;
595
+ });
596
+ },
572
597
  /**
573
598
  * Retrieves the menu state for the quick launch.
574
599
  * @param webUrl Web url
@@ -628,6 +653,55 @@ exports.spo = {
628
653
  };
629
654
  return request_1.default.post(requestOptions);
630
655
  });
656
+ },
657
+ /**
658
+ * Retrieves the spo group by name.
659
+ * @param webUrl Web url
660
+ * @param name The name of the group
661
+ * @param logger the Logger object
662
+ * @param debug set if debug logging should be logged
663
+ */
664
+ getGroupByName(webUrl, name, logger, debug) {
665
+ return __awaiter(this, void 0, void 0, function* () {
666
+ if (debug) {
667
+ logger.logToStderr(`Retrieving the group by name ${name}`);
668
+ }
669
+ const requestUrl = `${webUrl}/_api/web/sitegroups/GetByName('${formatting_1.formatting.encodeQueryParameter(name)}')`;
670
+ const requestOptions = {
671
+ url: requestUrl,
672
+ headers: {
673
+ 'accept': 'application/json;odata=nometadata'
674
+ },
675
+ responseType: 'json'
676
+ };
677
+ const groupInstance = yield request_1.default.get(requestOptions);
678
+ return groupInstance;
679
+ });
680
+ },
681
+ /**
682
+ * Retrieves the role definition by name.
683
+ * @param webUrl Web url
684
+ * @param name the name of the role definition
685
+ * @param logger the Logger object
686
+ * @param debug set if debug logging should be logged
687
+ */
688
+ getRoleDefinitionByName(webUrl, name, logger, debug) {
689
+ return __awaiter(this, void 0, void 0, function* () {
690
+ if (debug) {
691
+ logger.logToStderr(`Retrieving the role definitions for ${name}`);
692
+ }
693
+ const roledefinitions = yield odata_1.odata.getAllItems(`${webUrl}/_api/web/roledefinitions`);
694
+ const roledefinition = roledefinitions.find((role) => role.Name === name);
695
+ if (!roledefinition) {
696
+ throw `No roledefinition is found for ${name}`;
697
+ }
698
+ const permissions = new base_permissions_1.BasePermissions();
699
+ permissions.high = roledefinition.BasePermissions.High;
700
+ permissions.low = roledefinition.BasePermissions.Low;
701
+ roledefinition.BasePermissionsValue = permissions.parse();
702
+ roledefinition.RoleTypeKindValue = RoleType_1.RoleType[roledefinition.RoleTypeKind];
703
+ return roledefinition;
704
+ });
631
705
  }
632
706
  };
633
707
  //# sourceMappingURL=spo.js.map
@@ -0,0 +1,17 @@
1
+ Setting name|Definition|Default value
2
+ ------------|----------|-------------
3
+ `autoOpenLinksInBrowser`|Automatically open the browser for all commands which return a url and expect the user to copy paste this to the browser. For example when logging in, using `m365 login` in device code mode.|`false`
4
+ `copyDeviceCodeToClipboard`|Automatically copy the device code to the clipboard when running `m365 login` command in device code mode|`false`
5
+ `csvEscape`|Single character used for escaping; only apply to characters matching the quote and the escape options|`"`
6
+ `csvHeader`|Display the column names on the first line|`true`
7
+ `csvQuote`|The quote characters surrounding a field. An empty quote value will preserve the original field, whether it contains quotation marks or not.|` `
8
+ `csvQuoted`|Quote all the non-empty fields even if not required|`false`
9
+ `csvQuotedEmpty`|Quote empty strings and overrides quoted_string on empty strings when defined|`false`
10
+ `disableTelemetry`|Disables sending of telemetry data|`false`
11
+ `errorOutput`|Defines if errors should be written to `stdout` or `stderr`|`stderr`
12
+ `helpMode`|Defines what part of command's help to display. Allowed values are `options`, `examples`, `remarks`, `response`, `full`|`full`
13
+ `output`|Defines the default output when issuing a command. Allowed values are `json`, `text`, `csv`, `md`, `none`|`json`
14
+ `printErrorsAsPlainText`|When output mode is set to `json`, print error messages as plain-text rather than JSON|`true`
15
+ `prompt`|Prompts for missing values in required options and enables interactive selection when multiple values are available for a command that requires a specific value to be retrieved.|`false`
16
+ `showHelpOnFailure`|Automatically display help when executing a command failed|`true`
17
+ `showSpinner`|Display spinner when executing commands|`true`
@@ -6,7 +6,7 @@
6
6
  : JMESPath query string. See [http://jmespath.org/](http://jmespath.org/) for more information and examples.
7
7
 
8
8
  `-o, --output [output]`
9
- : Output type. `json`, `text`, `csv`, `md`. Default `json`.
9
+ : Output type. `json`, `text`, `csv`, `md`, `none`. Default `json`.
10
10
 
11
11
  `--verbose`
12
12
  : Runs command with verbose logging.
@@ -25,7 +25,10 @@ m365 aad user get [options]
25
25
  : The email of the user to retrieve information for. Use either `id`, `userName` or `email`, but not all.
26
26
 
27
27
  `-p, --properties [properties]`
28
- : Comma-separated list of properties to retrieve
28
+ : Comma-separated list of properties to retrieve.
29
+
30
+ `--withManager`
31
+ : Retrieve the direct manager of the user.
29
32
  ```
30
33
 
31
34
  <Global />
@@ -74,24 +77,113 @@ Get information about the currently logged in user using the UserName token
74
77
  m365 aad user get --userName "@meUserName"
75
78
  ```
76
79
 
80
+ Get information about a user with the manager's details
81
+
82
+ ```sh
83
+ m365 aad user get --userName AarifS@contoso.onmicrosoft.com --withManager
84
+ ```
85
+
77
86
  ## Response
78
87
 
88
+ ### Standard response
89
+
90
+ <Tabs>
91
+ <TabItem value="JSON">
92
+
93
+ ```json
94
+ {
95
+ "businessPhones": ["+32499-99-99-99"],
96
+ "displayName": "John Doe",
97
+ "givenName": "John",
98
+ "jobTitle": "Sales Manager",
99
+ "mail": "john.doe@contoso.com",
100
+ "mobilePhone": "+32499-99-99-99",
101
+ "officeLocation": "Vosselaar",
102
+ "preferredLanguage": "nl-BE",
103
+ "surname": "Doe",
104
+ "userPrincipalName": "john.doe@contoso.com",
105
+ "id": "990e2425-f595-43bc-85ed-b89a44093793"
106
+ }
107
+ ```
108
+
109
+ </TabItem>
110
+ <TabItem value="Text">
111
+
112
+ ```text
113
+ businessPhones : ["+32499-99-99-99"]
114
+ displayName : John Doe
115
+ givenName : John
116
+ id : 990e2425-f595-43bc-85ed-b89a44093793
117
+ jobTitle : Sales Manager
118
+ mail : john.doe@contoso.com
119
+ mobilePhone : +32499-99-99-99
120
+ officeLocation : Vosselaar
121
+ preferredLanguage: nl-BE
122
+ surname : Doe
123
+ userPrincipalName: john.doe@contoso.com
124
+ ```
125
+
126
+ </TabItem>
127
+ <TabItem value="CSV">
128
+
129
+ ```csv
130
+ displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id
131
+ John Doe,John,Sales Manager,john.doe@contoso.com,+32499-99-99-99,Vosselaar,nl-BE,Doe,john.doe@contoso.com,990e2425-f595-43bc-85ed-b89a44093793
132
+ ```
133
+
134
+ </TabItem>
135
+ <TabItem value="Markdown">
136
+
137
+ ```md
138
+ # aad user get --userName "john.doe@contoso.com"
139
+
140
+ Date: 16/02/2023
141
+
142
+ ## John Doe (990e2425-f595-43bc-85ed-b89a44093793)
143
+
144
+ Property | Value
145
+ ---------|-------
146
+ displayName | John Doe
147
+ givenName | John
148
+ jobTitle | Sales Manager
149
+ mail | john.doe@contoso.com
150
+ mobilePhone | +32499-99-99-99
151
+ officeLocation | Vosselaar
152
+ preferredLanguage | nl-BE
153
+ surname | Doe
154
+ userPrincipalName | john.doe@contoso.com
155
+ id | 990e2425-f595-43bc-85ed-b89a44093793
156
+ ```
157
+
158
+ </TabItem>
159
+ </Tabs>
160
+
161
+ ### `withManager` response
162
+
163
+ When we make use of the option `withManager` the response will differ.
164
+
79
165
  <Tabs>
80
166
  <TabItem value="JSON">
81
167
 
82
168
  ```json
83
169
  {
84
- "businessPhones": [],
170
+ "businessPhones": ["+32499-99-99-99"],
85
171
  "displayName": "John Doe",
86
- "givenName": null,
87
- "jobTitle": null,
88
- "mail": null,
89
- "mobilePhone": null,
90
- "officeLocation": null,
91
- "preferredLanguage": null,
92
- "surname": null,
172
+ "givenName": "John",
173
+ "jobTitle": "Sales Manager",
174
+ "mail": "john.doe@contoso.com",
175
+ "mobilePhone": "+32499-99-99-99",
176
+ "officeLocation": "Vosselaar",
177
+ "preferredLanguage": "nl-BE",
178
+ "surname": "Doe",
93
179
  "userPrincipalName": "john.doe@contoso.com",
94
- "id": "74a3b772-3122-447b-b9da-10895e238219"
180
+ "id": "990e2425-f595-43bc-85ed-b89a44093793",
181
+ "manager": {
182
+ "displayName": "Jane Doe",
183
+ "userPrincipalName": "jane.doe@contoso.com",
184
+ "id": "eb77fbcf-6fe8-458b-985d-1747284793bc",
185
+ "mail": "jane.doe@contoso.com"
186
+ }
95
187
  }
96
188
  ```
97
189
 
@@ -99,16 +191,17 @@ m365 aad user get --userName "@meUserName"
99
191
  <TabItem value="Text">
100
192
 
101
193
  ```text
102
- businessPhones : []
194
+ businessPhones : ["+32499-99-99-99"]
103
195
  displayName : John Doe
104
- givenName : null
105
- id : 74a3b772-3122-447b-b9da-10895e238219
106
- jobTitle : null
107
- mail : null
108
- mobilePhone : null
109
- officeLocation : null
110
- preferredLanguage: null
111
- surname : null
196
+ givenName : John
197
+ id : 990e2425-f595-43bc-85ed-b89a44093793
198
+ jobTitle : Sales Manager
199
+ mail : john.doe@contoso.com
200
+ manager : {"displayName":"Jane Doe","userPrincipalName":"jane.doe@contoso.com","id":"eb77fbcf-6fe8-458b-985d-1747284793bc","mail":"jane.doe@contoso.com"}
201
+ mobilePhone : +32499-99-99-99
202
+ officeLocation : Vosselaar
203
+ preferredLanguage: nl-BE
204
+ surname : Doe
112
205
  userPrincipalName: john.doe@contoso.com
113
206
  ```
114
207
 
@@ -116,15 +209,15 @@ m365 aad user get --userName "@meUserName"
116
209
  <TabItem value="CSV">
117
210
 
118
211
  ```csv
119
- displayName,userPrincipalName,id
120
- John Doe,john.doe@contoso.com,74a3b772-3122-447b-b9da-10895e238219
212
+ displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id
213
+ John Doe,John,Sales Manager,john.doe@contoso.com,+32499-99-99-99,Vosselaar,nl-BE,Doe,john.doe@contoso.com,990e2425-f595-43bc-85ed-b89a44093793
121
214
  ```
122
215
 
123
216
  </TabItem>
124
217
  <TabItem value="Markdown">
125
218
 
126
219
  ```md
127
- # aad user get --displayName "John Doe" --userName "john.doe@contoso.com" --password "SomePassw0rd" --firstName "John" --lastName "Doe" --jobTitle "Sales Manager" --officeLocation "Vosselaar" --preferredLanguage "nl-BE"
220
+ # aad user get --userName "john.doe@contoso.com" --withManager
128
221
 
129
222
  Date: 16/02/2023
130
223
 
@@ -135,13 +228,13 @@ m365 aad user get --userName "@meUserName"
135
228
  displayName | John Doe
136
229
  givenName | John
137
230
  jobTitle | Sales Manager
138
- mail | null
139
- mobilePhone | null
231
+ mail | john.doe@contoso.com
232
+ mobilePhone | +32499-99-99-99
140
233
  officeLocation | Vosselaar
141
234
  preferredLanguage | nl-BE
142
235
  surname | Doe
143
236
  userPrincipalName | john.doe@contoso.com
144
- id | 0649d0bd-53dc-4e1d-a357-76f1d92d447b
237
+ id | 990e2425-f595-43bc-85ed-b89a44093793
145
238
  ```
146
239
 
147
240
  </TabItem>
@@ -9,7 +9,7 @@ Gets information about the specified Microsoft Power App
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pa app get [options]
12
+ m365 pa app get [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -9,7 +9,7 @@ Lists all Power Apps apps
9
9
  ## Usage
10
10
 
11
11
  ```sh
12
- pa app list [options]
12
+ m365 pa app list [options]
13
13
  ```
14
14
 
15
15
  ## Options
@@ -0,0 +1,60 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # pa app owner set
6
+
7
+ Sets a new owner for a Power Apps app
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 pa app owner set [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `-e, --environmentName <environmentName>`
19
+ : The name of the environment.
20
+
21
+ `--appName <appName>`
22
+ : The name (GUID) of the Microsoft Power App.
23
+
24
+ `--userId [userId]`
25
+ : The Azure AD ID of the new owner. Specify either `userId` or `userName` but not both.
26
+
27
+ `--userName [userName]`
28
+ : The user principal name of the new owner. Specify either `userId` or `userName` but not both.
29
+
30
+ `--roleForOldAppOwner [roleForOldAppOwner]`
31
+ : Grant permissions for the previous owner. Allowed values: `CanView`, `CanEdit`. Don't specify a value to remove the previous owner from the app.
32
+ ```
33
+
34
+ <Global />
35
+
36
+ ## Remarks
37
+
38
+ :::info
39
+
40
+ To use this command you must be a Global or Power Platform admin.
41
+
42
+ :::
43
+
44
+ ## Examples
45
+
46
+ Set a new owner for a Power Apps app and make the previous owner co-owner
47
+
48
+ ```sh
49
+ m365 pa app owner set --environmentName Default-716eb9fb-bf79-4be9-b0c7-900824fcbe25 --appName 7ab97923-4a4d-4467-b030-12071d2b810b --userId c6ee6ed4-0172-4fdc-87a3-cfd9c324de1d --roleForOldAppOwner CanEdit
50
+ ```
51
+
52
+ Set a new owner for a Power Apps app and remove the previous owner
53
+
54
+ ```sh
55
+ m365 pa app owner set --environmentName Default-716eb9fb-bf79-4be9-b0c7-900824fcbe25 --appName 7ab97923-4a4d-4467-b030-12071d2b810b --userName john.doe@contoso.com
56
+ ```
57
+
58
+ ## Response
59
+
60
+ The command won't return a response on success.
@@ -0,0 +1,132 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # pa app permission list
6
+
7
+ Lists all permissions of a Power Apps app
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 pa app permission list [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `--appName <appName>`
19
+ : The name (GUID) of the Microsoft Power App.
20
+
21
+ `--roleName [roleName]`
22
+ : Filter the results to only a given role: `Owner`, `CanEdit`, `CanView`.
23
+
24
+ `--asAdmin`
25
+ : Run the command as admin for apps you don't own.
26
+
27
+ `-e, --environmentName [environmentName]`
28
+ : The name of the environment. Required when using `asAdmin`.
29
+ ```
30
+
31
+ <Global />
32
+
33
+ ## Remarks
34
+
35
+ When you specify a value for `roleName`, consider the following:
36
+
37
+ - `Owner` shows all the owners of the application.
38
+ - `CanEdit` shows all the co-owners of the application.
39
+ - `CanView` shows all the users with run only permissions.
40
+
41
+ ## Examples
42
+
43
+ List all permissions for an app you have access to
44
+
45
+ ```sh
46
+ m365 pa app permission list --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0
47
+ ```
48
+
49
+ List all permissions as admin for an app you don't have access to
50
+
51
+ ```sh
52
+ m365 pa app permission list --environmentName "Default-e448e34a-40cc-441a-94c6-ec701a9a9ec2" --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0 --asAdmin
53
+ ```
54
+
55
+ List all co-owners for an app you have access to
56
+
57
+ ```sh
58
+ m365 pa app permission list --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0 --roleName CanEdit
59
+ ```
60
+
61
+ ## Response
62
+
63
+ <Tabs>
64
+ <TabItem value="JSON">
65
+
66
+ ```json
67
+ [
68
+ {
69
+ "name": "fe36f75e-c103-410b-a18a-2bf6df06ac3a",
70
+ "id": "/providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb/permissions/fe36f75e-c103-410b-a18a-2bf6df06ac3a",
71
+ "type": "Microsoft.PowerApps/apps/permissions",
72
+ "properties": {
73
+ "roleName": "Owner",
74
+ "principal": {
75
+ "id": "fe36f75e-c103-410b-a18a-2bf6df06ac3a",
76
+ "displayName": "John Doe",
77
+ "email": "john@contoso.com",
78
+ "type": "User",
79
+ "tenantId": "e1dd4023-a656-480a-8a0e-c1b1eec51e1d"
80
+ },
81
+ "scope": "/providers/Microsoft.PowerApps/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb",
82
+ "notifyShareTargetOption": "NotSpecified",
83
+ "inviteGuestToTenant": false,
84
+ "createdOn": "2022-10-25T21:28:14.2122305Z",
85
+ "createdBy": "f0db9c91-3dae-49c8-98fa-8059b8909d45"
86
+ },
87
+ "roleName": "Owner",
88
+ "principalId": "fe36f75e-c103-410b-a18a-2bf6df06ac3a",
89
+ "principalType": "User"
90
+ }
91
+ ]
92
+ ```
93
+
94
+ </TabItem>
95
+ <TabItem value="Text">
96
+
97
+ ```text
98
+ roleName principalId principalType
99
+ -------- ------------------------------------ -------------
100
+ Owner fe36f75e-c103-410b-a18a-2bf6df06ac3a User
101
+ ```
102
+
103
+ </TabItem>
104
+ <TabItem value="CSV">
105
+
106
+ ```csv
107
+ name,id,type,roleName,principalId,principalType
108
+ fe36f75e-c103-410b-a18a-2bf6df06ac3a,/providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb/permissions/fe36f75e-c103-410b-a18a-2bf6df06ac3a,Microsoft.PowerApps/apps/permissions,Owner,fe36f75e-c103-410b-a18a-2bf6df06ac3a,User
109
+ ```
110
+
111
+ </TabItem>
112
+ <TabItem value="Markdown">
113
+
114
+ ```md
115
+ # pa app permission list --appName "37ea6004-f07b-46ca-8ef3-a256b67b4dbb"
116
+
117
+ Date: 25/06/2023
118
+
119
+ ## fe36f75e-c103-410b-a18a-2bf6df06ac3a (/providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb/permissions/fe36f75e-c103-410b-a18a-2bf6df06ac3a)
120
+
121
+ Property | Value
122
+ ---------|-------
123
+ name | fe36f75e-c103-410b-a18a-2bf6df06ac3a
124
+ id | /providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb/permissions/fe36f75e-c103-410b-a18a-2bf6df06ac3a
125
+ type | Microsoft.PowerApps/apps/permissions
126
+ roleName | Owner
127
+ principalId | fe36f75e-c103-410b-a18a-2bf6df06ac3a
128
+ principalType | User
129
+ ```
130
+
131
+ </TabItem>
132
+ </Tabs>
@@ -19,10 +19,13 @@ m365 planner bucket add [options]
19
19
  : Name of the bucket to add.
20
20
 
21
21
  `--planId [planId]`
22
- : ID of the plan to which the bucket belongs. Specify either `planId` or `planTitle` but not both.
22
+ : ID of the plan to which the bucket belongs. Specify either `planId`, `planTitle`, or `rosterId` but not multiple.
23
23
 
24
24
  `--planTitle [planTitle]`
25
- : Title of the plan to which the bucket belongs. Specify either `planId` or `planTitle` but not both.
25
+ : Title of the plan to which the bucket belongs. Specify either `planId`, `planTitle`, or `rosterId` but not multiple.
26
+
27
+ `--rosterId [rosterId]`
28
+ : ID of the Planner Roster. Specify either `planId`, `planTitle`, or `rosterId` but not multiple.
26
29
 
27
30
  `--ownerGroupId [ownerGroupId]`
28
31
  : ID of the group to which the plan belongs. Specify `ownerGroupId` or `ownerGroupName` when using `planTitle`.
@@ -36,20 +39,34 @@ m365 planner bucket add [options]
36
39
 
37
40
  <Global />
38
41
 
42
+ ## Remarks
43
+
44
+ :::caution
45
+
46
+ When using `rosterId`, the command is based on an API that is currently in preview and is subject to change once the API reached general availability.
47
+
48
+ :::
49
+
39
50
  ## Examples
40
51
 
41
- Adds a Microsoft Planner bucket with the name _My Planner Bucket_ for plan with the ID _xqQg5FS2LkCp935s-FIFm2QAFkHM_ with order hint
52
+ Adds a Microsoft Planner bucket for a plan based on its ID with an order hint
42
53
 
43
54
  ```sh
44
55
  m365 planner bucket add --name "My Planner Bucket" --planId "xqQg5FS2LkCp935s-FIFm2QAFkHM" --orderHint " !"
45
56
  ```
46
57
 
47
- Adds a Microsoft Planner bucket with the name _My Planner Bucket_ for plan with the title _My Planner Plan_ owned by group _My Planner Group_
58
+ Adds a Microsoft Planner bucket for a plan based on its title and owner group name
48
59
 
49
60
  ```sh
50
61
  m365 planner bucket add --name "My Planner Bucket" --planTitle "My Planner Plan" --ownerGroupName "My Planner Group"
51
62
  ```
52
63
 
64
+ Adds a Microsoft Planner bucket for a plan based on its Planner Roster ID
65
+
66
+ ```sh
67
+ m365 planner bucket add --name "My Planner Bucket" --rosterId "RuY-PSpdw02drevnYDTCJpgAEfoI"
68
+ ```
69
+
53
70
  ## Response
54
71
 
55
72
  <Tabs>
@@ -22,10 +22,13 @@ m365 planner bucket get [options]
22
22
  : Name of the bucket to retrieve details. Specify either `id` or `name` but not both.
23
23
 
24
24
  `--planId [planId]`
25
- : ID of the plan to which the bucket belongs. Specify either `planId` or `planTitle` when using `name`.
25
+ : ID of the plan to which the bucket belongs. Specify either `planId`, `planTitle`, or `rosterId` but not multiple when using `name`.
26
26
 
27
27
  `--planTitle [planTitle]`
28
- : Title of the plan to which the bucket belongs. Specify either `planId` or `planTitle` when using `name`.
28
+ : Title of the plan to which the bucket belongs. Specify either `planId`, `planTitle`, or `rosterId` but not multiple when using `name`.
29
+
30
+ `--rosterId [rosterId]`
31
+ : ID of the Planner Roster. Specify either `planId`, `planTitle`, or `rosterId` but not multiple when using `name`.
29
32
 
30
33
  `--ownerGroupId [ownerGroupId]`
31
34
  : ID of the group to which the plan belongs. Specify `ownerGroupId` or `ownerGroupName` when using `planTitle`.
@@ -36,6 +39,14 @@ m365 planner bucket get [options]
36
39
 
37
40
  <Global />
38
41
 
42
+ ## Remarks
43
+
44
+ :::caution
45
+
46
+ When using `rosterId`, the command is based on an API that is currently in preview and is subject to change once the API reached general availability.
47
+
48
+ :::
49
+
39
50
  ## Examples
40
51
 
41
52
  Gets the specified Microsoft Planner bucket
@@ -44,24 +55,30 @@ Gets the specified Microsoft Planner bucket
44
55
  m365 planner bucket get --id "5h1uuYFk4kKQ0hfoTUkRLpgALtYi"
45
56
  ```
46
57
 
47
- Gets the Microsoft Planner bucket in the PlanId xqQg5FS2LkCp935s-FIFm2QAFkHM
58
+ Gets the Microsoft Planner bucket based on its plan ID
48
59
 
49
60
  ```sh
50
61
  m365 planner bucket get --name "Planner Bucket A" --planId "xqQg5FS2LkCp935s-FIFm2QAFkHM"
51
62
  ```
52
63
 
53
- Gets the Microsoft Planner bucket in the Plan _My Plan_ owned by group _My Group_
64
+ Gets the Microsoft Planner bucket based on its plan title and owner group name
54
65
 
55
66
  ```sh
56
67
  m365 planner bucket get --name "Planner Bucket A" --planTitle "My Plan" --ownerGroupName "My Group"
57
68
  ```
58
69
 
59
- Gets the Microsoft Planner bucket in the Plan _My Plan_ owned by groupId ee0f40fc-b2f7-45c7-b62d-11b90dd2ea8e
70
+ Gets the Microsoft Planner bucket based on its plan title and owner group ID
60
71
 
61
72
  ```sh
62
73
  m365 planner bucket get --name "Planner Bucket A" --planTitle "My Plan" --ownerGroupId "ee0f40fc-b2f7-45c7-b62d-11b90dd2ea8e"
63
74
  ```
64
75
 
76
+ Gets the Microsoft Planner bucket based on its Roster ID
77
+
78
+ ```sh
79
+ m365 planner bucket get --name "Planner Bucket A" --rosterId "RuY-PSpdw02drevnYDTCJpgAEfoI"
80
+ ```
81
+
65
82
  ## Response
66
83
 
67
84
  <Tabs>