Introduction: Bridging Traditional Group Policy with Modern Management
One of the most challenging aspects of modern device management is bridging the gap between traditional Active Directory Group Policy and cloud-based MDM solutions. After helping dozens of organizations navigate this transition over the past several years, I’ve found that Workspace ONE’s ability to publish domain Group Policy Objects (GPOs) through profiles is one of the most underutilized yet powerful features of the platform.
If you’re responsible for managing Windows devices in a hybrid environment where you need to maintain some traditional Group Policy functionality while leveraging modern MDM capabilities, this comprehensive guide will show you how to effectively publish and manage domain GPOs through Workspace ONE profiles. We’ll cover the technical implementation, best practices, and real-world scenarios that will help you create a seamless management experience.
Understanding GPO Publishing in Workspace ONE
What is GPO Publishing?
GPO publishing in Workspace ONE refers to the ability to take existing Active Directory Group Policy Objects and deploy them to managed devices through the Workspace ONE UEM console, regardless of whether those devices are domain-joined or not. This capability bridges the gap between traditional on-premises management and modern cloud-based device management.
Key Characteristics of GPO Publishing:
- Domain Independence: GPO settings can be applied to devices that are not domain-joined
- Cloud Delivery: Traditional GPO settings are delivered through the cloud-based Workspace ONE infrastructure
- Selective Application: You can choose specific GPO settings rather than applying entire policy objects
- Modern Targeting: Use Workspace ONE’s Smart Groups and assignment capabilities for precise targeting
- Centralized Management: Manage both traditional and modern policies from a single console
Why GPO Publishing Matters
In my experience working with enterprise Windows environments, GPO publishing addresses several critical business needs:
Hybrid Environment Support:
- Mixed Device Populations: Support both domain-joined and non-domain-joined devices with consistent policies
- Remote Worker Support: Apply corporate policies to devices that rarely or never connect to the corporate network
- BYOD Integration: Extend corporate policy compliance to personally-owned devices
- Cloud Migration: Maintain policy consistency during cloud migration initiatives
Operational Benefits:
- Reduced Complexity: Manage policies from a single console rather than multiple management tools
- Improved Compliance: Ensure policy compliance regardless of device location or domain membership
- Enhanced Visibility: Better reporting and monitoring of policy application and compliance
- Simplified Troubleshooting: Centralized logging and diagnostics for policy-related issues
How GPO Publishing Works
Understanding the technical architecture behind GPO publishing is essential for effective implementation and troubleshooting.
Architecture Components:
- Workspace ONE UEM Console:
- Central management interface for creating and deploying GPO-based profiles
- Policy conversion and translation capabilities
- Targeting and assignment management
- Reporting and compliance monitoring
- Workspace ONE Intelligent Hub:
- Client-side agent that receives and applies policy configurations
- Local policy enforcement and monitoring
- Communication with the UEM console for status reporting
- Integration with Windows policy subsystems
- Windows Policy Infrastructure:
- Native Windows policy engines and subsystems
- Registry-based policy storage and application
- Group Policy Client Service integration
- Local Security Policy integration
Policy Application Process:
- Policy Creation:
- Administrator creates or imports GPO settings in the Workspace ONE console
- Policy settings are converted to Workspace ONE profile format
- Targeting and assignment rules are configured
- Policy is published and made available for deployment
- Policy Deployment:
- Workspace ONE evaluates device eligibility based on Smart Group membership
- Policy is pushed to eligible devices through the cloud infrastructure
- Intelligent Hub receives the policy and prepares for application
- Policy settings are applied to the local Windows policy store
- Policy Enforcement:
- Windows policy engines enforce the applied settings
- Intelligent Hub monitors policy compliance and status
- Status and compliance information is reported back to the UEM console
- Policy conflicts and issues are identified and reported
Setting Up GPO Publishing
Prerequisites and Requirements
Before implementing GPO publishing, ensure that your environment meets the necessary prerequisites.
Infrastructure Requirements:
- Workspace ONE UEM Environment:
- Workspace ONE UEM console with appropriate licensing
- Windows Desktop platform enabled and configured
- Appropriate administrator permissions for profile management
- Network connectivity between devices and Workspace ONE infrastructure
- Windows Device Requirements:
- Windows 10 or Windows 11 devices (Windows 8.1 supported with limitations)
- Workspace ONE Intelligent Hub installed and enrolled
- Local administrator rights for the Intelligent Hub service
- Network connectivity to Workspace ONE cloud services
Active Directory Integration:
- Domain Controller Access:
- Access to domain controllers for GPO export and analysis
- Group Policy Management Console (GPMC) installed on administrative workstations
- Appropriate permissions to read and export existing GPOs
- Understanding of current GPO structure and inheritance
- Policy Analysis:
- Documentation of existing GPO structure and dependencies
- Identification of critical policies that need to be migrated
- Assessment of policy compatibility with Workspace ONE
- Planning for policy testing and validation
Creating GPO-Based Profiles
The process of creating GPO-based profiles in Workspace ONE involves several steps and considerations.
Method 1: Manual Policy Creation
- Access the Profile Creation Interface:
- Navigate to Devices → Profiles & Resources → Profiles
- Click Add → Add Profile
- Select Windows Desktop as the platform
- Choose the appropriate policy payload from the available options
- Configure Policy Settings:
- Select the specific policy category (Administrative Templates, Security Settings, etc.)
- Configure individual policy settings using the Workspace ONE interface
- Set policy values and options according to your organizational requirements
- Review and validate policy configurations before saving
Method 2: GPO Import and Conversion
- Export Existing GPOs:
- Use Group Policy Management Console to export existing GPOs
- Export GPOs as backup files or use PowerShell for bulk export
- Document the exported GPOs and their intended purposes
- Analyze exported GPOs for compatibility with Workspace ONE
- Import GPO Settings:
- Use Workspace ONE’s GPO import functionality where available
- Manually recreate critical policy settings in Workspace ONE profiles
- Validate that imported settings match the original GPO configuration
- Test imported policies on pilot devices before production deployment
Common GPO Publishing Scenarios
Based on my experience, here are the most common and effective GPO publishing scenarios.
Scenario 1: Security Policy Publishing
Publishing security-related GPO settings is one of the most common use cases for GPO publishing.
Example: Password Policy Configuration
- Create a Security Policy Profile:
- Navigate to Devices → Profiles & Resources → Profiles
- Click Add → Add Profile → Windows Desktop
- Add the Password Policy payload
- Configure password complexity requirements, length, and expiration settings
- Configure Advanced Security Settings:
- Add the Account Lockout Policy payload
- Configure lockout threshold, duration, and reset counter settings
- Add the User Rights Assignment payload for privilege management
- Configure audit policy settings for security monitoring
Example Configuration Values:
- Minimum Password Length: 12 characters
- Password Complexity: Enabled (requires uppercase, lowercase, numbers, and symbols)
- Maximum Password Age: 90 days
- Password History: Remember 12 previous passwords
- Account Lockout Threshold: 5 invalid attempts
- Account Lockout Duration: 30 minutes
Scenario 2: Administrative Templates Publishing
Administrative Templates provide access to a wide range of Windows and application settings.
Example: Internet Explorer/Edge Security Configuration
- Create an Administrative Templates Profile:
- Add the Administrative Templates payload to your profile
- Navigate to Windows Components → Internet Explorer
- Configure security zone settings and restrictions
- Set up trusted sites and restricted sites lists
- Configure Browser Security Settings:
- Enable Turn on Enhanced Protected Mode
- Configure Security Zones: Use only machine settings
- Set up Trusted Sites Zone with appropriate security levels
- Configure Download restrictions and ActiveX controls settings
Example: Windows Update Configuration
- Configure Windows Update Settings:
- Navigate to Windows Components → Windows Update
- Configure Automatic Updates behavior
- Set up Windows Update for Business settings
- Configure update installation schedules and maintenance windows
- Set Update Policies:
- Configure Automatic Updates: Auto download and notify for install
- Scheduled Install Day: Every Sunday
- Scheduled Install Time: 3:00 AM
- Defer Feature Updates: 180 days
- Defer Quality Updates: 30 days
Scenario 3: Application-Specific Policy Publishing
Many applications support Group Policy-based configuration, which can be published through Workspace ONE.
Example: Microsoft Office Configuration
- Configure Office Security Settings:
- Add Administrative Templates for Microsoft Office applications
- Navigate to Microsoft Office 2016/2019/365 settings
- Configure security and privacy settings for Office applications
- Set up trusted locations and macro security settings
- Example Office Policy Settings:
- Macro Security Level: Disable all macros except digitally signed macros
- Trust Center Settings: Disable automatic hyperlink warnings
- Privacy Settings: Disable sending customer data to Microsoft
- Update Settings: Enable automatic updates for Office applications
Advanced GPO Publishing Techniques
Custom Administrative Templates
For applications that don’t have built-in Workspace ONE support, you can create custom administrative templates.
Creating Custom ADMX Templates:
- Develop Custom ADMX Files:
- Create ADMX and ADML files for your custom application settings
- Define registry-based policy settings and their user interface elements
- Test ADMX files in a traditional Group Policy environment first
- Validate that the ADMX files work correctly with your target applications
- Import Custom Templates into Workspace ONE:
- Upload custom ADMX files to the Workspace ONE console
- Configure the custom template settings in your profiles
- Test the custom template deployment on pilot devices
- Monitor for any conflicts or issues with existing policies
Example: Custom Application Configuration
Here’s an example of creating a custom ADMX template for a line-of-business application:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns_xsd="http://www.w3.org/2001/XMLSchema"
xmlns_xsi="http://www.w3.org/2001/XMLSchema-instance"
revision="1.0" schemaVersion="1.0"
>
<policyNamespaces>
<target prefix="companyapp" namespace="Company.Policies.BusinessApp" />
</policyNamespaces>
<resources minRequiredRevision="1.0" />
<categories>
<category name="CompanyBusinessApp" displayName="$(string.CompanyBusinessApp)">
<parentCategory ref="windows:WindowsComponents" />
</category>
</categories>
<policies>
<policy name="ServerURL" class="Machine" displayName="$(string.ServerURL)"
explainText="$(string.ServerURL_Explain)"
key="SOFTWARECompanyBusinessApp" valueName="ServerURL">
<parentCategory ref="CompanyBusinessApp" />
<supportedOn ref="windows:SUPPORTED_WindowsVista" />
<elements>
<text id="ServerURL_Value" valueName="ServerURL" required="true" />
</elements>
</policy>
<policy name="EnableOfflineMode" class="Machine" displayName="$(string.EnableOfflineMode)"
explainText="$(string.EnableOfflineMode_Explain)"
key="SOFTWARECompanyBusinessApp" valueName="EnableOfflineMode">
<parentCategory ref="CompanyBusinessApp" />
<supportedOn ref="windows:SUPPORTED_WindowsVista" />
<enabledValue>
<decimal value="1" />
</enabledValue>
<disabledValue>
<decimal value="0" />
</disabledValue>
</policy>
</policies>
</policyDefinitions>
PowerShell-Based Policy Implementation
For complex policy requirements that can’t be addressed through traditional GPO settings, PowerShell scripts can be used.
Creating PowerShell-Based Policies:
- Develop PowerShell Scripts:
- Create PowerShell scripts that implement your desired policy configurations
- Include error handling and logging for troubleshooting
- Test scripts thoroughly in your environment
- Consider script execution policies and security implications
- Deploy Scripts through Workspace ONE:
- Add PowerShell script payloads to your profiles
- Configure script execution context and timing
- Set up appropriate targeting and assignment rules
- Monitor script execution and results
Example: Advanced Registry Configuration Script
# Advanced Registry Configuration Script
# Configure custom application settings and security policies
# Set execution policy for this session
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
# Define registry paths and values
$registryConfigs = @(
@{
Path = "HKLM:SOFTWARECompanyBusinessApp"
Name = "ServerURL"
Value = "https://api.company.com"
Type = "String"
},
@{
Path = "HKLM:SOFTWARECompanyBusinessApp"
Name = "EnableOfflineMode"
Value = 1
Type = "DWord"
},
@{
Path = "HKLM:SOFTWARECompanyBusinessApp"
Name = "SyncInterval"
Value = 300
Type = "DWord"
},
@{
Path = "HKLM:SOFTWAREPoliciesMicrosoftWindowsWindowsUpdate"
Name = "DeferFeatureUpdates"
Value = 1
Type = "DWord"
},
@{
Path = "HKLM:SOFTWAREPoliciesMicrosoftWindowsWindowsUpdate"
Name = "DeferFeatureUpdatesPeriodInDays"
Value = 180
Type = "DWord"
}
)
# Function to create registry keys and set values
function Set-RegistryValue {
param(
[string]$Path,
[string]$Name,
[object]$Value,
[string]$Type
)
try {
# Create the registry path if it doesn't exist
if (!(Test-Path $Path)) {
New-Item -Path $Path -Force | Out-Null
Write-Host "Created registry path: $Path"
}
# Set the registry value
Set-ItemProperty -Path $Path -Name $Name -Value $Value -Type $Type -Force
Write-Host "Set registry value: $Path$Name = $Value"
# Log to Windows Event Log
Write-EventLog -LogName Application -Source "Workspace ONE" -EventId 1001 -Message "Registry value set: $Path$Name = $Value"
} catch {
Write-Error "Failed to set registry value: $Path$Name - $($_.Exception.Message)"
Write-EventLog -LogName Application -Source "Workspace ONE" -EventId 1002 -EntryType Error -Message "Failed to set registry value: $Path$Name - $($_.Exception.Message)"
}
}
# Apply all registry configurations
foreach ($config in $registryConfigs) {
Set-RegistryValue -Path $config.Path -Name $config.Name -Value $config.Value -Type $config.Type
}
# Configure Windows Firewall rules
try {
New-NetFirewallRule -DisplayName "Company Business App" -Direction Inbound -Program "C:Program FilesCompanyBusinessAppapp.exe" -Action Allow -Profile Domain,Private -Force
Write-Host "Configured firewall rule for Company Business App"
Write-EventLog -LogName Application -Source "Workspace ONE" -EventId 1003 -Message "Firewall rule configured for Company Business App"
} catch {
Write-Error "Failed to configure firewall rule: $($_.Exception.Message)"
Write-EventLog -LogName Application -Source "Workspace ONE" -EventId 1004 -EntryType Error -Message "Failed to configure firewall rule: $($_.Exception.Message)"
}
# Configure scheduled task for application maintenance
try {
$action = New-ScheduledTaskAction -Execute "C:Program FilesCompanyBusinessAppmaintenance.exe"
$trigger = New-ScheduledTaskTrigger -Daily -At "2:00 AM"
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
Register-ScheduledTask -TaskName "Company Business App Maintenance" -Action $action -Trigger $trigger -Principal $principal -Settings $settings -Force
Write-Host "Configured scheduled task for application maintenance"
Write-EventLog -LogName Application -Source "Workspace ONE" -EventId 1005 -Message "Scheduled task configured for application maintenance"
} catch {
Write-Error "Failed to configure scheduled task: $($_.Exception.Message)"
Write-EventLog -LogName Application -Source "Workspace ONE" -EventId 1006 -EntryType Error -Message "Failed to configure scheduled task: $($_.Exception.Message)"
}
Write-Host "Policy configuration completed successfully"
Conditional Policy Application
Using Workspace ONE’s Smart Groups, you can implement sophisticated conditional logic for policy application.
Smart Group-Based Policy Targeting:
- Create Conditional Smart Groups:
- Navigate to Groups & Settings → Groups → Assignment Groups
- Create Smart Groups based on device attributes, user properties, or custom criteria
- Use complex logic to target specific device populations
- Test Smart Group membership before deploying policies
- Example Smart Group Criteria:
- Department-Based Targeting: Apply different policies based on user department
- Device Type Targeting: Different policies for laptops vs. desktops
- Location-Based Targeting: Policies based on device location or network
- Compliance-Based Targeting: Additional policies for non-compliant devices
Best Practices for GPO Publishing
Planning and Design
Successful GPO publishing requires careful planning and design to ensure effectiveness and maintainability.
Policy Assessment and Prioritization:
- Inventory Existing GPOs:
- Document all existing GPOs and their purposes
- Identify critical policies that must be migrated
- Assess policy dependencies and inheritance relationships
- Prioritize policies based on business impact and security requirements
- Compatibility Analysis:
- Verify that GPO settings are compatible with Workspace ONE
- Identify settings that require alternative implementation approaches
- Test policy compatibility with target Windows versions
- Document any limitations or workarounds required
Profile Design Strategy:
- Modular Profile Design:
- Create focused profiles that address specific policy areas
- Avoid creating monolithic profiles that are difficult to manage
- Design profiles for reusability across different organizational groups
- Consider profile dependencies and application order
- Naming and Organization:
- Use consistent naming conventions for profiles and settings
- Organize profiles into logical categories and folders
- Include version information and change tracking
- Document the purpose and scope of each profile
Testing and Validation
Thorough testing is essential for successful GPO publishing implementation.
Testing Strategy:
- Pilot Testing:
- Start with a small pilot group of representative devices
- Test policies on different Windows versions and hardware configurations
- Validate that policies apply correctly and don’t cause conflicts
- Monitor pilot devices for performance and stability issues
- Validation Procedures:
- Verify that policy settings are applied correctly on target devices
- Test policy removal and cleanup procedures
- Validate that policies don’t interfere with critical business applications
- Confirm that policy reporting and compliance monitoring work correctly
Testing Checklist:
- Policy Application: Verify that all policy settings are applied correctly
- User Experience: Ensure that policies don’t negatively impact user productivity
- Application Compatibility: Test that business applications work correctly with applied policies
- Performance Impact: Monitor device performance and resource usage
- Conflict Resolution: Test policy interactions and conflict resolution
- Rollback Procedures: Verify that policies can be removed cleanly if needed
Deployment and Rollout
A phased deployment approach minimizes risk and allows for course correction during rollout.
Phased Deployment Strategy:
- Phase 1: Pilot Deployment
- Deploy to a small group of IT-managed devices
- Monitor closely for issues and gather feedback
- Refine policies based on pilot results
- Document lessons learned and best practices
- Phase 2: Limited Production
- Expand deployment to a larger but still controlled group
- Include representative users from different departments
- Monitor policy compliance and user feedback
- Address any issues before broader deployment
- Phase 3: Full Production
- Deploy to all target devices and users
- Implement comprehensive monitoring and alerting
- Provide user training and support as needed
- Establish ongoing maintenance and update procedures
Monitoring and Troubleshooting
Policy Compliance Monitoring
Effective monitoring ensures that published GPO policies are working as intended and helps identify issues quickly.
Workspace ONE Reporting:
- Profile Compliance Reports:
- Navigate to Monitor → Reports & Analytics → Reports
- Generate profile compliance reports to track policy application status
- Monitor for devices that are non-compliant with published policies
- Set up automated reporting and alerting for compliance issues
- Device-Level Monitoring:
- Review individual device compliance status in the device details view
- Check profile installation status and any error messages
- Monitor device check-in frequency and connectivity
- Review device logs for policy-related events and errors
Windows Event Log Monitoring:
- Group Policy Event Logs:
- Monitor Windows Event Logs for Group Policy-related events
- Check for policy application errors and warnings
- Review Group Policy operational logs for detailed information
- Set up automated monitoring and alerting for critical events
- Key Event IDs to Monitor:
- Event ID 1000-1006: Group Policy processing events
- Event ID 1085: Group Policy processing failure
- Event ID 1129: Group Policy processing success
- Event ID 1202: Security policy processing events
Common Issues and Troubleshooting
Based on my experience, here are the most common GPO publishing issues and their solutions.
Policy Application Issues:
- Policies Not Applying:
- Check device enrollment status and Workspace ONE connectivity
- Verify Smart Group membership and profile assignments
- Review profile syntax and configuration for errors
- Check for conflicting policies or settings
- Partial Policy Application:
- Review Windows Event Logs for specific policy processing errors
- Check for insufficient permissions or access rights
- Verify that target registry keys and paths are accessible
- Test individual policy settings in isolation
Performance and Compatibility Issues:
- Slow Policy Processing:
- Review the complexity and size of published policies
- Check for network connectivity issues affecting policy download
- Monitor device resource usage during policy application
- Consider breaking large policies into smaller, focused profiles
- Application Compatibility Problems:
- Test policies with critical business applications
- Review application logs for policy-related errors
- Consider creating application-specific policy exceptions
- Work with application vendors to resolve compatibility issues
Advanced Troubleshooting Techniques
For complex issues, advanced troubleshooting techniques may be required.
Registry Analysis:
- Policy Registry Verification:
- Use Registry Editor to verify that policy settings are written correctly
- Check both HKLM and HKCU registry hives as appropriate
- Compare registry settings with expected policy configurations
- Look for registry permission issues that might prevent policy application
- Group Policy Registry Analysis:
- Review Group Policy registry keys for policy processing information
- Check HKLMSOFTWAREMicrosoftWindowsCurrentVersionGroup Policy for processing status
- Analyze policy processing timestamps and error codes
- Use tools like GPResult to analyze effective policy settings
PowerShell Diagnostics:
PowerShell can be used for advanced policy diagnostics and troubleshooting:
# PowerShell script for GPO policy diagnostics
# Check Group Policy processing status
Write-Host "Checking Group Policy processing status..."
Get-WinEvent -LogName "Microsoft-Windows-GroupPolicy/Operational" -MaxEvents 50 |
Where-Object {$_.Id -in @(1000, 1001, 1085, 1129)} |
Select-Object TimeCreated, Id, LevelDisplayName, Message
# Check registry policy settings
Write-Host "Checking registry policy settings..."
$policyPaths = @(
"HKLM:SOFTWAREPolicies",
"HKCU:SOFTWAREPolicies",
"HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPolicies",
"HKCU:SOFTWAREMicrosoftWindowsCurrentVersionPolicies"
)
foreach ($path in $policyPaths) {
if (Test-Path $path) {
Write-Host "Policy settings found in: $path"
Get-ChildItem $path -Recurse | Select-Object Name, Property, Value
}
}
# Check Workspace ONE Intelligent Hub status
Write-Host "Checking Workspace ONE Intelligent Hub status..."
Get-Service -Name "AirWatchService" | Select-Object Name, Status, StartType
Get-Process -Name "AirWatchService" -ErrorAction SilentlyContinue | Select-Object Name, CPU, WorkingSet
# Check last policy sync time
Write-Host "Checking last policy sync time..."
$registryPath = "HKLM:SOFTWAREAirWatchEnrollmentStatus"
if (Test-Path $registryPath) {
Get-ItemProperty $registryPath | Select-Object LastSyncTime, LastSuccessfulSyncTime
}
# Generate Group Policy report
Write-Host "Generating Group Policy report..."
gpresult /r /scope:computer
gpresult /r /scope:user
Conclusion: Mastering GPO Publishing in Workspace ONE
GPO publishing in Workspace ONE represents a powerful bridge between traditional Windows management and modern cloud-based device management. After implementing this capability across numerous organizations, I can confidently say that it’s one of the most valuable features for organizations managing hybrid Windows environments.
Key Success Factors
Organizations that succeed with GPO publishing share several common characteristics:
- Thorough Planning: They invest time in understanding their existing GPO environment and planning the migration carefully
- Phased Implementation: They implement GPO publishing in phases, starting with pilot groups and expanding gradually
- Comprehensive Testing: They test policies thoroughly before production deployment
- Ongoing Monitoring: They implement robust monitoring and alerting to ensure continued policy effectiveness
Strategic Benefits
The strategic benefits of GPO publishing extend beyond simple policy management:
- Unified Management: Manage both traditional and modern devices from a single console
- Enhanced Compliance: Ensure policy compliance regardless of device location or domain membership
- Simplified Operations: Reduce the complexity of managing multiple management tools and systems
- Future-Proofing: Prepare for cloud migration while maintaining current policy requirements
Looking Forward
As organizations continue to evolve their Windows management strategies, GPO publishing will remain a critical capability for maintaining policy consistency and compliance. The key is to use this feature strategically—leveraging it to bridge the gap between traditional and modern management while planning for eventual migration to cloud-native policy management.
Remember that GPO publishing is not just about replicating existing policies in a new platform—it’s an opportunity to review, optimize, and modernize your policy management approach. Take advantage of this transition to eliminate outdated policies, consolidate redundant settings, and implement more efficient management practices.
The investment in mastering GPO publishing pays dividends through improved policy consistency, enhanced compliance, and simplified management operations. As you continue to develop your expertise in this area, you’ll find that GPO publishing becomes an indispensable tool for managing Windows devices in hybrid and cloud-first environments.