Enhanced Personalization Settings in Entra ID: What Microsoft.PeopleAdmin Brings and How to Audit Your Tenant

WHAT JUST CHANGED
Feature: enhancedPersonalizationSetting resource via Microsoft.PeopleAdmin API.
Effective Date: June 2024.
Rollout Status: Public Preview (Graph beta endpoint).
Affected Tenants: All tenants with Microsoft Entra ID (formerly Azure AD), particularly those integrating Microsoft Graph for user profile, personalization, and experience management.
Summary
This update introduces the enhancedPersonalizationSetting resource, allowing fine-tuned control of personalization features available to users in Microsoft 365, Entra ID-connected apps, and services. It is available via Microsoft Graph Beta and is expected to reach general availability in Q4 2024, based on Ignite roadmap sessions.
WHAT’S NEXT ON THE ROADMAP
- General Availability: GA expected Q4 2024 with admin center support for Enhanced Personalization in Settings > User Experience.
- Converged Identity Management: Microsoft is merging personalization controls for Teams, Outlook, and Office.com under unified Entra settings. Expect more granular toggles and reporting.
- Self-Service Experience Settings: Next preview features will allow users to self-manage select personalization settings (e.g., theme, notification preferences) directly from My Account, with admin override.
- Lifecycle Automation: Upcoming enhancements to Graph and PowerShell will allow automation of personalization settings as part of onboarding/offboarding flows.
- External Identities Alignment: Settings for guests will be aligned with internal user personalization controls, enabling consistent experience management.
WHY THIS DIRECTION IS BETTER
- Granularity: Prior approaches only allowed broad enable/disable for personalization; now admins can control features per user, group, or department.
- Unified Controls: Instead of fragmented settings across Teams, SharePoint, Exchange, and Office.com, all personalization controls are managed centrally in Entra ID.
- Auditability: New reporting endpoints in Microsoft Graph allow admins to query, audit, and review personalization settings at scale.
- Competitive Edge: Unlike Okta or Google Workspace, Microsoft now offers deep, programmatic control and compliance visibility for personalization-related features.
- User Empowerment: Future releases will allow users to adjust select personalization options themselves, reducing helpdesk tickets.
ADJACENT ENTRA ID CHANGES TO WATCH
- Admin Center Navigation: Settings consolidation in Entra admin center under User Experience and Personalization.
- Microsoft.Graph Module Updates: Latest releases (1.28+) add support for enhancedPersonalizationSetting endpoints; admins must update PowerShell to access these APIs.
- Conditional Access for Personalization: CA policies can now govern personalization features, e.g., disabling for high-risk users.
- B2B/B2C Personalization: Guests and external users can be targeted for specific personalization policies.
- Licensing: Enhanced settings require at least Entra ID P1; P2 unlocks automation and reporting.
WHAT TO DO: STEP-BY-STEP ADMIN ACTIONS
- Update Microsoft.Graph PowerShell: Ensure you have the latest module.
Update-Module Microsoft.Graph - Review Tenant Configuration: Audit current personalization settings.
# Query all enhanced personalization settings with paging Import-Module Microsoft.Graph.Users $settings = @() $params = @{ Top = 100 } try { do { $result = Invoke-MgGraphRequest -Method GET -Uri 'https://graph.microsoft.com/beta/enhancedPersonalizationSettings' -Body $null -Query $params if ($result.value) { $settings += $result.value } $params.Skip = ($params.Skip ?? 0) + 100 } while ($result.'@odata.nextLink') } catch { Write-Error "Error querying enhancedPersonalizationSettings: $_" } # Output summary $settings | Select-Object id, userId, isEnabled, featureName - Dry-Run Changes: Prepare to modify settings for a pilot group (dry-run only).
# Example: Preview change for disabling personalization for a user $pilotUserId = '[email protected]' $feature = 'TeamsThemes' $body = @{ userId = $pilotUserId; featureName = $feature; isEnabled = $false } Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/beta/enhancedPersonalizationSettings/$pilotUserId" -Body $body -WhatIf - Document Settings: Export audit report for compliance.
# Export to CSV $settings | Export-Csv -Path 'EnhancedPersonalizationAudit.csv' -NoTypeInformation - Portal Verification: Navigate to Entra admin center > Settings > User Experience > Enhanced Personalization. Verify feature toggles and pilot user configuration.
CHECK IT YOURSELF: POWERSHELL AUDIT SNIPPET
# List all enhanced personalization settings with error handling
Import-Module Microsoft.Graph.Users
$allSettings = @()
$params = @{ Top = 100 }
try {
do {
$response = Invoke-MgGraphRequest -Method GET -Uri 'https://graph.microsoft.com/beta/enhancedPersonalizationSettings' -Body $null -Query $params
if ($response.value) { $allSettings += $response.value }
$params.Skip = ($params.Skip ?? 0) + 100
} while ($response.'@odata.nextLink')
} catch {
Write-Error "Error retrieving enhanced personalization settings: $_"
}
# Output summary
$allSettings | Select-Object id, userId, isEnabled, featureName
PORTAL PATH
Entra Admin Center:
Settings > User Experience > Enhanced Personalization
Here you can review, enable, disable, and audit all personalization features at the tenant, group, or user level.
BOTTOM LINE
- Update your Microsoft.Graph module immediately to access new endpoints.
- Audit your tenant’s personalization settings; export for compliance.
- Prepare pilot groups and dry-run changes before broad rollout.
- Monitor roadmap for GA and new self-service features.
- Consolidate related workflow changes under User Experience—expect more settings to move here soon.