@pnp/cli-microsoft365 10.0.0-beta.e925c1c → 10.0.0
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/.eslintrc.cjs +1 -0
- package/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/Auth.js +6 -4
- package/dist/AuthServer.js +7 -7
- package/dist/Command.js +4 -1
- package/dist/api.js +1 -1
- package/dist/appInsights.js +6 -4
- package/dist/config.js +1 -0
- package/dist/m365/base/PowerAutomateCommand.js +1 -1
- package/dist/m365/cli/commands/cli-doctor.js +2 -2
- package/dist/m365/cli/commands/config/config-set.js +0 -1
- package/dist/m365/cli/commands.js +1 -2
- package/dist/m365/commands/login.js +122 -69
- package/dist/m365/commands/setup.js +1 -1
- package/dist/m365/commands/setupPresets.js +2 -4
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-add.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-get.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-list.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-add.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-get.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-list.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-remove.js +0 -5
- package/dist/m365/entra/commands/app/app-add.js +0 -5
- package/dist/m365/entra/commands/app/app-get.js +0 -5
- package/dist/m365/entra/commands/app/app-list.js +0 -5
- package/dist/m365/entra/commands/app/app-permission-add.js +0 -5
- package/dist/m365/entra/commands/app/app-remove.js +0 -5
- package/dist/m365/entra/commands/app/app-role-add.js +0 -5
- package/dist/m365/entra/commands/app/app-role-list.js +0 -5
- package/dist/m365/entra/commands/app/app-role-remove.js +0 -5
- package/dist/m365/entra/commands/app/app-set.js +0 -5
- package/dist/m365/entra/commands/approleassignment/approleassignment-add.js +0 -5
- package/dist/m365/entra/commands/approleassignment/approleassignment-list.js +0 -5
- package/dist/m365/entra/commands/approleassignment/approleassignment-remove.js +0 -5
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-add.js +0 -5
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-get.js +0 -5
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-list.js +0 -5
- package/dist/m365/entra/commands/group/group-add.js +0 -4
- package/dist/m365/entra/commands/group/group-get.js +0 -5
- package/dist/m365/entra/commands/group/group-list.js +0 -5
- package/dist/m365/entra/commands/group/{group-user-add.js → group-member-add.js} +18 -18
- package/dist/m365/entra/commands/group/{group-user-list.js → group-member-list.js} +16 -21
- package/dist/m365/entra/commands/group/{group-user-set.js → group-member-set.js} +19 -19
- package/dist/m365/entra/commands/group/group-remove.js +0 -5
- package/dist/m365/entra/commands/groupsetting/groupsetting-add.js +0 -5
- package/dist/m365/entra/commands/groupsetting/groupsetting-get.js +0 -5
- package/dist/m365/entra/commands/groupsetting/groupsetting-list.js +0 -5
- package/dist/m365/entra/commands/groupsetting/groupsetting-remove.js +0 -5
- package/dist/m365/entra/commands/groupsetting/groupsetting-set.js +0 -5
- package/dist/m365/entra/commands/groupsettingtemplate/groupsettingtemplate-get.js +0 -5
- package/dist/m365/entra/commands/groupsettingtemplate/groupsettingtemplate-list.js +0 -5
- package/dist/m365/entra/commands/license/license-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-add.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-get.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-clear.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-remove.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-restore.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-remove.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-renew.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-report-activitycounts.js +0 -4
- package/dist/m365/entra/commands/m365group/m365group-report-activitydetail.js +0 -4
- package/dist/m365/entra/commands/m365group/m365group-report-activityfilecounts.js +0 -4
- package/dist/m365/entra/commands/m365group/m365group-report-activitygroupcounts.js +0 -4
- package/dist/m365/entra/commands/m365group/m365group-report-activitystorage.js +0 -4
- package/dist/m365/entra/commands/m365group/m365group-set.js +159 -86
- package/dist/m365/entra/commands/m365group/m365group-teamify.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-user-add.js +5 -18
- package/dist/m365/entra/commands/m365group/m365group-user-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-user-remove.js +84 -62
- package/dist/m365/entra/commands/m365group/m365group-user-set.js +3 -15
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-add.js +0 -5
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-list.js +3 -17
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-remove.js +0 -5
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-set.js +0 -5
- package/dist/m365/entra/commands/policy/policy-list.js +0 -5
- package/dist/m365/entra/commands/siteclassification/siteclassification-disable.js +0 -5
- package/dist/m365/entra/commands/siteclassification/siteclassification-enable.js +0 -5
- package/dist/m365/entra/commands/siteclassification/siteclassification-get.js +0 -5
- package/dist/m365/entra/commands/siteclassification/siteclassification-set.js +0 -5
- package/dist/m365/entra/commands/user/user-add.js +0 -5
- package/dist/m365/entra/commands/user/user-get.js +0 -5
- package/dist/m365/entra/commands/user/user-guest-add.js +0 -5
- package/dist/m365/entra/commands/user/user-hibp.js +0 -5
- package/dist/m365/entra/commands/user/user-license-add.js +0 -5
- package/dist/m365/entra/commands/user/user-license-list.js +0 -5
- package/dist/m365/entra/commands/user/user-license-remove.js +0 -5
- package/dist/m365/entra/commands/user/user-list.js +0 -5
- package/dist/m365/entra/commands/user/user-password-validate.js +0 -5
- package/dist/m365/entra/commands/user/user-recyclebinitem-clear.js +0 -5
- package/dist/m365/entra/commands/user/user-recyclebinitem-list.js +0 -5
- package/dist/m365/entra/commands/user/user-recyclebinitem-remove.js +0 -5
- package/dist/m365/entra/commands/user/user-recyclebinitem-restore.js +0 -5
- package/dist/m365/entra/commands/user/user-registrationdetails-list.js +0 -4
- package/dist/m365/entra/commands/user/user-remove.js +0 -5
- package/dist/m365/entra/commands/user/user-set.js +0 -5
- package/dist/m365/entra/commands/user/user-signin-list.js +0 -5
- package/dist/m365/entra/commands.js +3 -3
- package/dist/m365/external/commands/item/item-add.js +2 -5
- package/dist/m365/file/commands/file-move.js +135 -0
- package/dist/m365/file/commands.js +2 -1
- package/dist/m365/flow/commands/environment/environment-get.js +1 -1
- package/dist/m365/flow/commands/environment/environment-list.js +2 -2
- package/dist/m365/flow/commands/flow-disable.js +1 -1
- package/dist/m365/flow/commands/flow-enable.js +1 -1
- package/dist/m365/flow/commands/flow-export.js +17 -16
- package/dist/m365/flow/commands/flow-get.js +1 -1
- package/dist/m365/flow/commands/flow-list.js +1 -1
- package/dist/m365/flow/commands/flow-remove.js +1 -1
- package/dist/m365/flow/commands/owner/owner-ensure.js +1 -1
- package/dist/m365/flow/commands/owner/owner-list.js +1 -1
- package/dist/m365/flow/commands/owner/owner-remove.js +1 -1
- package/dist/m365/flow/commands/recyclebinitem/recyclebinitem-list.js +47 -0
- package/dist/m365/flow/commands/recyclebinitem/recyclebinitem-restore.js +48 -0
- package/dist/m365/flow/commands/run/run-cancel.js +1 -1
- package/dist/m365/flow/commands/run/run-get.js +1 -1
- package/dist/m365/flow/commands/run/run-list.js +1 -1
- package/dist/m365/flow/commands/run/run-resubmit.js +2 -2
- package/dist/m365/flow/commands.js +2 -0
- package/dist/m365/pa/commands/app/app-list.js +1 -6
- package/dist/m365/pa/commands/connector/connector-list.js +1 -6
- package/dist/m365/pa/commands/environment/environment-list.js +1 -1
- package/dist/m365/pp/commands/environment/environment-list.js +1 -1
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.20.0.js +27 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN002021_DEVDEP_rushstack_eslint_config.js +10 -0
- package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.20.0.js +59 -0
- package/dist/m365/spfx/commands/project/project-upgrade.js +2 -1
- package/dist/m365/spfx/commands/spfx-doctor.js +15 -0
- package/dist/m365/spo/commands/app/app-instance-list.js +3 -18
- package/dist/m365/spo/commands/app/app-list.js +1 -8
- package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +8 -8
- package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +2 -2
- package/dist/m365/spo/commands/feature/feature-list.js +1 -8
- package/dist/m365/spo/commands/file/file-copy.js +11 -7
- package/dist/m365/spo/commands/file/file-move.js +55 -33
- package/dist/m365/spo/commands/file/file-remove.js +7 -1
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +17 -54
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +13 -40
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +5 -13
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +5 -13
- package/dist/m365/spo/commands/folder/folder-copy.js +43 -35
- package/dist/m365/spo/commands/folder/folder-move.js +43 -35
- package/dist/m365/spo/commands/folder/folder-sharinglink-add.js +143 -0
- package/dist/m365/spo/commands/folder/folder-sharinglink-clear.js +111 -0
- package/dist/m365/spo/commands/folder/folder-sharinglink-remove.js +95 -0
- package/dist/m365/spo/commands/folder/folder-sharinglink-set.js +90 -0
- package/dist/m365/spo/commands/group/group-member-add.js +3 -23
- package/dist/m365/spo/commands/group/group-member-remove.js +1 -18
- package/dist/m365/spo/commands/list/list-get.js +17 -4
- package/dist/m365/spo/commands/list/list-remove.js +14 -4
- package/dist/m365/spo/commands/list/list-webhook-list.js +1 -6
- package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +1 -8
- package/dist/m365/spo/commands/page/page-list.js +1 -1
- package/dist/m365/spo/commands/page/page-publish.js +54 -0
- package/dist/m365/spo/commands/page/page-remove.js +37 -16
- package/dist/m365/spo/commands/page/page-section-add.js +185 -34
- package/dist/m365/spo/commands/page/page-template-list.js +1 -3
- package/dist/m365/spo/commands/site/SiteAdmin.js +2 -0
- package/dist/m365/spo/commands/site/site-admin-add.js +252 -0
- package/dist/m365/spo/commands/site/site-admin-list.js +10 -36
- package/dist/m365/spo/commands/site/site-admin-remove.js +194 -0
- package/dist/m365/spo/commands/site/site-sharingpermission-set.js +68 -0
- package/dist/m365/spo/commands/sitescript/sitescript-get.js +3 -2
- package/dist/m365/spo/commands/sitescript/sitescript-list.js +1 -3
- package/dist/m365/spo/commands/tenant/SPOTenantSitePropertiesEnumerable.js +2 -0
- package/dist/m365/spo/commands/tenant/TenantSiteProperties.js +2 -0
- package/dist/m365/spo/commands/{site/site-list.js → tenant/tenant-site-list.js} +15 -12
- package/dist/m365/spo/commands/tenant/tenant-site-membership-list.js +118 -0
- package/dist/m365/spo/commands/{site/site-rename.js → tenant/tenant-site-rename.js} +29 -32
- package/dist/m365/spo/commands/theme/theme-list.js +1 -1
- package/dist/m365/spo/commands/user/user-ensure.js +1 -11
- package/dist/m365/spo/commands/user/user-get.js +67 -9
- package/dist/m365/spo/commands/userprofile/userprofile-get.js +1 -1
- package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +1 -6
- package/dist/m365/spo/commands.js +11 -1
- package/dist/m365/spp/commands/contentcenter/contentcenter-list.js +56 -0
- package/dist/m365/spp/commands/model/model-list.js +57 -0
- package/dist/m365/spp/commands.js +6 -0
- package/dist/m365/teams/MeetingTranscript.js +2 -0
- package/dist/m365/teams/commands/cache/cache-remove.js +74 -34
- package/dist/m365/teams/commands/channel/channel-get.js +15 -50
- package/dist/m365/teams/commands/meeting/meeting-transcript-get.js +152 -0
- package/dist/m365/teams/commands/tab/tab-list.js +5 -3
- package/dist/m365/teams/commands/team/team-get.js +16 -21
- package/dist/m365/teams/commands.js +1 -0
- package/dist/m365/viva/commands/engage/Community.js +2 -0
- package/dist/m365/viva/commands/engage/engage-community-list.js +28 -0
- package/dist/m365/viva/commands/engage/engage-community-user-list.js +98 -0
- package/dist/m365/viva/commands.js +2 -0
- package/dist/request.js +46 -61
- package/dist/settingsNames.js +0 -1
- package/dist/telemetryRunner.js +2 -2
- package/dist/utils/spo.js +166 -29
- package/dist/utils/spp.js +22 -0
- package/dist/utils/teams.js +47 -5
- package/dist/utils/timersUtil.js +13 -0
- package/dist/utils/urlUtil.js +8 -0
- package/dist/utils/vivaEngage.js +61 -0
- package/dist/utils/zod.js +12 -3
- package/docs/docs/_clisettings.mdx +0 -1
- package/docs/docs/cmd/cli/cli-doctor.mdx +24 -23
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-add.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-get.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-list.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-add.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-get.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-list.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-remove.mdx +0 -6
- package/docs/docs/cmd/entra/app/app-add.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-get.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-list.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-permission-add.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-permission-list.mdx +0 -6
- package/docs/docs/cmd/entra/app/app-remove.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-role-add.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-role-list.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-role-remove.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-set.mdx +0 -1
- package/docs/docs/cmd/entra/approleassignment/approleassignment-add.mdx +0 -6
- package/docs/docs/cmd/entra/approleassignment/approleassignment-list.mdx +0 -6
- package/docs/docs/cmd/entra/approleassignment/approleassignment-remove.mdx +0 -6
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-add.mdx +0 -1
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-get.mdx +0 -1
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-list.mdx +0 -1
- package/docs/docs/cmd/entra/group/group-add.mdx +0 -6
- package/docs/docs/cmd/entra/group/group-get.mdx +0 -6
- package/docs/docs/cmd/entra/group/group-list.mdx +0 -6
- package/docs/docs/cmd/entra/group/group-member-add.mdx +62 -0
- package/docs/docs/cmd/entra/group/{group-user-list.mdx → group-member-list.mdx} +14 -20
- package/docs/docs/cmd/entra/group/group-member-set.mdx +62 -0
- package/docs/docs/cmd/entra/group/group-remove.mdx +0 -6
- package/docs/docs/cmd/entra/groupsetting/groupsetting-add.mdx +0 -6
- package/docs/docs/cmd/entra/groupsetting/groupsetting-get.mdx +0 -6
- package/docs/docs/cmd/entra/groupsetting/groupsetting-list.mdx +0 -6
- package/docs/docs/cmd/entra/groupsetting/groupsetting-remove.mdx +0 -6
- package/docs/docs/cmd/entra/groupsetting/groupsetting-set.mdx +0 -6
- package/docs/docs/cmd/entra/groupsettingtemplate/groupsettingtemplate-get.mdx +0 -6
- package/docs/docs/cmd/entra/groupsettingtemplate/groupsettingtemplate-list.mdx +0 -6
- package/docs/docs/cmd/entra/license/license-list.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-add.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-conversation-list.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-conversation-post-list.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-get.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-list.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-clear.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-list.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-remove.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-restore.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-remove.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-renew.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-report-activitycounts.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-report-activitydetail.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-report-activityfilecounts.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-report-activitygroupcounts.mdx +2 -8
- package/docs/docs/cmd/entra/m365group/m365group-report-activitystorage.mdx +3 -9
- package/docs/docs/cmd/entra/m365group/m365group-set.mdx +38 -23
- package/docs/docs/cmd/entra/m365group/m365group-teamify.mdx +5 -11
- package/docs/docs/cmd/entra/m365group/m365group-user-add.mdx +5 -14
- package/docs/docs/cmd/entra/m365group/m365group-user-list.mdx +0 -12
- package/docs/docs/cmd/entra/m365group/m365group-user-remove.mdx +26 -21
- package/docs/docs/cmd/entra/m365group/m365group-user-set.mdx +4 -17
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-add.mdx +3 -9
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-list.mdx +1 -7
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-remove.mdx +4 -10
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-set.mdx +3 -9
- package/docs/docs/cmd/entra/policy/policy-list.mdx +3 -9
- package/docs/docs/cmd/entra/siteclassification/siteclassification-disable.mdx +3 -9
- package/docs/docs/cmd/entra/siteclassification/siteclassification-enable.mdx +7 -13
- package/docs/docs/cmd/entra/siteclassification/siteclassification-get.mdx +1 -7
- package/docs/docs/cmd/entra/siteclassification/siteclassification-set.mdx +8 -14
- package/docs/docs/cmd/entra/user/user-add.mdx +4 -10
- package/docs/docs/cmd/entra/user/user-get.mdx +7 -13
- package/docs/docs/cmd/entra/user/user-guest-add.mdx +3 -9
- package/docs/docs/cmd/entra/user/user-hibp.mdx +2 -8
- package/docs/docs/cmd/entra/user/user-license-add.mdx +0 -6
- package/docs/docs/cmd/entra/user/user-license-list.mdx +0 -6
- package/docs/docs/cmd/entra/user/user-license-remove.mdx +2 -8
- package/docs/docs/cmd/entra/user/user-list.mdx +1 -7
- package/docs/docs/cmd/entra/user/user-password-validate.mdx +1 -7
- package/docs/docs/cmd/entra/user/user-recyclebinitem-clear.mdx +2 -8
- package/docs/docs/cmd/entra/user/user-recyclebinitem-list.mdx +0 -6
- package/docs/docs/cmd/entra/user/user-recyclebinitem-remove.mdx +2 -8
- package/docs/docs/cmd/entra/user/user-recyclebinitem-restore.mdx +0 -6
- package/docs/docs/cmd/entra/user/user-registrationdetails-list.mdx +7 -13
- package/docs/docs/cmd/entra/user/user-remove.mdx +2 -8
- package/docs/docs/cmd/entra/user/user-set.mdx +0 -6
- package/docs/docs/cmd/entra/user/user-signin-list.mdx +9 -15
- package/docs/docs/cmd/external/item/item-add.mdx +3 -3
- package/docs/docs/cmd/file/file-move.mdx +79 -0
- package/docs/docs/cmd/flow/recyclebinitem/recyclebinitem-list.mdx +132 -0
- package/docs/docs/cmd/flow/recyclebinitem/recyclebinitem-restore.mdx +55 -0
- package/docs/docs/cmd/login.mdx +9 -0
- package/docs/docs/cmd/setup.mdx +1 -3
- package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-get.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-origin-add.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-origin-list.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-origin-remove.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-policy-list.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-policy-set.mdx +1 -1
- package/docs/docs/cmd/spo/contenttype/contenttype-field-remove.mdx +7 -7
- package/docs/docs/cmd/spo/contenttype/contenttype-field-set.mdx +2 -2
- package/docs/docs/cmd/spo/externaluser/externaluser-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-move.mdx +116 -11
- package/docs/docs/cmd/spo/file/file-remove.mdx +13 -4
- package/docs/docs/cmd/spo/folder/folder-copy.mdx +84 -13
- package/docs/docs/cmd/spo/folder/folder-move.mdx +84 -13
- package/docs/docs/cmd/spo/folder/folder-sharinglink-add.mdx +125 -0
- package/docs/docs/cmd/spo/folder/folder-sharinglink-clear.mdx +50 -0
- package/docs/docs/cmd/spo/folder/folder-sharinglink-remove.mdx +50 -0
- package/docs/docs/cmd/spo/folder/folder-sharinglink-set.mdx +116 -0
- package/docs/docs/cmd/spo/group/group-member-add.mdx +8 -14
- package/docs/docs/cmd/spo/group/group-member-remove.mdx +5 -11
- package/docs/docs/cmd/spo/hidedefaultthemes/hidedefaultthemes-get.mdx +1 -1
- package/docs/docs/cmd/spo/hidedefaultthemes/hidedefaultthemes-set.mdx +1 -1
- package/docs/docs/cmd/spo/homesite/homesite-remove.mdx +1 -1
- package/docs/docs/cmd/spo/knowledgehub/knowledgehub-get.mdx +1 -1
- package/docs/docs/cmd/spo/knowledgehub/knowledgehub-remove.mdx +1 -1
- package/docs/docs/cmd/spo/knowledgehub/knowledgehub-set.mdx +1 -1
- package/docs/docs/cmd/spo/list/list-remove.mdx +10 -1
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +1 -1
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.mdx +1 -1
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-remove.mdx +1 -1
- package/docs/docs/cmd/spo/orgnewssite/orgnewssite-list.mdx +1 -1
- package/docs/docs/cmd/spo/orgnewssite/orgnewssite-remove.mdx +1 -1
- package/docs/docs/cmd/spo/orgnewssite/orgnewssite-set.mdx +1 -1
- package/docs/docs/cmd/spo/page/page-publish.mdx +41 -0
- package/docs/docs/cmd/spo/page/page-remove.mdx +30 -12
- package/docs/docs/cmd/spo/page/page-section-add.mdx +57 -2
- package/docs/docs/cmd/spo/site/site-admin-add.mdx +67 -0
- package/docs/docs/cmd/spo/site/site-admin-list.mdx +64 -12
- package/docs/docs/cmd/spo/site/site-admin-remove.mdx +67 -0
- package/docs/docs/cmd/spo/site/site-appcatalog-add.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-set.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-sharingpermission-set.mdx +58 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +14 -1
- package/docs/docs/cmd/spo/storageentity/storageentity-remove.mdx +1 -1
- package/docs/docs/cmd/spo/storageentity/storageentity-set.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-settings-list.mdx +1 -1
- package/docs/docs/cmd/spo/{site/site-list.mdx → tenant/tenant-site-list.mdx} +19 -11
- package/docs/docs/cmd/spo/tenant/tenant-site-membership-list.mdx +122 -0
- package/docs/docs/cmd/spo/{site/site-rename.mdx → tenant/tenant-site-rename.mdx} +7 -7
- package/docs/docs/cmd/spo/theme/theme-apply.mdx +1 -1
- package/docs/docs/cmd/spo/theme/theme-get.mdx +1 -1
- package/docs/docs/cmd/spo/theme/theme-list.mdx +1 -1
- package/docs/docs/cmd/spo/theme/theme-remove.mdx +1 -1
- package/docs/docs/cmd/spo/theme/theme-set.mdx +1 -1
- package/docs/docs/cmd/spo/user/user-ensure.mdx +2 -5
- package/docs/docs/cmd/spo/user/user-get.mdx +35 -9
- package/docs/docs/cmd/spp/contentcenter/contentcenter-list.mdx +287 -0
- package/docs/docs/cmd/spp/model/model-list.mdx +140 -0
- package/docs/docs/cmd/teams/cache/cache-remove.mdx +10 -1
- package/docs/docs/cmd/teams/meeting/meeting-transcript-get.mdx +132 -0
- package/docs/docs/cmd/teams/tab/tab-list.mdx +1 -2
- package/docs/docs/cmd/viva/engage/engage-community-list.mdx +81 -0
- package/docs/docs/cmd/viva/engage/engage-community-user-list.mdx +123 -0
- package/npm-shrinkwrap.json +2215 -717
- package/package.json +21 -22
- package/dist/m365/cli/commands/cli-reconsent.js +0 -29
- package/dist/m365/entra/aadCommands.js +0 -89
- package/docs/docs/cmd/cli/cli-reconsent.mdx +0 -62
- package/docs/docs/cmd/entra/group/group-user-add.mdx +0 -62
- package/docs/docs/cmd/entra/group/group-user-set.mdx +0 -62
package/dist/Auth.js
CHANGED
|
@@ -117,7 +117,7 @@ export class Auth {
|
|
|
117
117
|
async restoreAuth() {
|
|
118
118
|
// check if auth has been restored previously
|
|
119
119
|
if (this._connection.active) {
|
|
120
|
-
return
|
|
120
|
+
return;
|
|
121
121
|
}
|
|
122
122
|
try {
|
|
123
123
|
const connection = await this.getConnectionInfoFromStorage();
|
|
@@ -353,7 +353,9 @@ export class Auth {
|
|
|
353
353
|
await logger.logToStderr(response);
|
|
354
354
|
await logger.logToStderr('');
|
|
355
355
|
}
|
|
356
|
-
|
|
356
|
+
if (response.message) {
|
|
357
|
+
await logger.logToStderr(`🌶️ ${response.message}`);
|
|
358
|
+
}
|
|
357
359
|
if (cli.getSettingWithDefaultValue(settingsNames.autoOpenLinksInBrowser, false)) {
|
|
358
360
|
await browserUtil.open(response.verificationUri);
|
|
359
361
|
}
|
|
@@ -471,7 +473,7 @@ export class Auth {
|
|
|
471
473
|
}
|
|
472
474
|
if (userName && process.env.ACC_CLOUD) {
|
|
473
475
|
// reject for now since the Azure Cloud Shell does not support user-managed identity
|
|
474
|
-
|
|
476
|
+
throw 'Azure Cloud Shell does not support user-managed identity. You can execute the command without the --userName option to login with user identity';
|
|
475
477
|
}
|
|
476
478
|
requestOptions.url = `${process.env.IDENTITY_ENDPOINT}?resource=${encodeURIComponent(resource)}`;
|
|
477
479
|
}
|
|
@@ -481,7 +483,7 @@ export class Auth {
|
|
|
481
483
|
}
|
|
482
484
|
if (userName && process.env.ACC_CLOUD) {
|
|
483
485
|
// reject for now since the Azure Cloud Shell does not support user-managed identity
|
|
484
|
-
|
|
486
|
+
throw 'Azure Cloud Shell does not support user-managed identity. You can execute the command without the --userName option to login with user identity';
|
|
485
487
|
}
|
|
486
488
|
requestOptions.url = `${process.env.MSI_ENDPOINT}?resource=${encodeURIComponent(resource)}`;
|
|
487
489
|
}
|
package/dist/AuthServer.js
CHANGED
|
@@ -26,7 +26,7 @@ export class AuthServer {
|
|
|
26
26
|
await this.logger.logToStderr(url);
|
|
27
27
|
await this.logger.logToStderr('');
|
|
28
28
|
}
|
|
29
|
-
this.openUrl(url);
|
|
29
|
+
await this.openUrl(url);
|
|
30
30
|
};
|
|
31
31
|
this.httpRequest = async (request, response) => {
|
|
32
32
|
if (this.debug) {
|
|
@@ -80,19 +80,19 @@ export class AuthServer {
|
|
|
80
80
|
get server() {
|
|
81
81
|
return this.httpServer;
|
|
82
82
|
}
|
|
83
|
-
openUrl(url) {
|
|
84
|
-
|
|
85
|
-
.
|
|
83
|
+
async openUrl(url) {
|
|
84
|
+
try {
|
|
85
|
+
await browserUtil.open(url);
|
|
86
86
|
await this.logger.logToStderr("To sign in, use the web browser that just has been opened. Please sign-in there.");
|
|
87
|
-
}
|
|
88
|
-
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
89
|
const errorResponse = {
|
|
90
90
|
error: "Can't open the default browser",
|
|
91
91
|
errorDescription: "Was not able to open a browser instance. Try again later or use a different authentication method."
|
|
92
92
|
};
|
|
93
93
|
this.reject(errorResponse);
|
|
94
94
|
this.httpServer.close();
|
|
95
|
-
}
|
|
95
|
+
}
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
export default new AuthServer();
|
package/dist/Command.js
CHANGED
|
@@ -522,7 +522,10 @@ class Command {
|
|
|
522
522
|
quote: cli.getConfig().get(settingsNames.csvQuote),
|
|
523
523
|
quoted: cli.getSettingWithDefaultValue(settingsNames.csvQuoted, false),
|
|
524
524
|
// eslint-disable-next-line camelcase
|
|
525
|
-
quoted_empty: cli.getSettingWithDefaultValue(settingsNames.csvQuotedEmpty, false)
|
|
525
|
+
quoted_empty: cli.getSettingWithDefaultValue(settingsNames.csvQuotedEmpty, false),
|
|
526
|
+
cast: {
|
|
527
|
+
boolean: (value) => value ? '1' : '0'
|
|
528
|
+
}
|
|
526
529
|
});
|
|
527
530
|
}
|
|
528
531
|
getMdOutput(logStatement, command, options) {
|
package/dist/api.js
CHANGED
|
@@ -3,7 +3,7 @@ export async function executeCommand(commandName, options, listener) {
|
|
|
3
3
|
cli.loadAllCommandsInfo();
|
|
4
4
|
await cli.loadCommandFromArgs(commandName.split(' '));
|
|
5
5
|
if (!cli.commandToExecute) {
|
|
6
|
-
|
|
6
|
+
throw `Command not found: ${commandName}`;
|
|
7
7
|
}
|
|
8
8
|
return cli.executeCommandWithOutput(cli.commandToExecute.command, { options: options ?? {} }, listener);
|
|
9
9
|
}
|
package/dist/appInsights.js
CHANGED
|
@@ -6,12 +6,14 @@ process.env.APPLICATION_INSIGHTS_NO_STATSBEAT = 'true';
|
|
|
6
6
|
import * as appInsights from 'applicationinsights';
|
|
7
7
|
import crypto from 'crypto';
|
|
8
8
|
import fs from 'fs';
|
|
9
|
+
import os from 'os';
|
|
9
10
|
import path from 'path';
|
|
10
11
|
import url from 'url';
|
|
11
12
|
import { app } from './utils/app.js';
|
|
12
13
|
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
appInsights
|
|
15
|
+
.setup('6b908c80-d09f-4cf6-8274-e54349a0149a')
|
|
16
|
+
.setInternalLogging(false, false);
|
|
15
17
|
// append -dev to the version number when ran locally
|
|
16
18
|
// to distinguish production and dev version of the CLI
|
|
17
19
|
// in the telemetry
|
|
@@ -26,8 +28,8 @@ appInsightsClient.commonProperties = {
|
|
|
26
28
|
};
|
|
27
29
|
appInsightsClient.config.proxyHttpUrl = process.env.HTTP_PROXY ?? '';
|
|
28
30
|
appInsightsClient.config.proxyHttpsUrl = process.env.HTTPS_PROXY ?? '';
|
|
29
|
-
appInsightsClient.context.tags[
|
|
30
|
-
delete appInsightsClient.context.tags[
|
|
31
|
+
appInsightsClient.context.tags[appInsightsClient.context.keys.cloudRoleInstance] = crypto.createHash('sha256').update(os.hostname()).digest('hex');
|
|
32
|
+
delete appInsightsClient.context.tags[appInsightsClient.context.keys.cloudRole];
|
|
31
33
|
delete appInsightsClient.context.tags['ai.cloud.roleName'];
|
|
32
34
|
export default appInsightsClient;
|
|
33
35
|
//# sourceMappingURL=appInsights.js.map
|
package/dist/config.js
CHANGED
|
@@ -14,6 +14,7 @@ export default {
|
|
|
14
14
|
'https://graph.microsoft.com/ChannelMessage.Send',
|
|
15
15
|
'https://graph.microsoft.com/ChannelSettings.ReadWrite.All',
|
|
16
16
|
'https://graph.microsoft.com/Chat.ReadWrite',
|
|
17
|
+
'https://graph.microsoft.com/Community.ReadWrite.All',
|
|
17
18
|
'https://graph.microsoft.com/Directory.AccessAsUser.All',
|
|
18
19
|
'https://graph.microsoft.com/Directory.ReadWrite.All',
|
|
19
20
|
'https://graph.microsoft.com/ExternalConnection.ReadWrite.All',
|
|
@@ -2,7 +2,7 @@ import auth, { CloudType } from '../../Auth.js';
|
|
|
2
2
|
import Command, { CommandError } from '../../Command.js';
|
|
3
3
|
import { accessToken } from '../../utils/accessToken.js';
|
|
4
4
|
export default class PowerAutomateCommand extends Command {
|
|
5
|
-
get resource() {
|
|
5
|
+
static get resource() {
|
|
6
6
|
return 'https://api.flow.microsoft.com';
|
|
7
7
|
}
|
|
8
8
|
async initAction(args, logger) {
|
|
@@ -31,8 +31,8 @@ class CliDoctorCommand extends Command {
|
|
|
31
31
|
},
|
|
32
32
|
cliVersion: app.packageJson().version,
|
|
33
33
|
nodeVersion: process.version,
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
cliEntraAppId: auth.connection.appId,
|
|
35
|
+
cliEntraAppTenant: validation.isValidGuid(auth.connection.tenant) ? 'single' : auth.connection.tenant,
|
|
36
36
|
authMode: auth.connection.authType,
|
|
37
37
|
cliEnvironment: process.env.CLIMICROSOFT365_ENV ? process.env.CLIMICROSOFT365_ENV : '',
|
|
38
38
|
cliConfig: cli.getConfig().all,
|
|
@@ -36,7 +36,6 @@ class CliConfigSetCommand extends AnonymousCommand {
|
|
|
36
36
|
case settingsNames.printErrorsAsPlainText:
|
|
37
37
|
case settingsNames.prompt:
|
|
38
38
|
case settingsNames.showHelpOnFailure:
|
|
39
|
-
case settingsNames.showSpinner:
|
|
40
39
|
value = args.options.value === 'true';
|
|
41
40
|
break;
|
|
42
41
|
default:
|
|
@@ -8,8 +8,8 @@ import { zod } from '../../utils/zod.js';
|
|
|
8
8
|
import commands from './commands.js';
|
|
9
9
|
const options = globalOptionsZod
|
|
10
10
|
.extend({
|
|
11
|
-
authType: zod.alias('t',
|
|
12
|
-
cloud:
|
|
11
|
+
authType: zod.alias('t', zod.coercedEnum(AuthType).optional()),
|
|
12
|
+
cloud: zod.coercedEnum(CloudType).optional().default(CloudType.Public),
|
|
13
13
|
userName: zod.alias('u', z.string().optional()),
|
|
14
14
|
password: zod.alias('p', z.string().optional()),
|
|
15
15
|
certificateFile: zod.alias('c', z.string().optional()
|
|
@@ -21,7 +21,8 @@ const options = globalOptionsZod
|
|
|
21
21
|
appId: z.string().optional(),
|
|
22
22
|
tenant: z.string().optional(),
|
|
23
23
|
secret: zod.alias('s', z.string().optional()),
|
|
24
|
-
connectionName: z.string().optional()
|
|
24
|
+
connectionName: z.string().optional(),
|
|
25
|
+
ensure: z.boolean().optional()
|
|
25
26
|
})
|
|
26
27
|
.strict();
|
|
27
28
|
class LoginCommand extends Command {
|
|
@@ -67,75 +68,16 @@ class LoginCommand extends Command {
|
|
|
67
68
|
});
|
|
68
69
|
}
|
|
69
70
|
async commandAction(logger, args) {
|
|
70
|
-
// disconnect before re-connecting
|
|
71
71
|
if (this.debug) {
|
|
72
72
|
await logger.logToStderr(`Logging out from Microsoft 365...`);
|
|
73
73
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return options.certificateBase64Encoded;
|
|
82
|
-
}
|
|
83
|
-
return cli.getConfig().get(settingsNames.clientCertificateFile) ||
|
|
84
|
-
cli.getConfig().get(settingsNames.clientCertificateBase64Encoded);
|
|
85
|
-
};
|
|
86
|
-
const login = async () => {
|
|
87
|
-
if (this.verbose) {
|
|
88
|
-
await logger.logToStderr(`Signing in to Microsoft 365...`);
|
|
89
|
-
}
|
|
90
|
-
const authType = args.options.authType || cli.getSettingWithDefaultValue(settingsNames.authType, 'deviceCode');
|
|
91
|
-
auth.connection.appId = args.options.appId || cli.getClientId();
|
|
92
|
-
auth.connection.tenant = args.options.tenant || cli.getTenant();
|
|
93
|
-
auth.connection.name = args.options.connectionName;
|
|
94
|
-
switch (authType) {
|
|
95
|
-
case 'password':
|
|
96
|
-
auth.connection.authType = AuthType.Password;
|
|
97
|
-
auth.connection.userName = args.options.userName;
|
|
98
|
-
auth.connection.password = args.options.password;
|
|
99
|
-
break;
|
|
100
|
-
case 'certificate':
|
|
101
|
-
auth.connection.authType = AuthType.Certificate;
|
|
102
|
-
auth.connection.certificate = getCertificate(args.options);
|
|
103
|
-
auth.connection.thumbprint = args.options.thumbprint;
|
|
104
|
-
auth.connection.password = args.options.password || cli.getConfig().get(settingsNames.clientCertificatePassword);
|
|
105
|
-
break;
|
|
106
|
-
case 'identity':
|
|
107
|
-
auth.connection.authType = AuthType.Identity;
|
|
108
|
-
auth.connection.userName = args.options.userName;
|
|
109
|
-
break;
|
|
110
|
-
case 'browser':
|
|
111
|
-
auth.connection.authType = AuthType.Browser;
|
|
112
|
-
break;
|
|
113
|
-
case 'secret':
|
|
114
|
-
auth.connection.authType = AuthType.Secret;
|
|
115
|
-
auth.connection.secret = args.options.secret || cli.getConfig().get(settingsNames.clientSecret);
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
auth.connection.cloudType = args.options.cloud;
|
|
119
|
-
try {
|
|
120
|
-
await auth.ensureAccessToken(auth.defaultResource, logger, this.debug);
|
|
121
|
-
auth.connection.active = true;
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
if (this.debug) {
|
|
125
|
-
await logger.logToStderr('Error:');
|
|
126
|
-
await logger.logToStderr(error);
|
|
127
|
-
await logger.logToStderr('');
|
|
128
|
-
}
|
|
129
|
-
throw new CommandError(error.message);
|
|
130
|
-
}
|
|
131
|
-
const details = auth.getConnectionDetails(auth.connection);
|
|
132
|
-
if (this.debug) {
|
|
133
|
-
details.accessToken = JSON.stringify(auth.connection.accessTokens, null, 2);
|
|
134
|
-
}
|
|
135
|
-
await logger.log(details);
|
|
136
|
-
};
|
|
137
|
-
deactivate();
|
|
138
|
-
await login();
|
|
74
|
+
if (this.shouldLogin(args.options)) {
|
|
75
|
+
auth.connection.deactivate();
|
|
76
|
+
await this.login(logger, args);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
await this.ensureAccessToken(logger);
|
|
80
|
+
}
|
|
139
81
|
}
|
|
140
82
|
async action(logger, args) {
|
|
141
83
|
try {
|
|
@@ -147,6 +89,117 @@ class LoginCommand extends Command {
|
|
|
147
89
|
await this.initAction(args, logger);
|
|
148
90
|
await this.commandAction(logger, args);
|
|
149
91
|
}
|
|
92
|
+
shouldLogin(options) {
|
|
93
|
+
if (!auth.connection.active) {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
if (!options.ensure) {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
const authType = options.authType || cli.getSettingWithDefaultValue(settingsNames.authType, 'deviceCode');
|
|
100
|
+
if (authType !== auth.connection.authType) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
if (options.cloud !== auth.connection.cloudType) {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
if (options.appId && options.appId !== auth.connection.appId) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
if (options.tenant && options.tenant !== auth.connection.tenant) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
if (authType === AuthType.Password && (options.password && options.userName !== auth.connection.userName)) {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
if (authType === AuthType.Certificate && (options.certificateFile && (auth.connection.certificate !== fs.readFileSync(options.certificateFile, 'base64')))) {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
if (authType === AuthType.Identity && (options.userName && options.userName !== auth.connection.userName)) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
if (authType === AuthType.Secret && (options.secret && options.secret !== auth.connection.secret)) {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
const now = new Date();
|
|
125
|
+
const accessToken = auth.connection.accessTokens[auth.defaultResource];
|
|
126
|
+
const expiresOn = accessToken && accessToken.expiresOn ?
|
|
127
|
+
// if expiresOn is serialized from the service file, it's set as a string
|
|
128
|
+
// if it's coming from MSAL, it's a Date
|
|
129
|
+
typeof accessToken.expiresOn === 'string' ? new Date(accessToken.expiresOn) : accessToken.expiresOn
|
|
130
|
+
: new Date(0);
|
|
131
|
+
if (expiresOn < now) {
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
async ensureAccessToken(logger) {
|
|
137
|
+
try {
|
|
138
|
+
await auth.ensureAccessToken(auth.defaultResource, logger, this.debug);
|
|
139
|
+
auth.connection.active = true;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
if (this.debug) {
|
|
143
|
+
await logger.logToStderr('Error:');
|
|
144
|
+
await logger.logToStderr(error);
|
|
145
|
+
await logger.logToStderr('');
|
|
146
|
+
}
|
|
147
|
+
throw new CommandError(error.message);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
getCertificate(options) {
|
|
151
|
+
// command args take precedence over settings
|
|
152
|
+
if (options.certificateFile) {
|
|
153
|
+
return fs.readFileSync(options.certificateFile).toString('base64');
|
|
154
|
+
}
|
|
155
|
+
if (options.certificateBase64Encoded) {
|
|
156
|
+
return options.certificateBase64Encoded;
|
|
157
|
+
}
|
|
158
|
+
return cli.getConfig().get(settingsNames.clientCertificateFile) ||
|
|
159
|
+
cli.getConfig().get(settingsNames.clientCertificateBase64Encoded);
|
|
160
|
+
}
|
|
161
|
+
;
|
|
162
|
+
async login(logger, args) {
|
|
163
|
+
if (this.verbose) {
|
|
164
|
+
await logger.logToStderr(`Signing in to Microsoft 365...`);
|
|
165
|
+
}
|
|
166
|
+
const authType = args.options.authType || cli.getSettingWithDefaultValue(settingsNames.authType, 'deviceCode');
|
|
167
|
+
auth.connection.appId = args.options.appId || cli.getClientId();
|
|
168
|
+
auth.connection.tenant = args.options.tenant || cli.getTenant();
|
|
169
|
+
auth.connection.name = args.options.connectionName;
|
|
170
|
+
switch (authType) {
|
|
171
|
+
case 'password':
|
|
172
|
+
auth.connection.authType = AuthType.Password;
|
|
173
|
+
auth.connection.userName = args.options.userName;
|
|
174
|
+
auth.connection.password = args.options.password;
|
|
175
|
+
break;
|
|
176
|
+
case 'certificate':
|
|
177
|
+
auth.connection.authType = AuthType.Certificate;
|
|
178
|
+
auth.connection.certificate = this.getCertificate(args.options);
|
|
179
|
+
auth.connection.thumbprint = args.options.thumbprint;
|
|
180
|
+
auth.connection.password = args.options.password ?? cli.getConfig().get(settingsNames.clientCertificatePassword);
|
|
181
|
+
break;
|
|
182
|
+
case 'identity':
|
|
183
|
+
auth.connection.authType = AuthType.Identity;
|
|
184
|
+
auth.connection.userName = args.options.userName;
|
|
185
|
+
break;
|
|
186
|
+
case 'browser':
|
|
187
|
+
auth.connection.authType = AuthType.Browser;
|
|
188
|
+
break;
|
|
189
|
+
case 'secret':
|
|
190
|
+
auth.connection.authType = AuthType.Secret;
|
|
191
|
+
auth.connection.secret = args.options.secret || cli.getConfig().get(settingsNames.clientSecret);
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
auth.connection.cloudType = args.options.cloud;
|
|
195
|
+
await this.ensureAccessToken(logger);
|
|
196
|
+
const details = auth.getConnectionDetails(auth.connection);
|
|
197
|
+
if (this.debug) {
|
|
198
|
+
details.accessToken = JSON.stringify(auth.connection.accessTokens, null, 2);
|
|
199
|
+
}
|
|
200
|
+
await logger.log(details);
|
|
201
|
+
}
|
|
202
|
+
;
|
|
150
203
|
}
|
|
151
204
|
export default new LoginCommand();
|
|
152
205
|
//# sourceMappingURL=login.js.map
|
|
@@ -215,7 +215,7 @@ class SetupCommand extends AnonymousCommand {
|
|
|
215
215
|
apisDelegated: (preferences.newEntraAppScopes === NewEntraAppScopes.All ? config.allScopes : config.minimalScopes).join(','),
|
|
216
216
|
implicitFlow: false,
|
|
217
217
|
multitenant: false,
|
|
218
|
-
name: 'CLI for
|
|
218
|
+
name: 'CLI for M365',
|
|
219
219
|
platform: 'publicClient',
|
|
220
220
|
redirectUris: 'http://localhost,https://localhost,https://login.microsoftonline.com/common/oauth2/nativeclient'
|
|
221
221
|
};
|
|
@@ -4,8 +4,7 @@ export const interactivePreset = {
|
|
|
4
4
|
output: 'text',
|
|
5
5
|
printErrorsAsPlainText: true,
|
|
6
6
|
prompt: true,
|
|
7
|
-
showHelpOnFailure: true
|
|
8
|
-
showSpinner: true
|
|
7
|
+
showHelpOnFailure: true
|
|
9
8
|
};
|
|
10
9
|
export const scriptingPreset = {
|
|
11
10
|
autoOpenLinksInBrowser: false,
|
|
@@ -13,8 +12,7 @@ export const scriptingPreset = {
|
|
|
13
12
|
output: 'json',
|
|
14
13
|
printErrorsAsPlainText: false,
|
|
15
14
|
prompt: false,
|
|
16
|
-
showHelpOnFailure: false
|
|
17
|
-
showSpinner: false
|
|
15
|
+
showHelpOnFailure: false
|
|
18
16
|
};
|
|
19
17
|
export const powerShellPreset = {
|
|
20
18
|
errorOutput: 'stdout'
|
|
@@ -7,7 +7,6 @@ var _EntraAdministrativeUnitAddCommand_instances, _EntraAdministrativeUnitAddCom
|
|
|
7
7
|
import request from "../../../../request.js";
|
|
8
8
|
import GraphCommand from "../../../base/GraphCommand.js";
|
|
9
9
|
import commands from "../../commands.js";
|
|
10
|
-
import aadCommands from "../../aadCommands.js";
|
|
11
10
|
class EntraAdministrativeUnitAddCommand extends GraphCommand {
|
|
12
11
|
get name() {
|
|
13
12
|
return commands.ADMINISTRATIVEUNIT_ADD;
|
|
@@ -15,9 +14,6 @@ class EntraAdministrativeUnitAddCommand extends GraphCommand {
|
|
|
15
14
|
get description() {
|
|
16
15
|
return 'Creates an administrative unit';
|
|
17
16
|
}
|
|
18
|
-
alias() {
|
|
19
|
-
return [aadCommands.ADMINISTRATIVEUNIT_ADD];
|
|
20
|
-
}
|
|
21
17
|
constructor() {
|
|
22
18
|
super();
|
|
23
19
|
_EntraAdministrativeUnitAddCommand_instances.add(this);
|
|
@@ -25,7 +21,6 @@ class EntraAdministrativeUnitAddCommand extends GraphCommand {
|
|
|
25
21
|
__classPrivateFieldGet(this, _EntraAdministrativeUnitAddCommand_instances, "m", _EntraAdministrativeUnitAddCommand_initOptions).call(this);
|
|
26
22
|
}
|
|
27
23
|
async commandAction(logger, args) {
|
|
28
|
-
await this.showDeprecationWarning(logger, aadCommands.ADMINISTRATIVEUNIT_ADD, commands.ADMINISTRATIVEUNIT_ADD);
|
|
29
24
|
const requestOptions = {
|
|
30
25
|
url: `${this.resource}/v1.0/directory/administrativeUnits`,
|
|
31
26
|
headers: {
|
|
@@ -9,7 +9,6 @@ import request from "../../../../request.js";
|
|
|
9
9
|
import GraphCommand from "../../../base/GraphCommand.js";
|
|
10
10
|
import commands from "../../commands.js";
|
|
11
11
|
import { entraAdministrativeUnit } from "../../../../utils/entraAdministrativeUnit.js";
|
|
12
|
-
import aadCommands from "../../aadCommands.js";
|
|
13
12
|
class EntraAdministrativeUnitGetCommand extends GraphCommand {
|
|
14
13
|
get name() {
|
|
15
14
|
return commands.ADMINISTRATIVEUNIT_GET;
|
|
@@ -17,9 +16,6 @@ class EntraAdministrativeUnitGetCommand extends GraphCommand {
|
|
|
17
16
|
get description() {
|
|
18
17
|
return 'Gets information about a specific administrative unit';
|
|
19
18
|
}
|
|
20
|
-
alias() {
|
|
21
|
-
return [aadCommands.ADMINISTRATIVEUNIT_GET];
|
|
22
|
-
}
|
|
23
19
|
constructor() {
|
|
24
20
|
super();
|
|
25
21
|
_EntraAdministrativeUnitGetCommand_instances.add(this);
|
|
@@ -30,7 +26,6 @@ class EntraAdministrativeUnitGetCommand extends GraphCommand {
|
|
|
30
26
|
__classPrivateFieldGet(this, _EntraAdministrativeUnitGetCommand_instances, "m", _EntraAdministrativeUnitGetCommand_initTypes).call(this);
|
|
31
27
|
}
|
|
32
28
|
async commandAction(logger, args) {
|
|
33
|
-
await this.showDeprecationWarning(logger, aadCommands.ADMINISTRATIVEUNIT_GET, commands.ADMINISTRATIVEUNIT_GET);
|
|
34
29
|
let administrativeUnit;
|
|
35
30
|
try {
|
|
36
31
|
if (args.options.id) {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { odata } from '../../../../utils/odata.js';
|
|
2
2
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
3
3
|
import commands from '../../commands.js';
|
|
4
|
-
import aadCommands from '../../aadCommands.js';
|
|
5
4
|
class EntraAdministrativeUnitListCommand extends GraphCommand {
|
|
6
5
|
get name() {
|
|
7
6
|
return commands.ADMINISTRATIVEUNIT_LIST;
|
|
@@ -9,14 +8,10 @@ class EntraAdministrativeUnitListCommand extends GraphCommand {
|
|
|
9
8
|
get description() {
|
|
10
9
|
return 'Retrieves a list of administrative units';
|
|
11
10
|
}
|
|
12
|
-
alias() {
|
|
13
|
-
return [aadCommands.ADMINISTRATIVEUNIT_LIST];
|
|
14
|
-
}
|
|
15
11
|
defaultProperties() {
|
|
16
12
|
return ['id', 'displayName', 'visibility'];
|
|
17
13
|
}
|
|
18
14
|
async commandAction(logger) {
|
|
19
|
-
await this.showDeprecationWarning(logger, aadCommands.ADMINISTRATIVEUNIT_LIST, commands.ADMINISTRATIVEUNIT_LIST);
|
|
20
15
|
try {
|
|
21
16
|
const results = await odata.getAllItems(`${this.resource}/v1.0/directory/administrativeUnits`);
|
|
22
17
|
await logger.log(results);
|
|
@@ -12,7 +12,6 @@ import GraphCommand from "../../../base/GraphCommand.js";
|
|
|
12
12
|
import commands from "../../commands.js";
|
|
13
13
|
import request from "../../../../request.js";
|
|
14
14
|
import { entraDevice } from "../../../../utils/entraDevice.js";
|
|
15
|
-
import aadCommands from "../../aadCommands.js";
|
|
16
15
|
class EntraAdministrativeUnitMemberAddCommand extends GraphCommand {
|
|
17
16
|
get name() {
|
|
18
17
|
return commands.ADMINISTRATIVEUNIT_MEMBER_ADD;
|
|
@@ -20,9 +19,6 @@ class EntraAdministrativeUnitMemberAddCommand extends GraphCommand {
|
|
|
20
19
|
get description() {
|
|
21
20
|
return 'Adds a member (user, group, device) to an administrative unit';
|
|
22
21
|
}
|
|
23
|
-
alias() {
|
|
24
|
-
return [aadCommands.ADMINISTRATIVEUNIT_MEMBER_ADD];
|
|
25
|
-
}
|
|
26
22
|
constructor() {
|
|
27
23
|
super();
|
|
28
24
|
_EntraAdministrativeUnitMemberAddCommand_instances.add(this);
|
|
@@ -32,7 +28,6 @@ class EntraAdministrativeUnitMemberAddCommand extends GraphCommand {
|
|
|
32
28
|
__classPrivateFieldGet(this, _EntraAdministrativeUnitMemberAddCommand_instances, "m", _EntraAdministrativeUnitMemberAddCommand_initOptionSets).call(this);
|
|
33
29
|
}
|
|
34
30
|
async commandAction(logger, args) {
|
|
35
|
-
await this.showDeprecationWarning(logger, aadCommands.ADMINISTRATIVEUNIT_MEMBER_ADD, commands.ADMINISTRATIVEUNIT_MEMBER_ADD);
|
|
36
31
|
let administrativeUnitId = args.options.administrativeUnitId;
|
|
37
32
|
let memberType;
|
|
38
33
|
let memberId;
|
|
@@ -9,7 +9,6 @@ import commands from '../../commands.js';
|
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
10
|
import { entraAdministrativeUnit } from '../../../../utils/entraAdministrativeUnit.js';
|
|
11
11
|
import request from '../../../../request.js';
|
|
12
|
-
import aadCommands from '../../aadCommands.js';
|
|
13
12
|
class EntraAdministrativeUnitMemberGetCommand extends GraphCommand {
|
|
14
13
|
get name() {
|
|
15
14
|
return commands.ADMINISTRATIVEUNIT_MEMBER_GET;
|
|
@@ -17,9 +16,6 @@ class EntraAdministrativeUnitMemberGetCommand extends GraphCommand {
|
|
|
17
16
|
get description() {
|
|
18
17
|
return 'Retrieve a specific member (user, group, or device) of an administrative unit';
|
|
19
18
|
}
|
|
20
|
-
alias() {
|
|
21
|
-
return [aadCommands.ADMINISTRATIVEUNIT_MEMBER_GET];
|
|
22
|
-
}
|
|
23
19
|
constructor() {
|
|
24
20
|
super();
|
|
25
21
|
_EntraAdministrativeUnitMemberGetCommand_instances.add(this);
|
|
@@ -29,7 +25,6 @@ class EntraAdministrativeUnitMemberGetCommand extends GraphCommand {
|
|
|
29
25
|
__classPrivateFieldGet(this, _EntraAdministrativeUnitMemberGetCommand_instances, "m", _EntraAdministrativeUnitMemberGetCommand_initOptionSets).call(this);
|
|
30
26
|
}
|
|
31
27
|
async commandAction(logger, args) {
|
|
32
|
-
await this.showDeprecationWarning(logger, aadCommands.ADMINISTRATIVEUNIT_MEMBER_GET, commands.ADMINISTRATIVEUNIT_MEMBER_GET);
|
|
33
28
|
let administrativeUnitId = args.options.administrativeUnitId;
|
|
34
29
|
try {
|
|
35
30
|
if (args.options.administrativeUnitName) {
|
|
@@ -9,7 +9,6 @@ import GraphCommand from '../../../base/GraphCommand.js';
|
|
|
9
9
|
import commands from '../../commands.js';
|
|
10
10
|
import { entraAdministrativeUnit } from '../../../../utils/entraAdministrativeUnit.js';
|
|
11
11
|
import { validation } from '../../../../utils/validation.js';
|
|
12
|
-
import aadCommands from '../../aadCommands.js';
|
|
13
12
|
class EntraAdministrativeUnitMemberListCommand extends GraphCommand {
|
|
14
13
|
get name() {
|
|
15
14
|
return commands.ADMINISTRATIVEUNIT_MEMBER_LIST;
|
|
@@ -17,9 +16,6 @@ class EntraAdministrativeUnitMemberListCommand extends GraphCommand {
|
|
|
17
16
|
get description() {
|
|
18
17
|
return 'Retrieves members (users, groups, or devices) of an administrative unit.';
|
|
19
18
|
}
|
|
20
|
-
alias() {
|
|
21
|
-
return [aadCommands.ADMINISTRATIVEUNIT_MEMBER_LIST];
|
|
22
|
-
}
|
|
23
19
|
defaultProperties() {
|
|
24
20
|
return ['id', 'displayName'];
|
|
25
21
|
}
|
|
@@ -32,7 +28,6 @@ class EntraAdministrativeUnitMemberListCommand extends GraphCommand {
|
|
|
32
28
|
__classPrivateFieldGet(this, _EntraAdministrativeUnitMemberListCommand_instances, "m", _EntraAdministrativeUnitMemberListCommand_initOptionSets).call(this);
|
|
33
29
|
}
|
|
34
30
|
async commandAction(logger, args) {
|
|
35
|
-
await this.showDeprecationWarning(logger, aadCommands.ADMINISTRATIVEUNIT_MEMBER_LIST, commands.ADMINISTRATIVEUNIT_MEMBER_LIST);
|
|
36
31
|
let administrativeUnitId = args.options.administrativeUnitId;
|
|
37
32
|
try {
|
|
38
33
|
if (args.options.administrativeUnitName) {
|
|
@@ -10,7 +10,6 @@ import request from "../../../../request.js";
|
|
|
10
10
|
import GraphCommand from "../../../base/GraphCommand.js";
|
|
11
11
|
import commands from "../../commands.js";
|
|
12
12
|
import { cli } from "../../../../cli/cli.js";
|
|
13
|
-
import aadCommands from '../../aadCommands.js';
|
|
14
13
|
class EntraAdministrativeUnitRemoveCommand extends GraphCommand {
|
|
15
14
|
get name() {
|
|
16
15
|
return commands.ADMINISTRATIVEUNIT_REMOVE;
|
|
@@ -18,9 +17,6 @@ class EntraAdministrativeUnitRemoveCommand extends GraphCommand {
|
|
|
18
17
|
get description() {
|
|
19
18
|
return 'Removes an administrative unit';
|
|
20
19
|
}
|
|
21
|
-
alias() {
|
|
22
|
-
return [aadCommands.ADMINISTRATIVEUNIT_REMOVE];
|
|
23
|
-
}
|
|
24
20
|
constructor() {
|
|
25
21
|
super();
|
|
26
22
|
_EntraAdministrativeUnitRemoveCommand_instances.add(this);
|
|
@@ -31,7 +27,6 @@ class EntraAdministrativeUnitRemoveCommand extends GraphCommand {
|
|
|
31
27
|
__classPrivateFieldGet(this, _EntraAdministrativeUnitRemoveCommand_instances, "m", _EntraAdministrativeUnitRemoveCommand_initTypes).call(this);
|
|
32
28
|
}
|
|
33
29
|
async commandAction(logger, args) {
|
|
34
|
-
await this.showDeprecationWarning(logger, aadCommands.ADMINISTRATIVEUNIT_REMOVE, commands.ADMINISTRATIVEUNIT_REMOVE);
|
|
35
30
|
const removeAdministrativeUnit = async () => {
|
|
36
31
|
try {
|
|
37
32
|
let administrativeUnitId = args.options.id;
|
|
@@ -11,7 +11,6 @@ import request from '../../../../request.js';
|
|
|
11
11
|
import { accessToken } from '../../../../utils/accessToken.js';
|
|
12
12
|
import { entraApp } from '../../../../utils/entraApp.js';
|
|
13
13
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
14
|
-
import aadCommands from '../../aadCommands.js';
|
|
15
14
|
import commands from '../../commands.js';
|
|
16
15
|
class EntraAppAddCommand extends GraphCommand {
|
|
17
16
|
get name() {
|
|
@@ -20,9 +19,6 @@ class EntraAppAddCommand extends GraphCommand {
|
|
|
20
19
|
get description() {
|
|
21
20
|
return 'Creates new Entra app registration';
|
|
22
21
|
}
|
|
23
|
-
alias() {
|
|
24
|
-
return [aadCommands.APP_ADD, commands.APPREGISTRATION_ADD];
|
|
25
|
-
}
|
|
26
22
|
constructor() {
|
|
27
23
|
super();
|
|
28
24
|
_EntraAppAddCommand_instances.add(this);
|
|
@@ -33,7 +29,6 @@ class EntraAppAddCommand extends GraphCommand {
|
|
|
33
29
|
__classPrivateFieldGet(this, _EntraAppAddCommand_instances, "m", _EntraAppAddCommand_initOptionSets).call(this);
|
|
34
30
|
}
|
|
35
31
|
async commandAction(logger, args) {
|
|
36
|
-
await this.showDeprecationWarning(logger, aadCommands.APP_ADD, commands.APP_ADD);
|
|
37
32
|
if (!args.options.name && this.manifest) {
|
|
38
33
|
args.options.name = this.manifest.name;
|
|
39
34
|
}
|