@pnp/cli-microsoft365 7.5.0-beta.494c631 → 7.5.0-beta.4f8e5bf
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.
- package/.devcontainer/Dockerfile +2 -2
- package/.eslintrc.cjs +6 -2
- package/.mocharc.json +3 -5
- package/Dockerfile +2 -5
- package/README.md +2 -2
- package/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/Auth.js +171 -69
- package/dist/AuthServer.js +3 -3
- package/dist/Command.js +8 -5
- package/dist/auth/FileTokenStorage.js +4 -1
- package/dist/m365/app/commands/app-get.js +2 -2
- package/dist/m365/base/AppCommand.js +2 -2
- package/dist/m365/base/PowerAppsCommand.js +2 -2
- package/dist/m365/base/PowerAutomateCommand.js +2 -2
- package/dist/m365/base/PowerPlatformCommand.js +2 -2
- package/dist/m365/base/SpoCommand.js +3 -3
- package/dist/m365/base/{YammerCommand.js → VivaEngageCommand.js} +2 -2
- package/dist/m365/cli/commands/cli-consent.js +5 -3
- package/dist/m365/cli/commands/cli-doctor.js +5 -5
- package/dist/m365/commands/ConnectionDetails.js +2 -0
- package/dist/m365/commands/login.js +26 -48
- package/dist/m365/commands/logout.js +2 -2
- package/dist/m365/commands/request.js +2 -2
- package/dist/m365/commands/status.js +15 -23
- package/dist/m365/connection/commands/connection-list.js +47 -0
- package/dist/m365/connection/commands/connection-remove.js +67 -0
- package/dist/m365/connection/commands/connection-set.js +56 -0
- package/dist/m365/connection/commands/connection-use.js +51 -0
- package/dist/m365/connection/commands.js +8 -0
- package/dist/m365/entra/aadCommands.js +3 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-get.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-add.js +8 -8
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-get.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-list.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-remove.js +153 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-remove.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-roleassignment-add.js +4 -4
- package/dist/m365/entra/commands/app/app-add.js +2 -2
- package/dist/m365/entra/commands/app/app-get.js +1 -1
- package/dist/m365/entra/commands/app/app-list.js +1 -1
- package/dist/m365/entra/commands/app/app-permission-add.js +4 -8
- package/dist/m365/entra/commands/app/app-permission-list.js +182 -0
- package/dist/m365/entra/commands/app/app-remove.js +1 -1
- package/dist/m365/entra/commands/app/app-role-add.js +1 -1
- package/dist/m365/entra/commands/app/app-role-list.js +1 -1
- package/dist/m365/entra/commands/app/app-role-remove.js +1 -1
- package/dist/m365/entra/commands/app/app-set.js +1 -1
- package/dist/m365/entra/commands/{sp/sp-add.js → enterpriseapp/enterpriseapp-add.js} +18 -18
- package/dist/m365/entra/commands/{sp/sp-get.js → enterpriseapp/enterpriseapp-get.js} +19 -19
- package/dist/m365/entra/commands/{sp/sp-list.js → enterpriseapp/enterpriseapp-list.js} +13 -13
- package/dist/m365/entra/commands/group/group-add.js +224 -0
- package/dist/m365/entra/commands/group/group-get.js +3 -3
- package/dist/m365/entra/commands/group/group-remove.js +2 -2
- package/dist/m365/entra/commands/group/group-user-add.js +145 -0
- package/dist/m365/entra/commands/group/group-user-list.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +3 -3
- package/dist/m365/entra/commands/m365group/m365group-get.js +3 -3
- package/dist/m365/entra/commands/m365group/m365group-remove.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-renew.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-report-activitygroupcounts.js +1 -1
- package/dist/m365/entra/commands/m365group/m365group-set.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-teamify.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-user-add.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-user-list.js +3 -3
- package/dist/m365/entra/commands/m365group/m365group-user-remove.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-user-set.js +2 -2
- package/dist/m365/entra/commands/user/user-get.js +38 -38
- package/dist/m365/entra/commands/user/user-license-list.js +1 -1
- package/dist/m365/entra/commands/user/user-registrationdetails-list.js +224 -0
- package/dist/m365/entra/commands/user/user-set.js +2 -2
- package/dist/m365/entra/commands.js +17 -0
- package/dist/m365/external/commands/connection/connection-doctor.js +2 -1
- package/dist/m365/file/commands/convert/convert-pdf.js +1 -1
- package/dist/m365/file/commands/file-copy.js +151 -0
- package/dist/m365/file/commands.js +1 -0
- package/dist/m365/flow/commands/owner/owner-ensure.js +4 -4
- package/dist/m365/flow/commands/owner/owner-remove.js +4 -4
- package/dist/m365/onenote/commands/notebook/notebook-list.js +2 -2
- package/dist/m365/onenote/commands/page/page-list.js +2 -2
- package/dist/m365/outlook/commands/mail/mail-send.js +1 -1
- package/dist/m365/outlook/commands/message/message-get.js +1 -1
- package/dist/m365/pa/commands/app/app-owner-set.js +2 -2
- package/dist/m365/pa/commands/app/app-permission-ensure.js +5 -5
- package/dist/m365/pa/commands/app/app-permission-remove.js +5 -5
- package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-get.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-list.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-remove.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-set.js +2 -2
- package/dist/m365/planner/commands/plan/plan-add.js +2 -2
- package/dist/m365/planner/commands/plan/plan-get.js +2 -2
- package/dist/m365/planner/commands/plan/plan-list.js +2 -2
- package/dist/m365/planner/commands/plan/plan-remove.js +2 -2
- package/dist/m365/planner/commands/plan/plan-set.js +2 -2
- package/dist/m365/planner/commands/roster/roster-member-add.js +2 -2
- package/dist/m365/planner/commands/roster/roster-member-get.js +2 -2
- package/dist/m365/planner/commands/roster/roster-member-remove.js +2 -2
- package/dist/m365/planner/commands/roster/roster-plan-list.js +1 -1
- package/dist/m365/planner/commands/task/task-add.js +2 -2
- package/dist/m365/planner/commands/task/task-get.js +2 -2
- package/dist/m365/planner/commands/task/task-list.js +2 -2
- package/dist/m365/planner/commands/task/task-remove.js +2 -2
- package/dist/m365/planner/commands/task/task-set.js +2 -2
- package/dist/m365/purview/commands/auditlog/auditlog-list.js +1 -1
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-get.js +1 -1
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-list.js +1 -1
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-policysettings-list.js +1 -1
- package/dist/m365/spfx/commands/project/DeployWorkflow.js +4 -3
- package/dist/m365/spfx/commands/project/project-github-workflow-add.js +1 -1
- package/dist/m365/spo/commands/group/group-member-add.js +4 -4
- package/dist/m365/spo/commands/group/group-member-remove.js +2 -2
- package/dist/m365/spo/commands/group/group-set.js +2 -2
- package/dist/m365/spo/commands/site/site-remove.js +2 -2
- package/dist/m365/spo/commands/site/site-set.js +2 -2
- package/dist/m365/spo/commands/spo-get.js +1 -1
- package/dist/m365/spo/commands/spo-search.js +52 -22
- package/dist/m365/spo/commands/spo-set.js +1 -1
- package/dist/m365/spo/commands/user/user-ensure.js +2 -2
- package/dist/m365/teams/commands/app/app-install.js +2 -2
- package/dist/m365/teams/commands/channel/channel-get.js +2 -2
- package/dist/m365/teams/commands/channel/channel-list.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-add.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-list.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-remove.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-set.js +2 -2
- package/dist/m365/teams/commands/channel/channel-remove.js +2 -2
- package/dist/m365/teams/commands/channel/channel-set.js +2 -2
- package/dist/m365/teams/commands/chat/chat-get.js +1 -1
- package/dist/m365/teams/commands/chat/chat-list.js +1 -1
- package/dist/m365/teams/commands/chat/chat-message-send.js +1 -1
- package/dist/m365/teams/commands/meeting/meeting-add.js +3 -3
- package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +3 -3
- package/dist/m365/teams/commands/meeting/meeting-get.js +4 -4
- package/dist/m365/teams/commands/meeting/meeting-list.js +4 -4
- package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +3 -3
- package/dist/m365/teams/commands/tab/tab-get.js +2 -2
- package/dist/m365/teams/commands/team/team-add.js +6 -6
- package/dist/m365/teams/commands/team/team-archive.js +2 -2
- package/dist/m365/teams/commands/team/team-get.js +2 -2
- package/dist/m365/teams/commands/team/team-remove.js +2 -2
- package/dist/m365/teams/commands/team/team-unarchive.js +2 -2
- package/dist/m365/tenant/commands/id/id-get.js +1 -1
- package/dist/m365/tenant/commands/info/info-get.js +1 -1
- package/dist/m365/util/commands/accesstoken/accesstoken-get.js +3 -3
- package/dist/m365/{yammer/commands/group/group-list.js → viva/commands/engage/engage-group-list.js} +19 -14
- package/dist/m365/{yammer/commands/group/group-user-add.js → viva/commands/engage/engage-group-user-add.js} +19 -14
- package/dist/m365/{yammer/commands/group/group-user-remove.js → viva/commands/engage/engage-group-user-remove.js} +19 -14
- package/dist/m365/{yammer/commands/message/message-add.js → viva/commands/engage/engage-message-add.js} +19 -14
- package/dist/m365/{yammer/commands/message/message-get.js → viva/commands/engage/engage-message-get.js} +17 -12
- package/dist/m365/{yammer/commands/message/message-like-set.js → viva/commands/engage/engage-message-like-set.js} +21 -16
- package/dist/m365/{yammer/commands/message/message-list.js → viva/commands/engage/engage-message-list.js} +21 -16
- package/dist/m365/{yammer/commands/message/message-remove.js → viva/commands/engage/engage-message-remove.js} +20 -15
- package/dist/m365/{yammer/commands/network/network-list.js → viva/commands/engage/engage-network-list.js} +16 -11
- package/dist/m365/viva/commands/engage/engage-report-activitycounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-activityusercounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-activityuserdetail.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-deviceusagedistributionusercounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-deviceusageusercounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-deviceusageuserdetail.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitycounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitydetail.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitygroupcounts.js +23 -0
- package/dist/m365/{yammer/commands/yammer-search.js → viva/commands/engage/engage-search.js} +23 -18
- package/dist/m365/{yammer/commands/user/user-get.js → viva/commands/engage/engage-user-get.js} +18 -13
- package/dist/m365/{yammer/commands/user/user-list.js → viva/commands/engage/engage-user-list.js} +18 -13
- package/dist/m365/{yammer/commands.js → viva/commands/engage/yammerCommands.js} +1 -1
- package/dist/m365/viva/commands.js +22 -1
- package/dist/request.js +1 -1
- package/dist/utils/{aadAdministrativeUnit.js → entraAdministrativeUnit.js} +2 -2
- package/dist/utils/{aadDevice.js → entraDevice.js} +2 -2
- package/dist/utils/{aadGroup.js → entraGroup.js} +2 -2
- package/dist/utils/{aadUser.js → entraUser.js} +38 -2
- package/dist/utils/spo.js +38 -16
- package/dist/utils/urlUtil.js +31 -0
- package/dist/utils/validation.js +8 -0
- package/docs/docs/cmd/cli/cli-consent.mdx +9 -9
- package/docs/docs/cmd/connection/connection-list.mdx +100 -0
- package/docs/docs/cmd/connection/connection-remove.mdx +45 -0
- package/docs/docs/cmd/connection/connection-set.mdx +39 -0
- package/docs/docs/cmd/connection/connection-use.mdx +98 -0
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-add.mdx +5 -3
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-remove.mdx +107 -0
- package/docs/docs/cmd/entra/app/app-add.mdx +2 -1
- package/docs/docs/cmd/entra/app/app-get.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-list.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-permission-add.mdx +3 -2
- package/docs/docs/cmd/entra/app/app-permission-list.mdx +105 -0
- package/docs/docs/cmd/entra/app/app-remove.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-role-add.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-role-list.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-role-remove.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-set.mdx +1 -0
- package/docs/docs/cmd/entra/{sp/sp-add.mdx → enterpriseapp/enterpriseapp-add.mdx} +16 -15
- package/docs/docs/cmd/entra/{sp/sp-get.mdx → enterpriseapp/enterpriseapp-get.mdx} +15 -14
- package/docs/docs/cmd/entra/{sp/sp-list.mdx → enterpriseapp/enterpriseapp-list.mdx} +22 -21
- package/docs/docs/cmd/entra/group/group-add.mdx +231 -0
- package/docs/docs/cmd/entra/group/group-user-add.mdx +62 -0
- package/docs/docs/cmd/entra/m365group/m365group-report-activitygroupcounts.mdx +1 -1
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-add.mdx +3 -3
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-list.mdx +1 -1
- package/docs/docs/cmd/entra/user/user-registrationdetails-list.mdx +246 -0
- package/docs/docs/cmd/external/item/item-add.mdx +1 -1
- package/docs/docs/cmd/file/convert/convert-pdf.mdx +4 -0
- package/docs/docs/cmd/file/file-add.mdx +4 -0
- package/docs/docs/cmd/file/file-copy.mdx +68 -0
- package/docs/docs/cmd/file/file-list.mdx +100 -0
- package/docs/docs/cmd/login.mdx +15 -0
- package/docs/docs/cmd/setup.mdx +4 -0
- package/docs/docs/cmd/spo/list/list-webhook-set.mdx +1 -1
- package/docs/docs/cmd/spo/listitem/listitem-list.mdx +1 -1
- package/docs/docs/cmd/spo/spo-search.mdx +6 -2
- package/docs/docs/cmd/spo/theme/theme-set.mdx +14 -2
- package/docs/docs/cmd/{yammer/group/group-list.mdx → viva/engage/engage-group-list.mdx} +13 -13
- package/docs/docs/cmd/{yammer/group/group-user-add.mdx → viva/engage/engage-group-user-add.mdx} +7 -7
- package/docs/docs/cmd/{yammer/group/group-user-remove.mdx → viva/engage/engage-group-user-remove.mdx} +10 -10
- package/docs/docs/cmd/{yammer/message/message-add.mdx → viva/engage/engage-message-add.mdx} +12 -13
- package/docs/docs/cmd/{yammer/message/message-get.mdx → viva/engage/engage-message-get.mdx} +10 -10
- package/docs/docs/cmd/{yammer/message/message-like-set.mdx → viva/engage/engage-message-like-set.mdx} +10 -10
- package/docs/docs/cmd/{yammer/message/message-list.mdx → viva/engage/engage-message-list.mdx} +21 -21
- package/docs/docs/cmd/{yammer/message/message-remove.mdx → viva/engage/engage-message-remove.mdx} +10 -10
- package/docs/docs/cmd/{yammer/network/network-list.mdx → viva/engage/engage-network-list.mdx} +6 -6
- package/docs/docs/cmd/{yammer/report/report-activitycounts.mdx → viva/engage/engage-report-activitycounts.mdx} +9 -9
- package/docs/docs/cmd/{yammer/report/report-activityusercounts.mdx → viva/engage/engage-report-activityusercounts.mdx} +9 -9
- package/docs/docs/cmd/{yammer/report/report-activityuserdetail.mdx → viva/engage/engage-report-activityuserdetail.mdx} +11 -12
- package/docs/docs/cmd/{yammer/report/report-deviceusagedistributionusercounts.mdx → viva/engage/engage-report-deviceusagedistributionusercounts.mdx} +5 -5
- package/docs/docs/cmd/{yammer/report/report-deviceusageusercounts.mdx → viva/engage/engage-report-deviceusageusercounts.mdx} +5 -5
- package/docs/docs/cmd/{yammer/report/report-deviceusageuserdetail.mdx → viva/engage/engage-report-deviceusageuserdetail.mdx} +11 -11
- package/docs/docs/cmd/{yammer/report/report-groupsactivitycounts.mdx → viva/engage/engage-report-groupsactivitycounts.mdx} +9 -9
- package/docs/docs/cmd/{yammer/report/report-groupsactivitydetail.mdx → viva/engage/engage-report-groupsactivitydetail.mdx} +11 -11
- package/docs/docs/cmd/{yammer/report/report-groupsactivitygroupcounts.mdx → viva/engage/engage-report-groupsactivitygroupcounts.mdx} +5 -5
- package/docs/docs/cmd/{yammer/yammer-search.mdx → viva/engage/engage-search.mdx} +10 -10
- package/docs/docs/cmd/{yammer/user/user-get.mdx → viva/engage/engage-user-get.mdx} +8 -8
- package/docs/docs/cmd/{yammer/user/user-list.mdx → viva/engage/engage-user-list.mdx} +11 -11
- package/npm-shrinkwrap.json +228 -166
- package/package.json +20 -19
- package/dist/m365/base/AzmgmtCommand.js +0 -18
- package/dist/m365/base/AzmgmtItemsListCommand.js +0 -41
- package/dist/m365/yammer/commands/report/report-activitycounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-activityusercounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-activityuserdetail.js +0 -15
- package/dist/m365/yammer/commands/report/report-deviceusagedistributionusercounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-deviceusageusercounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-deviceusageuserdetail.js +0 -15
- package/dist/m365/yammer/commands/report/report-groupsactivitycounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-groupsactivitydetail.js +0 -15
- package/dist/m365/yammer/commands/report/report-groupsactivitygroupcounts.js +0 -15
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _EntraM365GroupGetCommand_instances, _EntraM365GroupGetCommand_initOptions, _EntraM365GroupGetCommand_initValidators;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
10
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
11
11
|
import aadCommands from '../../aadCommands.js';
|
|
@@ -29,11 +29,11 @@ class EntraM365GroupGetCommand extends GraphCommand {
|
|
|
29
29
|
async commandAction(logger, args) {
|
|
30
30
|
let group;
|
|
31
31
|
try {
|
|
32
|
-
const isUnifiedGroup = await
|
|
32
|
+
const isUnifiedGroup = await entraGroup.isUnifiedGroup(args.options.id);
|
|
33
33
|
if (!isUnifiedGroup) {
|
|
34
34
|
throw Error(`Specified group with id '${args.options.id}' is not a Microsoft 365 group.`);
|
|
35
35
|
}
|
|
36
|
-
group = await
|
|
36
|
+
group = await entraGroup.getGroupById(args.options.id);
|
|
37
37
|
if (args.options.includeSiteUrl) {
|
|
38
38
|
const requestOptions = {
|
|
39
39
|
url: `${this.resource}/v1.0/groups/${group.id}/drive?$select=webUrl`,
|
|
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
6
6
|
var _EntraM365GroupRemoveCommand_instances, _EntraM365GroupRemoveCommand_initTelemetry, _EntraM365GroupRemoveCommand_initOptions, _EntraM365GroupRemoveCommand_initValidators;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
|
-
import {
|
|
9
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
11
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
12
12
|
import commands from '../../commands.js';
|
|
@@ -39,7 +39,7 @@ class EntraM365GroupRemoveCommand extends GraphCommand {
|
|
|
39
39
|
await logger.logToStderr(`Removing Microsoft 365 Group: ${args.options.id}...`);
|
|
40
40
|
}
|
|
41
41
|
try {
|
|
42
|
-
const isUnifiedGroup = await
|
|
42
|
+
const isUnifiedGroup = await entraGroup.isUnifiedGroup(args.options.id);
|
|
43
43
|
if (!isUnifiedGroup) {
|
|
44
44
|
throw Error(`Specified group with id '${args.options.id}' is not a Microsoft 365 group.`);
|
|
45
45
|
}
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _EntraM365GroupRenewCommand_instances, _EntraM365GroupRenewCommand_initOptions, _EntraM365GroupRenewCommand_initValidators;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
10
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
11
11
|
import aadCommands from '../../aadCommands.js';
|
|
@@ -31,7 +31,7 @@ class EntraM365GroupRenewCommand extends GraphCommand {
|
|
|
31
31
|
await logger.logToStderr(`Renewing Microsoft 365 group's expiration: ${args.options.id}...`);
|
|
32
32
|
}
|
|
33
33
|
try {
|
|
34
|
-
const isUnifiedGroup = await
|
|
34
|
+
const isUnifiedGroup = await entraGroup.isUnifiedGroup(args.options.id);
|
|
35
35
|
if (!isUnifiedGroup) {
|
|
36
36
|
throw Error(`Specified group with id '${args.options.id}' is not a Microsoft 365 group.`);
|
|
37
37
|
}
|
|
@@ -6,7 +6,7 @@ class M365GroupReportActivityGroupCountsCommand extends PeriodBasedReport {
|
|
|
6
6
|
return commands.M365GROUP_REPORT_ACTIVITYGROUPCOUNTS;
|
|
7
7
|
}
|
|
8
8
|
get description() {
|
|
9
|
-
return 'Get the daily total number of groups and how many of them were active based on email conversations,
|
|
9
|
+
return 'Get the daily total number of groups and how many of them were active based on email conversations, Viva Engage posts, and SharePoint file activities';
|
|
10
10
|
}
|
|
11
11
|
alias() {
|
|
12
12
|
return [aadCommands.M365GROUP_REPORT_ACTIVITYGROUPCOUNTS];
|
|
@@ -11,7 +11,7 @@ import request from '../../../../request.js';
|
|
|
11
11
|
import { validation } from '../../../../utils/validation.js';
|
|
12
12
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
13
13
|
import commands from '../../commands.js';
|
|
14
|
-
import {
|
|
14
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
15
15
|
import aadCommands from '../../aadCommands.js';
|
|
16
16
|
class EntraM365GroupSetCommand extends GraphCommand {
|
|
17
17
|
get name() {
|
|
@@ -34,7 +34,7 @@ class EntraM365GroupSetCommand extends GraphCommand {
|
|
|
34
34
|
}
|
|
35
35
|
async commandAction(logger, args) {
|
|
36
36
|
try {
|
|
37
|
-
const isUnifiedGroup = await
|
|
37
|
+
const isUnifiedGroup = await entraGroup.isUnifiedGroup(args.options.id);
|
|
38
38
|
if (!isUnifiedGroup) {
|
|
39
39
|
throw Error(`Specified group with id '${args.options.id}' is not a Microsoft 365 group.`);
|
|
40
40
|
}
|
|
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
6
6
|
var _EntraM365GroupTeamifyCommand_instances, _EntraM365GroupTeamifyCommand_initTelemetry, _EntraM365GroupTeamifyCommand_initOptions, _EntraM365GroupTeamifyCommand_initValidators, _EntraM365GroupTeamifyCommand_initOptionSets;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
|
-
import {
|
|
9
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
10
10
|
import { formatting } from '../../../../utils/formatting.js';
|
|
11
11
|
import { validation } from '../../../../utils/validation.js';
|
|
12
12
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
@@ -56,7 +56,7 @@ class EntraM365GroupTeamifyCommand extends GraphCommand {
|
|
|
56
56
|
async commandAction(logger, args) {
|
|
57
57
|
try {
|
|
58
58
|
const groupId = await this.getGroupId(args.options);
|
|
59
|
-
const isUnifiedGroup = await
|
|
59
|
+
const isUnifiedGroup = await entraGroup.isUnifiedGroup(groupId);
|
|
60
60
|
if (!isUnifiedGroup) {
|
|
61
61
|
throw Error(`Specified group with id '${groupId}' is not a Microsoft 365 group.`);
|
|
62
62
|
}
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _EntraM365GroupUserAddCommand_instances, _EntraM365GroupUserAddCommand_initTelemetry, _EntraM365GroupUserAddCommand_initOptions, _EntraM365GroupUserAddCommand_initValidators, _EntraM365GroupUserAddCommand_initOptionSets;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
11
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
@@ -33,7 +33,7 @@ class EntraM365GroupUserAddCommand extends GraphCommand {
|
|
|
33
33
|
async commandAction(logger, args) {
|
|
34
34
|
try {
|
|
35
35
|
const providedGroupId = (typeof args.options.groupId !== 'undefined') ? args.options.groupId : args.options.teamId;
|
|
36
|
-
const isUnifiedGroup = await
|
|
36
|
+
const isUnifiedGroup = await entraGroup.isUnifiedGroup(providedGroupId);
|
|
37
37
|
if (!isUnifiedGroup) {
|
|
38
38
|
throw Error(`Specified group with id '${providedGroupId}' is not a Microsoft 365 group.`);
|
|
39
39
|
}
|
|
@@ -8,7 +8,7 @@ import { odata } from '../../../../utils/odata.js';
|
|
|
8
8
|
import { validation } from '../../../../utils/validation.js';
|
|
9
9
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
10
10
|
import commands from '../../commands.js';
|
|
11
|
-
import {
|
|
11
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
12
12
|
import aadCommands from '../../aadCommands.js';
|
|
13
13
|
class EntraM365GroupUserListCommand extends GraphCommand {
|
|
14
14
|
get name() {
|
|
@@ -34,7 +34,7 @@ class EntraM365GroupUserListCommand extends GraphCommand {
|
|
|
34
34
|
this.warn(logger, `Value 'Guest' for the option role is deprecated. Use --filter "userType eq 'Guest'" instead.`);
|
|
35
35
|
}
|
|
36
36
|
const groupId = await this.getGroupId(args.options, logger);
|
|
37
|
-
const isUnifiedGroup = await
|
|
37
|
+
const isUnifiedGroup = await entraGroup.isUnifiedGroup(groupId);
|
|
38
38
|
if (!isUnifiedGroup) {
|
|
39
39
|
throw Error(`Specified group '${args.options.groupId || args.options.groupDisplayName}' is not a Microsoft 365 group.`);
|
|
40
40
|
}
|
|
@@ -71,7 +71,7 @@ class EntraM365GroupUserListCommand extends GraphCommand {
|
|
|
71
71
|
if (this.verbose) {
|
|
72
72
|
await logger.logToStderr('Retrieving Group Id...');
|
|
73
73
|
}
|
|
74
|
-
return await
|
|
74
|
+
return await entraGroup.getGroupIdByDisplayName(options.groupDisplayName);
|
|
75
75
|
}
|
|
76
76
|
async getUsers(options, role, groupId, logger) {
|
|
77
77
|
const { properties, filter } = options;
|
|
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
6
6
|
var _EntraM365GroupUserRemoveCommand_instances, _EntraM365GroupUserRemoveCommand_initTelemetry, _EntraM365GroupUserRemoveCommand_initOptions, _EntraM365GroupUserRemoveCommand_initValidators, _EntraM365GroupUserRemoveCommand_initOptionSets;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
|
-
import {
|
|
9
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
10
10
|
import { formatting } from '../../../../utils/formatting.js';
|
|
11
11
|
import { validation } from '../../../../utils/validation.js';
|
|
12
12
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
@@ -35,7 +35,7 @@ class EntraM365GroupUserRemoveCommand extends GraphCommand {
|
|
|
35
35
|
const groupId = (typeof args.options.groupId !== 'undefined') ? args.options.groupId : args.options.teamId;
|
|
36
36
|
const removeUser = async () => {
|
|
37
37
|
try {
|
|
38
|
-
const isUnifiedGroup = await
|
|
38
|
+
const isUnifiedGroup = await entraGroup.isUnifiedGroup(groupId);
|
|
39
39
|
if (!isUnifiedGroup) {
|
|
40
40
|
throw Error(`Specified group with id '${groupId}' is not a Microsoft 365 group.`);
|
|
41
41
|
}
|
|
@@ -10,7 +10,7 @@ import { validation } from '../../../../utils/validation.js';
|
|
|
10
10
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
11
11
|
import teamsCommands from '../../../teams/commands.js';
|
|
12
12
|
import commands from '../../commands.js';
|
|
13
|
-
import {
|
|
13
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
14
14
|
import aadCommands from '../../aadCommands.js';
|
|
15
15
|
class EntraM365GroupUserSetCommand extends GraphCommand {
|
|
16
16
|
get name() {
|
|
@@ -33,7 +33,7 @@ class EntraM365GroupUserSetCommand extends GraphCommand {
|
|
|
33
33
|
async commandAction(logger, args) {
|
|
34
34
|
try {
|
|
35
35
|
const groupId = (typeof args.options.groupId !== 'undefined') ? args.options.groupId : args.options.teamId;
|
|
36
|
-
const isUnifiedGroup = await
|
|
36
|
+
const isUnifiedGroup = await entraGroup.isUnifiedGroup(groupId);
|
|
37
37
|
if (!isUnifiedGroup) {
|
|
38
38
|
throw Error(`Specified group with id '${groupId}' is not a Microsoft 365 group.`);
|
|
39
39
|
}
|
|
@@ -5,12 +5,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _EntraUserGetCommand_instances, _EntraUserGetCommand_initTelemetry, _EntraUserGetCommand_initOptions, _EntraUserGetCommand_initValidators, _EntraUserGetCommand_initOptionSets;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import { formatting } from '../../../../utils/formatting.js';
|
|
9
8
|
import { validation } from '../../../../utils/validation.js';
|
|
10
9
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
11
10
|
import commands from '../../commands.js';
|
|
12
|
-
import { cli } from '../../../../cli/cli.js';
|
|
13
11
|
import aadCommands from '../../aadCommands.js';
|
|
12
|
+
import { entraUser } from '../../../../utils/entraUser.js';
|
|
13
|
+
import { formatting } from '../../../../utils/formatting.js';
|
|
14
14
|
class EntraUserGetCommand extends GraphCommand {
|
|
15
15
|
get name() {
|
|
16
16
|
return commands.USER_GET;
|
|
@@ -30,50 +30,50 @@ class EntraUserGetCommand extends GraphCommand {
|
|
|
30
30
|
__classPrivateFieldGet(this, _EntraUserGetCommand_instances, "m", _EntraUserGetCommand_initOptionSets).call(this);
|
|
31
31
|
}
|
|
32
32
|
async commandAction(logger, args) {
|
|
33
|
-
const properties = args.options.properties ?
|
|
34
|
-
`&$select=${args.options.properties.split(',').map(p => formatting.encodeQueryParameter(p.trim())).join(',')}` :
|
|
35
|
-
'';
|
|
36
|
-
let requestUrl = `${this.resource}/v1.0/users`;
|
|
37
|
-
if (args.options.id) {
|
|
38
|
-
requestUrl += `?$filter=id eq '${formatting.encodeQueryParameter(args.options.id)}'${properties}`;
|
|
39
|
-
}
|
|
40
|
-
else if (args.options.userName) {
|
|
41
|
-
requestUrl += `?$filter=userPrincipalName eq '${formatting.encodeQueryParameter(args.options.userName)}'${properties}`;
|
|
42
|
-
}
|
|
43
|
-
else if (args.options.email) {
|
|
44
|
-
requestUrl += `?$filter=mail eq '${formatting.encodeQueryParameter(args.options.email)}'${properties}`;
|
|
45
|
-
}
|
|
46
|
-
if (args.options.withManager) {
|
|
47
|
-
requestUrl += '&$expand=manager($select=displayName,userPrincipalName,id,mail)';
|
|
48
|
-
}
|
|
49
|
-
const requestOptions = {
|
|
50
|
-
url: requestUrl,
|
|
51
|
-
headers: {
|
|
52
|
-
accept: 'application/json;odata.metadata=none'
|
|
53
|
-
},
|
|
54
|
-
responseType: 'json'
|
|
55
|
-
};
|
|
56
33
|
try {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (res.value.length === 0) {
|
|
62
|
-
throw `The specified user with ${identifier} does not exist`;
|
|
34
|
+
let userIdOrPrincipalName = args.options.id;
|
|
35
|
+
if (args.options.userName) {
|
|
36
|
+
// single user can be retrieved also by user principal name
|
|
37
|
+
userIdOrPrincipalName = formatting.encodeQueryParameter(args.options.userName);
|
|
63
38
|
}
|
|
64
|
-
if (
|
|
65
|
-
|
|
66
|
-
const result = await cli.handleMultipleResultsFound(`Multiple users with ${identifier} found.`, resultAsKeyValuePair);
|
|
67
|
-
await logger.log(result);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
await logger.log(res.value[0]);
|
|
39
|
+
else if (args.options.email) {
|
|
40
|
+
userIdOrPrincipalName = await entraUser.getUserIdByEmail(args.options.email);
|
|
71
41
|
}
|
|
42
|
+
const requestUrl = this.getRequestUrl(userIdOrPrincipalName, args.options);
|
|
43
|
+
const requestOptions = {
|
|
44
|
+
url: requestUrl,
|
|
45
|
+
headers: {
|
|
46
|
+
accept: 'application/json;odata.metadata=none'
|
|
47
|
+
},
|
|
48
|
+
responseType: 'json'
|
|
49
|
+
};
|
|
50
|
+
const user = await request.get(requestOptions);
|
|
51
|
+
await logger.log(user);
|
|
72
52
|
}
|
|
73
53
|
catch (err) {
|
|
74
54
|
this.handleRejectedODataJsonPromise(err);
|
|
75
55
|
}
|
|
76
56
|
}
|
|
57
|
+
getRequestUrl(userIdOrPrincipalName, options) {
|
|
58
|
+
const queryParameters = [];
|
|
59
|
+
if (options.properties) {
|
|
60
|
+
const allProperties = options.properties.split(',');
|
|
61
|
+
const selectProperties = allProperties.filter(prop => !prop.includes('/'));
|
|
62
|
+
if (selectProperties.length > 0) {
|
|
63
|
+
queryParameters.push(`$select=${selectProperties}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (options.withManager) {
|
|
67
|
+
queryParameters.push('$expand=manager($select=displayName,userPrincipalName,id,mail)');
|
|
68
|
+
}
|
|
69
|
+
const queryString = queryParameters.length > 0
|
|
70
|
+
? `?${queryParameters.join('&')}`
|
|
71
|
+
: '';
|
|
72
|
+
// user principal name can start with $ but it violates the OData URL convention, so it must be enclosed in parenthesis and single quotes
|
|
73
|
+
return userIdOrPrincipalName.startsWith('%24')
|
|
74
|
+
? `${this.resource}/v1.0/users('${userIdOrPrincipalName}')${queryString}`
|
|
75
|
+
: `${this.resource}/v1.0/users/${userIdOrPrincipalName}${queryString}`;
|
|
76
|
+
}
|
|
77
77
|
}
|
|
78
78
|
_EntraUserGetCommand_instances = new WeakSet(), _EntraUserGetCommand_initTelemetry = function _EntraUserGetCommand_initTelemetry() {
|
|
79
79
|
this.telemetry.push((args) => {
|
|
@@ -33,7 +33,7 @@ class EntraUserLicenseListCommand extends GraphCommand {
|
|
|
33
33
|
__classPrivateFieldGet(this, _EntraUserLicenseListCommand_instances, "m", _EntraUserLicenseListCommand_initOptionSets).call(this);
|
|
34
34
|
}
|
|
35
35
|
async commandAction(logger, args) {
|
|
36
|
-
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.
|
|
36
|
+
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.connection.accessTokens[this.resource].accessToken);
|
|
37
37
|
if (isAppOnlyAccessToken && !args.options.userId && !args.options.userName) {
|
|
38
38
|
this.handleError(`Specify at least 'userId' or 'userName' when using application permissions.`);
|
|
39
39
|
}
|
|
@@ -0,0 +1,224 @@
|
|
|
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 _EntraUserRegistrationDetailsListCommand_instances, _EntraUserRegistrationDetailsListCommand_initTelemetry, _EntraUserRegistrationDetailsListCommand_initOptions, _EntraUserRegistrationDetailsListCommand_initValidators;
|
|
7
|
+
import GraphCommand from '../../../base/GraphCommand.js';
|
|
8
|
+
import commands from '../../commands.js';
|
|
9
|
+
import aadCommands from '../../aadCommands.js';
|
|
10
|
+
import { odata } from '../../../../utils/odata.js';
|
|
11
|
+
import { entraUser } from '../../../../utils/entraUser.js';
|
|
12
|
+
import { validation } from '../../../../utils/validation.js';
|
|
13
|
+
import { formatting } from '../../../../utils/formatting.js';
|
|
14
|
+
const authenticationMethods = ['push', 'oath', 'voiceMobile', 'voiceAlternateMobile', 'voiceOffice', 'sms', 'none'];
|
|
15
|
+
const methodsRegistered = ['mobilePhone', 'email', 'fido2', 'microsoftAuthenticatorPush', 'softwareOneTimePasscode'];
|
|
16
|
+
class EntraUserRegistrationDetailsListCommand extends GraphCommand {
|
|
17
|
+
get name() {
|
|
18
|
+
return commands.USER_REGISTRATIONDETAILS_LIST;
|
|
19
|
+
}
|
|
20
|
+
get description() {
|
|
21
|
+
return 'Retrieves a list of the authentication methods registered for users';
|
|
22
|
+
}
|
|
23
|
+
alias() {
|
|
24
|
+
return [aadCommands.USER_REGISTRATIONDETAILS_LIST];
|
|
25
|
+
}
|
|
26
|
+
defaultProperties() {
|
|
27
|
+
return ['userPrincipalName', 'methodsRegistered', 'lastUpdatedDateTime'];
|
|
28
|
+
}
|
|
29
|
+
constructor() {
|
|
30
|
+
super();
|
|
31
|
+
_EntraUserRegistrationDetailsListCommand_instances.add(this);
|
|
32
|
+
__classPrivateFieldGet(this, _EntraUserRegistrationDetailsListCommand_instances, "m", _EntraUserRegistrationDetailsListCommand_initTelemetry).call(this);
|
|
33
|
+
__classPrivateFieldGet(this, _EntraUserRegistrationDetailsListCommand_instances, "m", _EntraUserRegistrationDetailsListCommand_initOptions).call(this);
|
|
34
|
+
__classPrivateFieldGet(this, _EntraUserRegistrationDetailsListCommand_instances, "m", _EntraUserRegistrationDetailsListCommand_initValidators).call(this);
|
|
35
|
+
}
|
|
36
|
+
async commandAction(logger, args) {
|
|
37
|
+
try {
|
|
38
|
+
let userUpns = [];
|
|
39
|
+
if (args.options.userIds) {
|
|
40
|
+
const ids = args.options.userIds.split(',').map(m => m.trim());
|
|
41
|
+
userUpns = await Promise.all(ids.map(id => entraUser.getUpnByUserId(id)));
|
|
42
|
+
}
|
|
43
|
+
const requestUrl = this.getRequestUrl(args.options, userUpns);
|
|
44
|
+
const result = await odata.getAllItems(requestUrl);
|
|
45
|
+
await logger.log(result);
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
this.handleRejectedODataJsonPromise(err);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
getRequestUrl(options, userUpns) {
|
|
52
|
+
const queryParameters = [];
|
|
53
|
+
if (options.properties) {
|
|
54
|
+
queryParameters.push(`$select=${options.properties}`);
|
|
55
|
+
}
|
|
56
|
+
const filters = [];
|
|
57
|
+
if (options.isAdmin !== undefined) {
|
|
58
|
+
filters.push(`isAdmin eq ${options.isAdmin}`);
|
|
59
|
+
}
|
|
60
|
+
if (options.isMfaCapable !== undefined) {
|
|
61
|
+
filters.push(`isMfaCapable eq ${options.isMfaCapable}`);
|
|
62
|
+
}
|
|
63
|
+
if (options.isMfaRegistered !== undefined) {
|
|
64
|
+
filters.push(`isMfaRegistered eq ${options.isMfaRegistered}`);
|
|
65
|
+
}
|
|
66
|
+
if (options.isPasswordlessCapable !== undefined) {
|
|
67
|
+
filters.push(`isPasswordlessCapable eq ${options.isPasswordlessCapable}`);
|
|
68
|
+
}
|
|
69
|
+
if (options.isSelfServicePasswordResetCapable !== undefined) {
|
|
70
|
+
filters.push(`isSelfServicePasswordResetCapable eq ${options.isSelfServicePasswordResetCapable}`);
|
|
71
|
+
}
|
|
72
|
+
if (options.isSelfServicePasswordResetEnabled !== undefined) {
|
|
73
|
+
filters.push(`isSelfServicePasswordResetEnabled eq ${options.isSelfServicePasswordResetEnabled}`);
|
|
74
|
+
}
|
|
75
|
+
if (options.isSelfServicePasswordResetRegistered !== undefined) {
|
|
76
|
+
filters.push(`isSelfServicePasswordResetRegistered eq ${options.isSelfServicePasswordResetRegistered}`);
|
|
77
|
+
}
|
|
78
|
+
if (options.isSystemPreferredAuthenticationMethodEnabled !== undefined) {
|
|
79
|
+
filters.push(`isSystemPreferredAuthenticationMethodEnabled eq ${options.isSystemPreferredAuthenticationMethodEnabled}`);
|
|
80
|
+
}
|
|
81
|
+
const methodsRegistered = options.methodsRegistered?.split(',').map(method => `methodsRegistered/any(m:m eq '${method.trim()}')`);
|
|
82
|
+
const methodsRegisteredFilter = methodsRegistered?.join(' or ');
|
|
83
|
+
if (methodsRegisteredFilter) {
|
|
84
|
+
filters.push(`(${methodsRegisteredFilter})`);
|
|
85
|
+
}
|
|
86
|
+
const systemPreferredAuthenticationMethods = options.systemPreferredAuthenticationMethods?.split(',').map(method => `systemPreferredAuthenticationMethods/any(m:m eq '${method.trim()}')`);
|
|
87
|
+
const systemPreferredAuthenticationMethodsFilter = systemPreferredAuthenticationMethods?.join(' or ');
|
|
88
|
+
if (systemPreferredAuthenticationMethodsFilter) {
|
|
89
|
+
filters.push(`(${systemPreferredAuthenticationMethodsFilter})`);
|
|
90
|
+
}
|
|
91
|
+
const userUPNs = [];
|
|
92
|
+
if (userUpns.length > 0) {
|
|
93
|
+
userUpns.forEach(upn => {
|
|
94
|
+
userUPNs.push(`userPrincipalName eq '${formatting.encodeQueryParameter(upn)}'`);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
if (options.userPrincipalNames) {
|
|
98
|
+
const upns = options.userPrincipalNames.split(',').map(m => m.trim());
|
|
99
|
+
upns.forEach(upn => {
|
|
100
|
+
userUPNs.push(`userPrincipalName eq '${formatting.encodeQueryParameter(upn)}'`);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
if (userUPNs.length > 0) {
|
|
104
|
+
filters.push(`(${userUPNs.join(' or ')})`);
|
|
105
|
+
}
|
|
106
|
+
const userPreferredMethodForSecondaryAuthentication = options.userPreferredMethodForSecondaryAuthentication?.split(',').map(method => `userPreferredMethodForSecondaryAuthentication eq '${method.trim()}'`);
|
|
107
|
+
const userPreferredMethodForSecondaryAuthenticationFilter = userPreferredMethodForSecondaryAuthentication?.join(' or ');
|
|
108
|
+
if (userPreferredMethodForSecondaryAuthenticationFilter) {
|
|
109
|
+
filters.push(`(${userPreferredMethodForSecondaryAuthenticationFilter})`);
|
|
110
|
+
}
|
|
111
|
+
if (options.userType) {
|
|
112
|
+
filters.push(`userType eq '${options.userType}'`);
|
|
113
|
+
}
|
|
114
|
+
if (filters.length > 0) {
|
|
115
|
+
queryParameters.push(`$filter=${filters.join(' and ')}`);
|
|
116
|
+
}
|
|
117
|
+
const queryString = queryParameters.length > 0
|
|
118
|
+
? `?${queryParameters.join('&')}`
|
|
119
|
+
: '';
|
|
120
|
+
return `${this.resource}/v1.0/reports/authenticationMethods/userRegistrationDetails${queryString}`;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
_EntraUserRegistrationDetailsListCommand_instances = new WeakSet(), _EntraUserRegistrationDetailsListCommand_initTelemetry = function _EntraUserRegistrationDetailsListCommand_initTelemetry() {
|
|
124
|
+
this.telemetry.push((args) => {
|
|
125
|
+
Object.assign(this.telemetryProperties, {
|
|
126
|
+
isAdmin: !!args.options.isAdmin,
|
|
127
|
+
userType: typeof args.options.userType !== 'undefined',
|
|
128
|
+
userPreferredMethodForSecondaryAuthentication: typeof args.options.userPreferredMethodForSecondaryAuthentication !== 'undefined',
|
|
129
|
+
systemPreferredAuthenticationMethods: typeof args.options.systemPreferredAuthenticationMethods !== 'undefined',
|
|
130
|
+
isSelfServicePasswordResetRegistered: !!args.options.isSelfServicePasswordResetRegistered,
|
|
131
|
+
isSelfServicePasswordResetEnabled: !!args.options.isSelfServicePasswordResetEnabled,
|
|
132
|
+
isSelfServicePasswordResetCapable: !!args.options.isSelfServicePasswordResetCapable,
|
|
133
|
+
isMfaRegistered: !!args.options.isMfaRegistered,
|
|
134
|
+
isMfaCapable: !!args.options.isMfaCapable,
|
|
135
|
+
isPasswordlessCapable: !!args.options.isPasswordlessCapable,
|
|
136
|
+
isSystemPreferredAuthenticationMethodEnabled: !!args.options.isSystemPreferredAuthenticationMethodEnabled,
|
|
137
|
+
methodsRegistered: typeof args.options.methodsRegistered !== 'undefined',
|
|
138
|
+
userIds: typeof args.options.userIds !== 'undefined',
|
|
139
|
+
userPrincipalNames: typeof args.options.userPrincipalNames !== 'undefined',
|
|
140
|
+
properties: typeof args.options.properties !== 'undefined'
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
}, _EntraUserRegistrationDetailsListCommand_initOptions = function _EntraUserRegistrationDetailsListCommand_initOptions() {
|
|
144
|
+
this.options.unshift({
|
|
145
|
+
option: '--isAdmin [isAdmin]'
|
|
146
|
+
}, {
|
|
147
|
+
option: '--userType [userType]',
|
|
148
|
+
autocomplete: ['member', 'guest']
|
|
149
|
+
}, {
|
|
150
|
+
option: '--userPreferredMethodForSecondaryAuthentication [userPreferredMethodForSecondaryAuthentication ]',
|
|
151
|
+
autocomplete: authenticationMethods
|
|
152
|
+
}, {
|
|
153
|
+
option: '--systemPreferredAuthenticationMethods [systemPreferredAuthenticationMethods ]',
|
|
154
|
+
autocomplete: authenticationMethods
|
|
155
|
+
}, {
|
|
156
|
+
option: '--isSelfServicePasswordResetRegistered [isSelfServicePasswordResetRegistered]'
|
|
157
|
+
}, {
|
|
158
|
+
option: '--isSelfServicePasswordResetEnabled [isSelfServicePasswordResetEnabled]'
|
|
159
|
+
}, {
|
|
160
|
+
option: '--isSelfServicePasswordResetCapable [isSelfServicePasswordResetCapable]'
|
|
161
|
+
}, {
|
|
162
|
+
option: '--isMfaRegistered [isMfaRegistered]'
|
|
163
|
+
}, {
|
|
164
|
+
option: '--isMfaCapable [isMfaCapable]'
|
|
165
|
+
}, {
|
|
166
|
+
option: '--isPasswordlessCapable [isPasswordlessCapable]'
|
|
167
|
+
}, {
|
|
168
|
+
option: '--isSystemPreferredAuthenticationMethodEnabled [isSystemPreferredAuthenticationMethodEnabled]'
|
|
169
|
+
}, {
|
|
170
|
+
option: '--methodsRegistered [methodsRegistered]',
|
|
171
|
+
autocomplete: methodsRegistered
|
|
172
|
+
}, {
|
|
173
|
+
option: '--userIds [userIds]'
|
|
174
|
+
}, {
|
|
175
|
+
option: '--userPrincipalNames [userPrincipalNames]'
|
|
176
|
+
}, {
|
|
177
|
+
option: '-p, --properties [properties]'
|
|
178
|
+
});
|
|
179
|
+
}, _EntraUserRegistrationDetailsListCommand_initValidators = function _EntraUserRegistrationDetailsListCommand_initValidators() {
|
|
180
|
+
this.validators.push(async (args) => {
|
|
181
|
+
if (args.options.userType) {
|
|
182
|
+
if (['member', 'guest'].every(type => type !== args.options.userType)) {
|
|
183
|
+
return `'${args.options.userType}' is not a valid userType value. Allowed values member, guest`;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (args.options.userPreferredMethodForSecondaryAuthentication) {
|
|
187
|
+
const methods = args.options.userPreferredMethodForSecondaryAuthentication.split(',').map(m => m.trim());
|
|
188
|
+
const invalidMethods = methods.filter(m => !authenticationMethods.includes(m));
|
|
189
|
+
if (invalidMethods.length > 0) {
|
|
190
|
+
return `'${args.options.userPreferredMethodForSecondaryAuthentication}' is not a valid userPreferredMethodForSecondaryAuthentication value. Invalid values: ${invalidMethods.join(',')}. Allowed values ${authenticationMethods.join(', ')}`;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (args.options.systemPreferredAuthenticationMethods) {
|
|
194
|
+
const methods = args.options.systemPreferredAuthenticationMethods.split(',').map(m => m.trim());
|
|
195
|
+
const invalidMethods = methods.filter(m => !authenticationMethods.includes(m));
|
|
196
|
+
if (invalidMethods.length > 0) {
|
|
197
|
+
return `'${args.options.systemPreferredAuthenticationMethods}' is not a valid systemPreferredAuthenticationMethods value. Invalid values: ${invalidMethods.join(',')}. Allowed values ${authenticationMethods.join(', ')}`;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (args.options.methodsRegistered) {
|
|
201
|
+
const methods = args.options.methodsRegistered.split(',').map(m => m.trim());
|
|
202
|
+
const invalidMethods = methods.filter(m => !methodsRegistered.includes(m));
|
|
203
|
+
if (invalidMethods.length > 0) {
|
|
204
|
+
return `'${args.options.methodsRegistered}' is not a valid methodsRegistered value. Invalid values: ${invalidMethods.join(',')}. Allowed values ${methodsRegistered.join(', ')}`;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if (args.options.userIds) {
|
|
208
|
+
const ids = args.options.userIds.split(',').map(i => i.trim());
|
|
209
|
+
if (!validation.isValidGuidArray(ids)) {
|
|
210
|
+
const invalidGuid = ids.find(id => !validation.isValidGuid(id));
|
|
211
|
+
return `'${invalidGuid}' is not a valid GUID for option 'userIds'.`;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (args.options.userPrincipalNames) {
|
|
215
|
+
const isValidUserPrincipalNameArray = validation.isValidUserPrincipalNameArray(args.options.userPrincipalNames.split(',').map(u => u.trim()));
|
|
216
|
+
if (isValidUserPrincipalNameArray !== true) {
|
|
217
|
+
return `User principal name '${isValidUserPrincipalNameArray}' is invalid for option 'userPrincipalNames'.`;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return true;
|
|
221
|
+
});
|
|
222
|
+
};
|
|
223
|
+
export default new EntraUserRegistrationDetailsListCommand();
|
|
224
|
+
//# sourceMappingURL=user-registrationdetails-list.js.map
|
|
@@ -37,10 +37,10 @@ class EntraUserSetCommand extends GraphCommand {
|
|
|
37
37
|
async commandAction(logger, args) {
|
|
38
38
|
try {
|
|
39
39
|
if (args.options.currentPassword) {
|
|
40
|
-
if (args.options.id && args.options.id !== accessToken.getUserIdFromAccessToken(auth.
|
|
40
|
+
if (args.options.id && args.options.id !== accessToken.getUserIdFromAccessToken(auth.connection.accessTokens[auth.defaultResource].accessToken)) {
|
|
41
41
|
throw `You can only change your own password. Please use --id @meId to reference to your own userId`;
|
|
42
42
|
}
|
|
43
|
-
else if (args.options.userName && args.options.userName.toLowerCase() !== accessToken.getUserNameFromAccessToken(auth.
|
|
43
|
+
else if (args.options.userName && args.options.userName.toLowerCase() !== accessToken.getUserNameFromAccessToken(auth.connection.accessTokens[auth.defaultResource].accessToken).toLowerCase()) {
|
|
44
44
|
throw 'You can only change your own password. Please use --userName @meUserName to reference to your own user principal name';
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -7,6 +7,7 @@ export default {
|
|
|
7
7
|
ADMINISTRATIVEUNIT_MEMBER_ADD: `${prefix} administrativeunit member add`,
|
|
8
8
|
ADMINISTRATIVEUNIT_MEMBER_GET: `${prefix} administrativeunit member get`,
|
|
9
9
|
ADMINISTRATIVEUNIT_MEMBER_LIST: `${prefix} administrativeunit member list`,
|
|
10
|
+
ADMINISTRATIVEUNIT_MEMBER_REMOVE: `${prefix} administrativeunit member remove`,
|
|
10
11
|
ADMINISTRATIVEUNIT_ROLEASSIGNMENT_ADD: `${prefix} administrativeunit roleassignment add`,
|
|
11
12
|
APP_ADD: `${prefix} app add`,
|
|
12
13
|
APP_GET: `${prefix} app get`,
|
|
@@ -14,15 +15,30 @@ export default {
|
|
|
14
15
|
APP_REMOVE: `${prefix} app remove`,
|
|
15
16
|
APP_SET: `${prefix} app set`,
|
|
16
17
|
APP_PERMISSION_ADD: `${prefix} app permission add`,
|
|
18
|
+
APP_PERMISSION_LIST: `${prefix} app permission list`,
|
|
17
19
|
APP_ROLE_ADD: `${prefix} app role add`,
|
|
18
20
|
APP_ROLE_LIST: `${prefix} app role list`,
|
|
19
21
|
APP_ROLE_REMOVE: `${prefix} app role remove`,
|
|
22
|
+
APPREGISTRATION_ADD: `${prefix} appregistration add`,
|
|
23
|
+
APPREGISTRATION_GET: `${prefix} appregistration get`,
|
|
24
|
+
APPREGISTRATION_LIST: `${prefix} appregistration list`,
|
|
25
|
+
APPREGISTRATION_REMOVE: `${prefix} appregistration remove`,
|
|
26
|
+
APPREGISTRATION_SET: `${prefix} appregistration set`,
|
|
27
|
+
APPREGISTRATION_PERMISSION_ADD: `${prefix} appregistration permission add`,
|
|
28
|
+
APPREGISTRATION_ROLE_ADD: `${prefix} appregistration role add`,
|
|
29
|
+
APPREGISTRATION_ROLE_LIST: `${prefix} appregistration role list`,
|
|
30
|
+
APPREGISTRATION_ROLE_REMOVE: `${prefix} appregistration role remove`,
|
|
20
31
|
APPROLEASSIGNMENT_ADD: `${prefix} approleassignment add`,
|
|
21
32
|
APPROLEASSIGNMENT_LIST: `${prefix} approleassignment list`,
|
|
22
33
|
APPROLEASSIGNMENT_REMOVE: `${prefix} approleassignment remove`,
|
|
34
|
+
ENTERPRISEAPP_ADD: `${prefix} enterpriseapp add`,
|
|
35
|
+
ENTERPRISEAPP_GET: `${prefix} enterpriseapp get`,
|
|
36
|
+
ENTERPRISEAPP_LIST: `${prefix} enterpriseapp list`,
|
|
37
|
+
GROUP_ADD: `${prefix} group add`,
|
|
23
38
|
GROUP_GET: `${prefix} group get`,
|
|
24
39
|
GROUP_LIST: `${prefix} group list`,
|
|
25
40
|
GROUP_REMOVE: `${prefix} group remove`,
|
|
41
|
+
GROUP_USER_ADD: `${prefix} group user add`,
|
|
26
42
|
GROUP_USER_LIST: `${prefix} group user list`,
|
|
27
43
|
GROUPSETTING_ADD: `${prefix} groupsetting add`,
|
|
28
44
|
GROUPSETTING_GET: `${prefix} groupsetting get`,
|
|
@@ -78,6 +94,7 @@ export default {
|
|
|
78
94
|
USER_RECYCLEBINITEM_CLEAR: `${prefix} user recyclebinitem clear`,
|
|
79
95
|
USER_RECYCLEBINITEM_LIST: `${prefix} user recyclebinitem list`,
|
|
80
96
|
USER_RECYCLEBINITEM_REMOVE: `${prefix} user recyclebinitem remove`,
|
|
97
|
+
USER_REGISTRATIONDETAILS_LIST: `${prefix} user registrationdetails list`,
|
|
81
98
|
USER_REMOVE: `${prefix} user remove`,
|
|
82
99
|
USER_RECYCLEBINITEM_RESTORE: `${prefix} user recyclebinitem restore`,
|
|
83
100
|
USER_SET: `${prefix} user set`,
|
|
@@ -228,7 +228,8 @@ class ExternalConnectionDoctorCommand extends GraphCommand {
|
|
|
228
228
|
const requestOptions = {
|
|
229
229
|
url: `${this.resource}/v1.0/external/connections/${args.options.id}/schema`,
|
|
230
230
|
headers: {
|
|
231
|
-
accept: 'application/json;odata.metadata=none'
|
|
231
|
+
accept: 'application/json;odata.metadata=none',
|
|
232
|
+
prefer: 'include-unknown-enum-members'
|
|
232
233
|
},
|
|
233
234
|
responseType: 'json'
|
|
234
235
|
};
|
|
@@ -35,7 +35,7 @@ class FileConvertPdfCommand extends GraphCommand {
|
|
|
35
35
|
let sourceIsLocalFile = true;
|
|
36
36
|
let targetIsLocalFile = true;
|
|
37
37
|
let error;
|
|
38
|
-
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.
|
|
38
|
+
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.connection.accessTokens[auth.defaultResource].accessToken);
|
|
39
39
|
if (typeof isAppOnlyAccessToken === 'undefined') {
|
|
40
40
|
throw 'Unable to determine authentication type';
|
|
41
41
|
}
|