public override void ExecuteCmdlet()
        {
            base.ExecuteCmdlet();


            var _list          = new List <string>();
            var tenantAdminUri = ClientContext.GetTenantAdminUri();
            var tenantRealmId  = (new Uri(tenantAdminUri)).GetRealmFromTargetUrl();

            var appConfig = new AppConfig()
            {
                TenantId              = TenantId,
                MSALClientID          = MSALClientID,
                MSALClientSecret      = MSALClientSecret,
                PostLogoutRedirectURI = PostLogoutRedirectURI
            };

            LogVerbose($"Parameter TenantId {TenantId} and returned RealmId from ClientContext {tenantRealmId}");

            var _graphClient     = new GraphHttpHelper(appConfig);
            var _accessTokenTask = Task.Run(async() => await _graphClient.GetGraphDaemonAccessTokenAsync());

            try
            {
                System.Diagnostics.Trace.TraceInformation($"Calling EnsureToken {tenantAdminUri}");
                _accessTokenTask.Wait();

                LogVerbose($"Calling Tenant Directory Settings {tenantAdminUri}");
                var _classifications = SiteClassificationsUtility.GetSiteClassificationsSettings(_accessTokenTask.Result);
                LogVerbose($"Classification Default {_classifications.DefaultClassification}");
                LogVerbose($"Classification Private {_classifications.UsageGuidelinesUrl}");

                _list.AddRange(_classifications.Classifications);
            }
            catch (Exception ex)
            {
                LogError(ex, $"Failed to retreive tenant classifications {ex.Message}");
            }

            WriteObject(_list);
        }
Esempio n. 2
0
 /// <summary>
 /// Disables Site Classifications settings for the target tenant
 /// </summary>
 /// <param name="tenant">The target tenant</param>
 /// <param name="accessToken">The OAuth accessToken for Microsoft Graph with Azure AD</param>
 public static void DisableSiteClassifications(this Tenant tenant, string accessToken)
 {
     SiteClassificationsUtility.DisableSiteClassifications(accessToken);
 }
Esempio n. 3
0
 /// <summary>
 /// Updates Site Classifications settings for the target tenant
 /// </summary>
 /// <param name="tenant">The target tenant</param>
 /// <param name="accessToken">The OAuth accessToken for Microsoft Graph with Azure AD</param>
 /// <param name="classificationsList">The list of classification values</param>
 /// <param name="defaultClassification">The default classification</param>
 /// <param name="usageGuidelinesUrl">The URL of a guidance page</param>
 public static void UpdateSiteClassificationsSettings(this Tenant tenant, string accessToken, IEnumerable <string> classificationsList, string defaultClassification = "", string usageGuidelinesUrl = "")
 {
     SiteClassificationsUtility.UpdateSiteClassificationsSettings(accessToken, classificationsList, defaultClassification, usageGuidelinesUrl);
 }
Esempio n. 4
0
 /// <summary>
 /// Updates Site Classifications settings for the target tenant
 /// </summary>
 /// <param name="tenant">The target tenant</param>
 /// <param name="accessToken">The OAuth accessToken for Microsoft Graph with Azure AD</param>
 /// <param name="siteClassificationsSettings">The site classifications settings to update.</param>
 public static void UpdateSiteClassificationsSettings(this Tenant tenant, string accessToken, SiteClassificationsSettings siteClassificationsSettings)
 {
     SiteClassificationsUtility.UpdateSiteClassificationsSettings(accessToken, siteClassificationsSettings);
 }
Esempio n. 5
0
 /// <summary>
 /// Enables Site Classifications for the target tenant
 /// </summary>
 /// <param name="tenant">The target tenant</param>
 /// <param name="accessToken">The OAuth accessToken for Microsoft Graph with Azure AD</param>
 /// <returns>The list of Site Classifications values</returns>
 public static SiteClassificationsSettings GetSiteClassificationsSettings(this Tenant tenant, string accessToken)
 {
     return(SiteClassificationsUtility.GetSiteClassificationsSettings(accessToken));
 }