Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement] - Add more options to spo tenant settings set #5034

Open
ganesh-sanap opened this issue Jun 9, 2023 · 18 comments
Open

[Enhancement] - Add more options to spo tenant settings set #5034

ganesh-sanap opened this issue Jun 9, 2023 · 18 comments

Comments

@ganesh-sanap
Copy link
Contributor

ganesh-sanap commented Jun 9, 2023

Currently we cannot enable/disable the link Return to classic SharePoint on modern SharePoint list and library pages at tenant level using CLI for Microsoft 365.

Can we enhance spo tenant settings set cmdlet to support additional parameter (say --DisableBackToClassic [DisableBackToClassic]) which will allow users to enable/disable the link Return to classic SharePoint on modern SharePoint list and library pages?

I would like to contribute to this library for above enhancement request. Thank you!

@milanholemans
Copy link
Contributor

Hi @ganesh-sanap, nice suggestion indeed 👍
Could you do me a favor and run spo tenant settings list and check if we are missing more options, please?
This way we can update the command right away with all missing options.

@ganesh-sanap
Copy link
Contributor Author

@milanholemans I just checked, so many properties listed by the command.

Sample output:

{
  "AIBuilderDefaultPowerAppsEnvironment": "",
  "AIBuilderEnabled": false,
  "AIBuilderEnabledInContentCenter": 0,
  "AIBuilderSiteListFileName": null,
  "AllowAnonymousMeetingParticipantsToAccessWhiteboards": 0,
  "AllowCommentsTextOnEmailEnabled": true,
  "AllowDownloadingNonWebViewableFiles": true,
  "AllowedDomainListForSyncClient": [],
  "AllowEditing": true,
  "AllowEveryoneExceptExternalUsersClaimInPrivateSite": true,
  "AllowGuestUserShareToUsersNotInSiteCollection": false,
  "AllowLimitedAccessOnUnmanagedDevices": false,
  "AllowOverrideForBlockUserInfoVisibility": false,
  "AllowSelectSecurityGroupsInSPSitesList": null,
  "AllowSelectSGsInODBListInTenant": null,
  "AnyoneLinkTrackUsers": false,
  "AppBypassInformationBarriers": false,
  "ApplyAppEnforcedRestrictionsToAdHocRecipients": true,
  "ArchiveRedirectUrl": null,
  "AuthContextResilienceMode": 0,
  "BccExternalSharingInvitations": false,
  "BccExternalSharingInvitationsList": null,
  "BlockAccessOnUnmanagedDevices": false,
  "BlockDownloadFileTypeIds": [],
  "BlockDownloadFileTypePolicy": false,
  "BlockDownloadLinksFileType": 1,
  "BlockDownloadOfAllFilesForGuests": false,
  "BlockDownloadOfAllFilesOnUnmanagedDevices": false,
  "BlockDownloadOfViewableFilesForGuests": false,
  "BlockDownloadOfViewableFilesOnUnmanagedDevices": false,
  "BlockMacSync": false,
  "BlockSendLabelMismatchEmail": false,
  "BlockUserInfoVisibility": "",
  "BlockUserInfoVisibilityInOneDrive": 0,
  "BlockUserInfoVisibilityInSharePoint": 0,
  "CommentsOnFilesDisabled": true,
  "CommentsOnListItemsDisabled": false,
  "CommentsOnSitePagesDisabled": false,
  "CompatibilityRange": "15,15",
  "ConditionalAccessPolicy": "AllowFullAccess",
  "ConditionalAccessPolicyErrorHelpLink": "",
  "ContainerDefaultLinkToExistingAccess": false,
  "ContainerDefaultShareLinkRole": 0,
  "ContainerDefaultShareLinkScope": -1,
  "ContainerLoopDefaultShareLinkRole": 0,
  "ContainerLoopDefaultShareLinkScope": -1,
  "ContainerSharingCapability": 2,
  "ContentTypeSyncSiteTemplatesList": [],
  "CoreBlockGuestsAsSiteAdmin": 0,
  "CoreDefaultLinkToExistingAccess": false,
  "CoreDefaultShareLinkRole": 0,
  "CoreDefaultShareLinkScope": -1,
  "CoreLoopDefaultSharingLinkRole": 0,
  "CoreLoopDefaultSharingLinkScope": -1,
  "CoreLoopSharingCapability": 2,
  "CoreRequestFilesLinkEnabled": false,
  "CoreRequestFilesLinkExpirationInDays": -1,
  "CoreSharingCapability": 2,
  "CustomizedExternalSharingServiceUrl": "",
  "DefaultContentCenterSite": null,
  "DefaultLinkPermission": "View",
  "DefaultODBMode": "Explicit",
  "DefaultSharingLinkType": "Internal",
  "DenySelectSecurityGroupsInSPSitesList": null,
  "DisableAddToOneDrive": false,
  "DisableBackToClassic": false,
  "DisableCustomAppAuthentication": false,
  "DisabledModernListTemplateIds": [],
  "DisableDocumentLibraryDefaultLabeling": false,
  "DisabledWebPartIds": null,
  "DisableListSync": false,
  "DisableOutlookPSTVersionTrimming": false,
  "DisablePersonalListCreation": false,
  "DisableReportProblemDialog": false,
  "DisableSpacesActivation": false,
  "DisableVivaConnectionsAnalytics": false,
  "DisallowInfectedFileDownload": false,
  "DisplayNamesOfFileViewers": true,
  "DisplayNamesOfFileViewersInSpo": true,
  "DisplayStartASiteOption": true,
  "DocumentUnderstandingEnabled": true,
  "DocumentUnderstandingSiteListFileName": "",
  "EmailAttestationEnabled": false,
  "EmailAttestationReAuthDays": 30,
  "EmailAttestationRequired": false,
  "EnableAIPIntegration": false,
  "EnableAutoExpirationVersionTrim": false,
  "EnableAutoNewsDigest": true,
  "EnableAzureADB2BIntegration": false,
  "EnabledFlightAllowAADB2BSkipCheckingOTP": true,
  "EnableGuestSignInAcceleration": false,
  "EnableMinimumVersionRequirement": true,
  "EnableMipSiteLabel": false,
  "EnablePromotedFileHandlers": true,
  "EnableRestrictedAccessControl": false,
  "ESignatureEnabled": true,
  "ESignatureSiteListFileName": "",
  "ESignatureThirdPartyProviderListFileName": "",
  "ExcludedBlockDownloadGroupIds": [],
  "ExcludedFileExtensionsForSyncClient": [
    ""
  ],
  "ExpireVersionsAfterDays": 0,
  "ExternalServicesEnabled": true,
  "ExternalUserExpirationRequired": true,
  "ExternalUserExpireInDays": 60,
  "FileAnonymousLinkType": "Edit",
  "FilePickerExternalImageSearchEnabled": true,
  "FileVersionPolicyXml": "",
  "FolderAnonymousLinkType": "Edit",
  "GuestSharingGroupAllowListInTenant": "",
  "GuestSharingGroupAllowListInTenantByPrincipalIdentity": null,
  "HasAdminCompletedCUConfiguration": false,
  "HasIntelligentContentServicesCapability": false,
  "HasTopicExperiencesCapability": false,
  "HideSyncButtonOnDocLib": false,
  "HideSyncButtonOnODB": false,
  "IBImplicitGroupBased": false,
  "ImageTaggingOption": 1,
  "IncludeAtAGlanceInShareEmails": true,
  "InformationBarriersSuspension": true,
  "IPAddressAllowList": "",
  "IPAddressEnforcement": false,
  "IPAddressWACTokenLifetime": 15,
  "IsAppBarTemporarilyDisabled": false,
  "IsCollabMeetingNotesFluidEnabled": true,
  "IsEnableAppAuthPopUpEnabled": false,
  "IsFluidEnabled": true,
  "IsHubSitesMultiGeoFlightEnabled": true,
  "IsLoopEnabled": true,
  "IsMnAFlightEnabled": false,
  "IsMultiGeo": false,
  "IsMultipleHomeSitesFlightEnabled": false,
  "IsMultipleVivaConnectionsFlightEnabled": false,
  "IsUnmanagedSyncClientForTenantRestricted": false,
  "IsUnmanagedSyncClientRestrictionFlightEnabled": true,
  "IsVivaHomeFlightEnabled": true,
  "IsVivaHomeGAFlightEnabled": true,
  "IsWBFluidEnabled": true,
  "LabelMismatchEmailHelpLink": null,
  "LegacyAuthProtocolsEnabled": true,
  "LegacyBrowserAuthProtocolsEnabled": true,
  "LimitedAccessFileType": "WebPreviewableFiles",
  "MachineLearningCaptureEnabled": false,
  "MajorVersionLimit": 500,
  "MarkNewFilesSensitiveByDefault": 0,
  "MassDeleteNotificationDisabled": false,
  "MediaTranscription": 0,
  "MediaTranscriptionAutomaticFeatures": 0,
  "MobileFriendlyUrlEnabledInTenant": true,
  "NoAccessRedirectUrl": null,
  "NotificationsInOneDriveForBusinessEnabled": true,
  "NotificationsInSharePointEnabled": true,
  "NotifyOwnersWhenInvitationsAccepted": true,
  "NotifyOwnersWhenItemsReshared": true,
  "OCRAdminSiteListFileName": "",
  "OCRComplianceSiteListFileName": "",
  "OCRModeForAdminSites": 0,
  "OCRModeForComplianceODBs": 0,
  "OCRModeForComplianceSites": 0,
  "ODBAccessRequests": "Unspecified",
  "ODBMembersCanShare": "Unspecified",
  "ODBSharingCapability": 2,
  "OfficeClientADALDisabled": false,
  "OneDriveBlockGuestsAsSiteAdmin": 0,
  "OneDriveDefaultLinkToExistingAccess": false,
  "OneDriveDefaultShareLinkRole": 0,
  "OneDriveDefaultShareLinkScope": -1,
  "OneDriveForGuestsEnabled": false,
  "OneDriveLoopDefaultSharingLinkRole": 0,
  "OneDriveLoopDefaultSharingLinkScope": -1,
  "OneDriveLoopSharingCapability": 2,
  "OneDriveRequestFilesLinkEnabled": false,
  "OneDriveRequestFilesLinkExpirationInDays": -1,
  "OneDriveStorageQuota": 1048576,
  "OptOutOfGrooveBlock": false,
  "OptOutOfGrooveSoftBlock": false,
  "OrgNewsSiteUrl": null,
  "OrphanedPersonalSitesRetentionPeriod": 30,
  "OwnerAnonymousNotification": true,
  "PermissiveBrowserFileHandlingOverride": false,
  "PrebuiltEnabled": true,
  "PrebuiltSiteListFileName": "",
  "PreventExternalUsersFromResharing": true,
  "ProvisionSharedWithEveryoneFolder": false,
  "PublicCdnAllowedFileTypes": "CSS,EOT,GIF,ICO,JPEG,JPG,JS,MAP,PNG,SVG,TTF,WOFF",
  "PublicCdnEnabled": false,
  "PublicCdnOrigins": [],
  "ReduceTempTokenLifetimeEnabled": false,
  "ReduceTempTokenLifetimeValue": 15,
  "RequireAcceptingAccountMatchInvitedAccount": true,
  "RequireAnonymousLinksExpireInDays": -1,
  "ResourceQuota": 0,
  "ResourceQuotaAllocated": 0,
  "RestrictedOneDriveLicense": false,
  "RestrictedSharePointLicense": false,
  "RootSiteUrl": "https://contoso.sharepoint.com",
  "SearchResolveExactEmailOrUPN": false,
  "SharingAllowedDomainList": null,
  "SharingBlockedDomainList": null,
  "SharingCapability": "ExternalUserAndGuestSharing",
  "SharingDomainRestrictionMode": "None",
  "ShowAllUsersClaim": false,
  "ShowEveryoneClaim": false,
  "ShowEveryoneExceptExternalUsersClaim": true,
  "ShowNGSCDialogForSyncOnODB": true,
  "ShowOpenInDesktopOptionForSyncedFiles": false,
  "ShowPeoplePickerGroupSuggestionsForIB": false,
  "ShowPeoplePickerSuggestionsForGuestUsers": false,
  "SignInAccelerationDomain": "",
  "SiteOwnerManageLegacyServicePrincipalEnabled": true,
  "SocialBarOnSitePagesDisabled": false,
  "SpecialCharactersStateInFileFolderNames": "Allowed",
  "StartASiteFormUrl": null,
  "StopNew2010Workflows": false,
  "StopNew2013Workflows": false,
  "StorageQuota": 1304576,
  "StorageQuotaAllocated": 0,
  "StreamLaunchConfig": 0,
  "StreamLaunchConfigLastUpdated": "/Date(1,0,1,0,0,0,0)/",
  "StreamLaunchConfigUpdateCount": 0,
  "SyncAadB2BManagementPolicy": false,
  "SyncPrivacyProfileProperties": true,
  "TaxonomyTaggingEnabled": false,
  "TaxonomyTaggingSiteListFileName": "",
  "TlsTokenBindingPolicyValue": 0,
  "UseFindPeopleInPeoplePicker": false,
  "UsePersistentCookiesForExplorerView": false,
  "UserVoiceForFeedbackEnabled": false,
  "ViewersCanCommentOnMediaDisabled": false,
  "ViewInFileExplorerEnabled": false,
  "WhoCanShareAllowListInTenant": "",
  "WhoCanShareAllowListInTenantByPrincipalIdentity": null,
  "Workflow2010Disabled": false,
  "Workflows2013State": 2,
  "HideDefaultThemes": false
}

@milanholemans
Copy link
Contributor

Yes it's a lot indeed, but let's focus on the simple things we know what they do, stuff like DisableAddToOneDrive for example.

@ganesh-sanap
Copy link
Contributor Author

@milanholemans I was going through the list of properties and found that there are more than 100 properties which are currently not available in spo tenant settings set cmdlet. I will try to add simple Boolean/String/GUID properties like you mentioned above.

@milanholemans
Copy link
Contributor

100? Wow, that's a lot. I thought we were supporting the majority of the options. Thanks for looking into it!

@milanholemans
Copy link
Contributor

@ganesh-sanap any updates on this issue? Last week I had to set some tenant settings which weren't available, which reminded me of this issue.

@ganesh-sanap
Copy link
Contributor Author

Hi @milanholemans, I am working on adding few Boolean options to tenant settings command currently. I will raise a PR after some testing.

@ganesh-sanap
Copy link
Contributor Author

@milanholemans I have added around 33 new options/parameters to spo tenant settings set cmdlet and raised PR #5352. I will add few more options later and raise separate PR.

@milanholemans
Copy link
Contributor

Thank you @ganesh-sanap for the hard work.

@milanholemans milanholemans changed the title [Enhancement] - Enable/disable the link "Return to classic SharePoint" on modern SharePoint list and library pages [Enhancement] - Add more options to spo tenant settings set Jul 28, 2023
@ganesh-sanap
Copy link
Contributor Author

@milanholemans @Adam-it Any idea where I can get the sequence/values (0,1,2,3...) for enums like below?

image

Do we need to specify these string values in specific order/index inside array (respective to their enum value)?

@milanholemans
Copy link
Contributor

Do we need to specify these string values in specific order/index inside array (respective to their enum value)?

Probably yes. Can't really check right now but the number values will likely be used in the APIs while we try to use their friendly names in code.

@ganesh-sanap
Copy link
Contributor Author

ganesh-sanap commented Aug 3, 2023

@milanholemans yes, I checked. There is one function (mapEnumToInt()) which returns number value based on friendly name (string).

Any idea where can I get the actual enum values corresponding to the friendly names?

I need enum values for below enums:

  • MediaTranscriptionPolicyType
  • MediaTranscriptionAutomaticFeaturesPolicyType
  • ImageTaggingChoice
  • SensitiveByDefaultState
  • ObjectCharacterRecognitionMode
  • SharingScope
  • Role

I found the friendly names here: https://pnp.github.io/pnpcore/api/PnP.Core.Admin.Model.SharePoint.html#enums

@ganesh-sanap
Copy link
Contributor Author

ganesh-sanap commented Aug 3, 2023

Anyone knows where below properties are used exactly, in which M365 service? (like CoreSharingCapability is used for SharePoint sites according to Set-SPOTenant)

  • ContainerSharingCapability
  • ContainerDefaultShareLinkRole
  • ContainerDefaultShareLinkScope
  • ContainerLoopDefaultShareLinkRole
  • ContainerLoopDefaultShareLinkScope
  • ContainerDefaultLinkToExistingAccess

These properties can be found at: m365 spo tenant settings list.

@waldekmastykarz
Copy link
Member

We could also consider introducing support for unknown options. We'd need to research if it's viable but it could be a way to expose a broader set of properties in the meantime.

@ganesh-sanap
Copy link
Contributor Author

@milanholemans @Adam-it Any idea where I can get the sequence/values (0,1,2,3...) for enums like below?

image

Do we need to specify these string values in specific order/index inside array (respective to their enum value)?

Can anyone please help me to get the enum values and their friendly names mapping for above enums? I am ready with another set of newly added parameters but cannot raise PR due because of this. @waldekmastykarz @milanholemans @Adam-it

@ganesh-sanap
Copy link
Contributor Author

Anyone knows where below properties are used exactly, in which M365 service? (like CoreSharingCapability is used for SharePoint sites according to Set-SPOTenant)

  • ContainerSharingCapability
  • ContainerDefaultShareLinkRole
  • ContainerDefaultShareLinkScope
  • ContainerLoopDefaultShareLinkRole
  • ContainerLoopDefaultShareLinkScope
  • ContainerDefaultLinkToExistingAccess

These properties can be found at: m365 spo tenant settings list.

Also, please help if you can find any uses or documentations of these options. Thank you very much!

@milanholemans
Copy link
Contributor

Can anyone please help me to get the enum values and their friendly names mapping for above enums? I am ready with another set of newly added parameters but cannot raise PR due because of this. @waldekmastykarz @milanholemans @Adam-it

Since there's no documentation about SP APIs, I'm afraid that there's no other way than to reverse-engineer you through a tool that already uses these options. A decent proxy like Fiddler can give you more insights into which requests are being done, but it requires quite a lot of work.

@milanholemans
Copy link
Contributor

Also, please help if you can find any uses or documentations of these options. Thank you very much!

Yeah, it's not that easy to understand what an option actually does indeed. I had the same problem for pp tenant settings set, some options are just not documented anywhere. There's nothing much we can do there. Worst case we can make the description a bit abstract.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants