Merge branch 'main' of https://github.com/MicrosoftDocs/windows-docs-pr into recall-optin-9067947
@ -51,7 +51,6 @@
|
||||
"folder_relative_path_in_docset": "./"
|
||||
}
|
||||
},
|
||||
"titleSuffix": "Windows Application Management",
|
||||
"contributors_to_exclude": [
|
||||
"dstrome2",
|
||||
"rjagiewich",
|
||||
@ -63,19 +62,16 @@
|
||||
"Stacyrch140",
|
||||
"garycentric",
|
||||
"dstrome",
|
||||
"beccarobins"
|
||||
"beccarobins",
|
||||
"padmagit77",
|
||||
"aditisrivastava07"
|
||||
],
|
||||
"searchScope": [
|
||||
"Windows 10"
|
||||
]
|
||||
},
|
||||
"fileMetadata": {
|
||||
"feedback_system": {
|
||||
"app-v/**/*.*": "None"
|
||||
}
|
||||
},
|
||||
"template": [],
|
||||
"dest": "win-app-management",
|
||||
"markdownEngineName": "markdig"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ author: aczechowski
|
||||
ms.author: aaroncz
|
||||
manager: aaroncz
|
||||
ms.date: 10/03/2017
|
||||
ms.topic: article
|
||||
ms.topic: conceptual
|
||||
ms.service: windows-client
|
||||
ms.subservice: itpro-apps
|
||||
ms.localizationpriority: medium
|
||||
|
@ -9,7 +9,7 @@ metadata:
|
||||
author: aczechowski
|
||||
ms.author: aaroncz
|
||||
manager: aaroncz
|
||||
ms.date: 08/18/2023
|
||||
ms.date: 06/28/2024
|
||||
ms.topic: landing-page
|
||||
ms.service: windows-client
|
||||
ms.subservice: itpro-apps
|
||||
@ -40,22 +40,3 @@ landingContent:
|
||||
url: per-user-services-in-windows.md
|
||||
- text: Changes to Service Host grouping in Windows 10
|
||||
url: svchost-service-refactoring.md
|
||||
|
||||
- title: Application Virtualization (App-V)
|
||||
linkLists:
|
||||
- linkListType: overview
|
||||
links:
|
||||
- text: App-V overview
|
||||
url: /microsoft-desktop-optimization-pack/app-v/appv-for-windows
|
||||
- text: Getting started with App-V
|
||||
url: /microsoft-desktop-optimization-pack/app-v/appv-getting-started
|
||||
- text: Planning for App-V
|
||||
url: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-appv
|
||||
- text: Deploying App-V
|
||||
url: /microsoft-desktop-optimization-pack/app-v/appv-deploying-appv
|
||||
- text: Operations for App-V
|
||||
url: /microsoft-desktop-optimization-pack/app-v/appv-operations
|
||||
- text: Troubleshooting App-V
|
||||
url: /microsoft-desktop-optimization-pack/app-v/appv-troubleshooting
|
||||
- text: Technical Reference for App-V
|
||||
url: /microsoft-desktop-optimization-pack/app-v/appv-technical-reference
|
||||
|
@ -4,7 +4,7 @@ description: Learn about the different types of apps that run on Windows. For ex
|
||||
author: aczechowski
|
||||
ms.author: aaroncz
|
||||
manager: aaroncz
|
||||
ms.date: 08/28/2023
|
||||
ms.date: 09/03/2024
|
||||
ms.topic: overview
|
||||
ms.service: windows-client
|
||||
ms.subservice: itpro-apps
|
||||
@ -31,7 +31,7 @@ For more information on deploying Microsoft 365 apps, see the [Deployment guide
|
||||
|
||||
### Power Apps
|
||||
|
||||
These apps are custom, low-code apps to connect to business data, modernize processes, and solve unique challenges. Power Apps are available online and on-premises, can run in a web browser, and on mobile devices. They can be created by business analysts and professional developers.
|
||||
These apps are custom, low-code apps to connect to business data, modernize processes, and solve unique challenges. Power Apps are available online and on-premises, can run in a web browser, and on mobile devices. They can be created by business analysts and professional developers.
|
||||
|
||||
For more information, see [What is Power Apps?](/power-apps/powerapps-overview).
|
||||
|
||||
@ -126,9 +126,7 @@ For more information, see:
|
||||
When you use the Microsoft Store app, Windows users can download apps from the public store. They can also download apps provided by your organization, which is called the *private store*. If your organization creates its own apps, you can use [Windows Package Manager](/windows/package-manager) to add apps to the private store.
|
||||
|
||||
> [!NOTE]
|
||||
> Retirement of the Microsoft Store for Business and Microsoft Store for Education has been postponed. We will update this notice when a new retirement date is announced. Customers may continue to use the current capabilities for free apps until that time. There will be no support for Microsoft Store for Business and Education for Windows 11.
|
||||
>
|
||||
> For more information, see [Evolving the Microsoft Store for Business and Education](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/evolving-the-microsoft-store-for-business-and-education/bc-p/3771217). This blog post describes the new Microsoft Store experience for both Windows 11 and Windows 10. To learn about other options for getting and managing apps, see [Add Microsoft Store apps to Microsoft Intune](/mem/intune/apps/store-apps-microsoft).
|
||||
> The Microsoft Store for Business and Microsoft Store for Education are retired. For more information, see [Microsoft Store for Business and Education retiring March 31, 2023](/lifecycle/announcements/microsoft-store-for-business-education-retiring). There will be no support for Microsoft Store for Business and Education for Windows 11.
|
||||
|
||||
To help manage the Microsoft Store on your devices, you can use policies:
|
||||
|
||||
@ -182,7 +180,7 @@ App-V allows Win32 apps to be used as virtual apps.
|
||||
|
||||
On an on-premises server, you install and configure the App-V server components, and then install your Win32 apps. On Windows Enterprise client devices, you use the App-V client components to run the virtualized apps. They allow users to open the virtual apps using the icons and file names they're familiar with. Users use the apps as if they're installed locally.
|
||||
|
||||
The benefit is to deliver virtual apps in real time, and as-needed. For more information, see [Application Virtualization (App-V) for Windows overview](./app-v/appv-for-windows.md).
|
||||
The benefit is to deliver virtual apps in real time, and as-needed. For more information, see [Application Virtualization (App-V) for Windows overview](/microsoft-desktop-optimization-pack/app-v/appv-for-windows).
|
||||
|
||||
## Manage apps
|
||||
|
||||
|
@ -4,8 +4,8 @@ description: Use the Company Portal app in Windows 11 devices to access the priv
|
||||
author: aczechowski
|
||||
ms.author: aaroncz
|
||||
manager: aaroncz
|
||||
ms.date: 04/04/2023
|
||||
ms.topic: article
|
||||
ms.date: 09/03/2023
|
||||
ms.topic: conceptual
|
||||
ms.service: windows-client
|
||||
ms.subservice: itpro-apps
|
||||
ms.localizationpriority: medium
|
||||
@ -104,4 +104,4 @@ If you use a third party or partner MDM provider, be sure to configure the setti
|
||||
|
||||
## Windows Package Manager
|
||||
|
||||
If your organization creates its own apps, your app developers can use [Windows Package Manager](/windows/package-manager/) to deploy apps. For more information on Intune and Windows Package Manager, see [Evolving the Microsoft Store for Business and Education](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/evolving-the-microsoft-store-for-business-and-education/ba-p/2569423).
|
||||
If your organization creates its own apps, your app developers can use [Windows Package Manager](/windows/package-manager/) to deploy apps. For more information on Intune and Windows Package Manager, see [Evolving the Microsoft Store for Business and Education](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/evolving-the-microsoft-store-for-business-and-education/ba-p/2569423) and [Microsoft Store for Business and Education retiring March 31, 2023](/lifecycle/announcements/microsoft-store-for-business-education-retiring).
|
||||
|
@ -1,255 +1,17 @@
|
||||
items:
|
||||
- name: Manage Windows applications
|
||||
href: index.yml
|
||||
- name: Application management
|
||||
items:
|
||||
- name: Overview of apps in Windows
|
||||
href: overview-windows-apps.md
|
||||
- name: Sideload line of business (LOB) apps
|
||||
href: sideload-apps-in-windows.md
|
||||
- name: Private app repo on Windows 11
|
||||
href: private-app-repository-mdm-company-portal-windows-11.md
|
||||
- name: Remove background task resource restrictions
|
||||
href: enterprise-background-activity-controls.md
|
||||
- name: Service host grouping in Windows 10
|
||||
href: svchost-service-refactoring.md
|
||||
- name: Per-user services in Windows
|
||||
href: per-user-services-in-windows.md
|
||||
- name: Keep removed apps from returning during an update
|
||||
href: remove-provisioned-apps-during-update.md
|
||||
- name: Application Virtualization (App-V)
|
||||
items:
|
||||
- name: App-V for Windows overview
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-for-windows
|
||||
- name: Getting Started
|
||||
items:
|
||||
- name: Getting Started with App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-getting-started
|
||||
- name: What's new
|
||||
items:
|
||||
- name: What's new in App-V for Windows 10, version 1703 and earlier
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-about-appv
|
||||
- name: Release Notes for App-V for Windows 10, version 1607
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-release-notes-for-appv-for-windows
|
||||
- name: Release Notes for App-V for Windows 10, version 1703
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-release-notes-for-appv-for-windows-1703
|
||||
- name: Evaluating App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-evaluating-appv
|
||||
- name: High Level Architecture for App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-high-level-architecture
|
||||
- name: Planning
|
||||
items:
|
||||
- name: Planning for App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-appv
|
||||
- name: Preparing your environment
|
||||
items:
|
||||
- name: Preparing your environment for App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-preparing-your-environment
|
||||
- name: App-V Prerequisites
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-prerequisites
|
||||
- name: App-V security considerations
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-security-considerations
|
||||
- name: Planning to deploy
|
||||
items:
|
||||
- name: Planning to Deploy App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-planning-to-deploy-appv
|
||||
- name: App-V Supported Configurations
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-supported-configurations
|
||||
- name: App-V Capacity Planning
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-capacity-planning
|
||||
- name: Planning for High Availability with App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-high-availability-with-appv
|
||||
- name: Planning to Deploy App-V with an Electronic Software Distribution System
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-planning-to-deploy-appv-with-electronic-software-distribution-solutions
|
||||
- name: Planning for the App-V Server Deployment
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-appv-server-deployment
|
||||
- name: Planning for the App-V Sequencer and Client Deployment
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-sequencer-and-client-deployment
|
||||
- name: Planning for Using App-V with Office
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-using-appv-with-office
|
||||
- name: Planning to Use Folder Redirection with App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-planning-folder-redirection-with-appv
|
||||
- name: App-V Planning Checklist
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-planning-checklist
|
||||
- name: Deploying
|
||||
items:
|
||||
- name: Deploying App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-appv
|
||||
- name: App-V sequencer and client configuration
|
||||
items:
|
||||
- name: Deploying the App-V Sequencer and Configuring the Client
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-the-appv-sequencer-and-client
|
||||
- name: About Client Configuration Settings
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-client-configuration-settings
|
||||
- name: Enable the App-V desktop client
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-enable-the-app-v-desktop-client
|
||||
- name: How to Install the Sequencer
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-sequencer
|
||||
- name: App-V server deployment
|
||||
items:
|
||||
- name: Deploying the App-V Server
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-the-appv-server
|
||||
- name: How to Deploy the App-V Server
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploy-the-appv-server
|
||||
- name: How to Deploy the App-V Server Using a Script
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploy-the-appv-server-with-a-script
|
||||
- name: How to Deploy the App-V Databases by Using SQL Scripts
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploy-appv-databases-with-sql-scripts
|
||||
- name: How to Install the Publishing Server on a Remote Computer
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-publishing-server-on-a-remote-computer
|
||||
- name: How to Install the Management and Reporting Databases on Separate Computers from the Management and Reporting Services
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-management-and-reporting-databases-on-separate-computers
|
||||
- name: How to install the Management Server on a Standalone Computer and Connect it to the Database
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-management-server-on-a-standalone-computer
|
||||
- name: About App-V Reporting
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-reporting
|
||||
- name: How to install the Reporting Server on a Standalone Computer and Connect it to the Database
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-reporting-server-on-a-standalone-computer
|
||||
- name: App-V Deployment Checklist
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deployment-checklist
|
||||
- name: Deploying Microsoft Office 2016 by Using App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-microsoft-office-2016-with-appv
|
||||
- name: Deploying Microsoft Office 2013 by Using App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-microsoft-office-2013-with-appv
|
||||
- name: Deploying Microsoft Office 2010 by Using App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-microsoft-office-2010-wth-appv
|
||||
- name: Operations
|
||||
items:
|
||||
- name: Operations for App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-operations
|
||||
- name: Creating and managing virtualized applications
|
||||
items:
|
||||
- name: Creating and Managing App-V Virtualized Applications
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-creating-and-managing-virtualized-applications
|
||||
- name: Automatically provision your sequencing environment using Microsoft Application Virtualization Sequencer (App-V Sequencer)
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-auto-provision-a-vm
|
||||
- name: Automatically sequence multiple apps at the same time using Microsoft Application Virtualization Sequencer (App-V Sequencer)
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-auto-batch-sequencing
|
||||
- name: Automatically update multiple apps at the same time using Microsoft Application Virtualization Sequencer (App-V Sequencer)
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-auto-batch-updating
|
||||
- name: Manually sequence a new app using Microsoft Application Virtualization Sequencer (App-V Sequencer)
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-sequence-a-new-application
|
||||
- name: How to Modify an Existing Virtual Application Package
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-modify-an-existing-virtual-application-package
|
||||
- name: How to Create and Use a Project Template
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-create-and-use-a-project-template
|
||||
- name: How to Create a Package Accelerator
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-package-accelerator
|
||||
- name: How to Create a Virtual Application Package Using an App-V Package Accelerator
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-virtual-application-package-package-accelerator
|
||||
- name: Administering App-V
|
||||
items:
|
||||
- name: Administering App-V Virtual Applications by Using the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-administering-virtual-applications-with-the-management-console
|
||||
- name: About App-V Dynamic Configuration
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-dynamic-configuration
|
||||
- name: How to Connect to the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-connect-to-the-management-console
|
||||
- name: How to Add or Upgrade Packages by Using the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-add-or-upgrade-packages-with-the-management-console
|
||||
- name: How to Configure Access to Packages by Using the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-configure-access-to-packages-with-the-management-console
|
||||
- name: How to Publish a Package by Using the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-publish-a-packages-with-the-management-console
|
||||
- name: How to Delete a Package in the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-delete-a-package-with-the-management-console
|
||||
- name: How to Add or Remove an Administrator by Using the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-add-or-remove-an-administrator-with-the-management-console
|
||||
- name: How to Register and Unregister a Publishing Server by Using the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-register-and-unregister-a-publishing-server-with-the-management-console
|
||||
- name: How to Create a Custom Configuration File by Using the App-V Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-custom-configuration-file-with-the-management-console
|
||||
- name: How to Transfer Access and Configurations to Another Version of a Package by Using the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-transfer-access-and-configurations-to-another-version-of-a-package-with-the-management-console
|
||||
- name: How to Customize Virtual Applications Extensions for a Specific AD Group by Using the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-customize-virtual-application-extensions-with-the-management-console
|
||||
- name: How to View and Configure Applications and Default Virtual Application Extensions by Using the Management Console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-view-and-configure-applications-and-default-virtual-application-extensions-with-the-management-console
|
||||
- name: Connection groups
|
||||
items:
|
||||
- name: Managing Connection Groups
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-managing-connection-groups
|
||||
- name: About the Connection Group Virtual Environment
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-connection-group-virtual-environment
|
||||
- name: About the Connection Group File
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-connection-group-file
|
||||
- name: How to Create a Connection Group
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-connection-group
|
||||
- name: How to Create a Connection Group with User-Published and Globally Published Packages
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-connection-group-with-user-published-and-globally-published-packages
|
||||
- name: How to Delete a Connection Group
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-delete-a-connection-group
|
||||
- name: How to Publish a Connection Group
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-publish-a-connection-group
|
||||
- name: How to Make a Connection Group Ignore the Package Version
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-configure-connection-groups-to-ignore-the-package-version
|
||||
- name: How to Allow Only Administrators to Enable Connection Groups
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-allow-administrators-to-enable-connection-groups
|
||||
- name: Deploying App-V packages with ESD
|
||||
items:
|
||||
- name: Deploying App-V Packages by Using Electronic Software Distribution (ESD)
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-packages-with-electronic-software-distribution-solutions
|
||||
- name: How to deploy App-V Packages Using Electronic Software Distribution
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-deploy-appv-packages-with-electronic-software-distribution-solutions
|
||||
- name: How to Enable Only Administrators to Publish Packages by Using an ESD
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-enable-administrators-to-publish-packages-with-electronic-software-distribution-solutions
|
||||
- name: Using the management console
|
||||
items:
|
||||
- name: Using the App-V client management console
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-using-the-client-management-console
|
||||
- name: Automatically clean up unpublished packages on the App-V client
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-auto-clean-unpublished-packages
|
||||
- name: Migrating
|
||||
items:
|
||||
- name: Migrating to App-V from a previous version
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-migrating-to-appv-from-a-previous-version
|
||||
- name: How to convert a package created in a previous version of App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-convert-a-package-created-in-a-previous-version-of-appv
|
||||
- name: Maintenance
|
||||
items:
|
||||
- name: Maintaining App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-maintaining-appv
|
||||
- name: How to Move the App-V Server to Another Computer
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-move-the-appv-server-to-another-computer
|
||||
- name: Administering App-V with Windows PowerShell
|
||||
items:
|
||||
- name: Administering App-V by using Windows PowerShell
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-administering-appv-with-powershell
|
||||
- name: How to Load the Windows PowerShell Cmdlets for App-V and Get Cmdlet Help
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-load-the-powershell-cmdlets-and-get-cmdlet-help
|
||||
- name: How to Manage App-V Packages Running on a Stand-Alone Computer by Using Windows PowerShell
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-manage-appv-packages-running-on-a-stand-alone-computer-with-powershell
|
||||
- name: How to Manage Connection Groups on a Stand-alone Computer by Using Windows PowerShell
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-manage-connection-groups-on-a-stand-alone-computer-with-powershell
|
||||
- name: How to Modify Client Configuration by Using Windows PowerShell
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-modify-client-configuration-with-powershell
|
||||
- name: How to Configure the Client to Receive Package and Connection Groups Updates From the Publishing Server
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-configure-the-client-to-receive-updates-from-the-publishing-server
|
||||
- name: How to Apply the User Configuration File by Using Windows PowerShell
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-apply-the-user-configuration-file-with-powershell
|
||||
- name: How to Apply the Deployment Configuration File by Using Windows PowerShell
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-apply-the-deployment-configuration-file-with-powershell
|
||||
- name: How to Sequence a Package by Using Windows PowerShell
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-sequence-a-package-with-powershell
|
||||
- name: How to Create a Package Accelerator by Using Windows PowerShell
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-package-accelerator-with-powershell
|
||||
- name: How to Enable Reporting on the App-V Client by Using Windows PowerShell
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-enable-reporting-on-the-appv-client-with-powershell
|
||||
- name: How to Install the App-V Databases and Convert the Associated Security Identifiers by Using Windows PowerShell
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-appv-databases-and-convert-the-associated-security-identifiers-with-powershell
|
||||
- name: Troubleshooting App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-troubleshooting
|
||||
- name: Technical Reference
|
||||
items:
|
||||
- name: Technical Reference for App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-technical-reference
|
||||
- name: Available Mobile Device Management (MDM) settings for App-V
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-available-mdm-settings
|
||||
- name: Performance Guidance for Application Virtualization
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-performance-guidance
|
||||
- name: Application Publishing and Client Interaction
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-application-publishing-and-client-interaction
|
||||
- name: Viewing App-V Server Publishing Metadata
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-viewing-appv-server-publishing-metadata
|
||||
- name: Running a Locally Installed Application Inside a Virtual Environment with Virtualized Applications
|
||||
href: /microsoft-desktop-optimization-pack/app-v/appv-running-locally-installed-applications-inside-a-virtual-environment
|
||||
- name: Overview of apps in Windows
|
||||
href: overview-windows-apps.md
|
||||
- name: Sideload line of business (LOB) apps
|
||||
href: sideload-apps-in-windows.md
|
||||
- name: Private app repo on Windows 11
|
||||
href: private-app-repository-mdm-company-portal-windows-11.md
|
||||
- name: Remove background task resource restrictions
|
||||
href: enterprise-background-activity-controls.md
|
||||
- name: Service host grouping in Windows 10
|
||||
href: svchost-service-refactoring.md
|
||||
- name: Per-user services in Windows
|
||||
href: per-user-services-in-windows.md
|
||||
- name: Keep removed apps from returning during an update
|
||||
href: remove-provisioned-apps-during-update.md
|
||||
|
@ -5,18 +5,18 @@ ms.topic: conceptual
|
||||
ms.collection:
|
||||
- highpri
|
||||
- tier2
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Microsoft Entra integration with MDM
|
||||
|
||||
Microsoft Entra ID is the world's largest enterprise cloud identity management service. It's used by organizations to access Microsoft 365 and business applications from Microsoft and third-party software as a service (SaaS) vendors. Many of the rich Windows experiences for organizational users (such as store access or OS state roaming) use Microsoft Entra ID as the underlying identity infrastructure. Windows integrates with Microsoft Entra ID, allowing devices to be registered in Microsoft Entra ID and enrolled into MDM in an integrated flow.
|
||||
Microsoft Entra ID is the world's largest enterprise cloud identity management service. It's used by organizations to access Microsoft 365 and business applications from Microsoft and third-party software as a service (SaaS) vendors. Many of the rich Windows experiences for organizational users (such as store access or OS state roaming) use Microsoft Entra ID as the underlying identity infrastructure. Windows integrates with Microsoft Entra ID, allowing devices to be registered in Microsoft Entra ID and enrolled into Mobile Device Management (MDM) in an integrated flow.
|
||||
|
||||
Once a device is enrolled in MDM, the MDM:
|
||||
|
||||
- Can enforce compliance with organization policies, add or remove apps, and more.
|
||||
- Can report a device's compliance in Microsoft Entra ID.
|
||||
- Microsoft Entra ID can allow access to organization resources or applications secured by Microsoft Entra ID to devices that comply with policies.
|
||||
- Can allow access to organization resources or applications secured by Microsoft Entra ID to devices that comply with policies.
|
||||
|
||||
To support these rich experiences with their MDM product, MDM vendors can integrate with Microsoft Entra ID.
|
||||
|
||||
@ -24,23 +24,21 @@ To support these rich experiences with their MDM product, MDM vendors can integr
|
||||
|
||||
There are several ways to connect your devices to Microsoft Entra ID:
|
||||
|
||||
- [Join device to Microsoft Entra ID](/azure/active-directory/devices/concept-azure-ad-join)
|
||||
- [Join device to on-premises AD and Microsoft Entra ID](/azure/active-directory/devices/concept-azure-ad-join-hybrid)
|
||||
- [Add a Microsoft work account to Windows](/azure/active-directory/devices/concept-azure-ad-register)
|
||||
- [Join device to Microsoft Entra ID](/entra/identity/devices/concept-directory-join)
|
||||
- [Join device to on-premises AD and Microsoft Entra ID](/entra/identity/devices/concept-hybrid-join)
|
||||
- [Add a Microsoft work account to Windows](/entra/identity/devices/concept-device-registration)
|
||||
|
||||
In each scenario, Microsoft Entra authenticates the user and the device. It provides a verified unique device identifier that can be used for MDM enrollment. The enrollment flow provides an opportunity for the MDM service to render its own UI, using a web view. MDM vendors should use the UI to render the Terms of Use (TOU), which can be different for company-owned and bring-your-own-device (BYOD) devices. MDM vendors can also use the web view to render more UI elements, such as asking for a one-time PIN.
|
||||
|
||||
In Windows 10, the web view during the out-of-the-box scenario is displayed as full-screen by default, providing MDM vendors with the capability to create a seamless edge-to-edge user experience. However, in Windows 11 the web view is rendered within an iframe. It's important that MDM vendors who integrate with Microsoft Entra ID respect the Windows design guidelines. This step includes using a responsive web design and respecting the Windows accessibility guidelines. For example, include the forward and back buttons that are properly wired to the navigation logic. More details are provided later in this article.
|
||||
|
||||
For Microsoft Entra enrollment to work for an Active Directory Federated Services (AD FS) backed Microsoft Entra account, you must enable password authentication for the intranet on the ADFS service. For more information, see [Configure Azure MFA as authentication provider with AD FS](/windows-server/identity/ad-fs/operations/configure-ad-fs-and-azure-mfa).
|
||||
For Microsoft Entra enrollment to work for an Active Directory Federated Services (AD FS) backed Microsoft Entra account, you must enable password authentication for the intranet on the ADFS service. For more information, see [Configure Microsoft Entra multifactor authentication as authentication provider with AD FS](/windows-server/identity/ad-fs/operations/configure-ad-fs-and-azure-mfa).
|
||||
|
||||
Once a user has a Microsoft Entra account added to Windows and enrolled in MDM, the enrollment can be managed through **Settings** > **Accounts** > **Access work or school**. Device management of either Microsoft Entra join for organization scenarios or BYOD scenarios is similar.
|
||||
|
||||
> [!NOTE]
|
||||
> Users can't remove the device enrollment through the **Access work or school** user interface because management is tied to the Microsoft Entra ID or work account.
|
||||
|
||||
<a name='mdm-endpoints-involved-in-azure-ad-integrated-enrollment'></a>
|
||||
|
||||
### MDM endpoints involved in Microsoft Entra integrated enrollment
|
||||
|
||||
Microsoft Entra MDM enrollment is a two-step process:
|
||||
@ -64,17 +62,15 @@ To support Microsoft Entra enrollment, MDM vendors must host and expose a **Term
|
||||
|
||||
The MDM is expected to use this information about the device (Device ID) when reporting device compliance back to Microsoft Entra ID using the [Microsoft Graph API](/azure/active-directory/develop/active-directory-graph-api). A sample for reporting device compliance is provided later in this article.
|
||||
|
||||
<a name='make-mdm-a-reliable-party-of-azure-ad'></a>
|
||||
|
||||
## Make MDM a reliable party of Microsoft Entra ID
|
||||
|
||||
To participate in the integrated enrollment flow outlined in the previous section, the MDM must consume access tokens issued by Microsoft Entra ID. To report compliance with Microsoft Entra ID, the MDM must authenticate itself to Microsoft Entra ID and obtain authorization in the form of an access token that allows it to invoke the [Microsoft Graph API](/azure/active-directory/develop/active-directory-graph-api).
|
||||
|
||||
### Cloud-based MDM
|
||||
|
||||
A cloud-based MDM is a SaaS application that provides device management capabilities in the cloud. It's a multi-tenant application. This application is registered with Microsoft Entra ID in the home tenant of the MDM vendor. When an IT admin decides to use this MDM solution, an instance of this application is made visible in the tenant of the customer.
|
||||
A cloud-based MDM is a SaaS application that provides device management capabilities in the cloud. It's a multitenant application. This application is registered with Microsoft Entra ID in the home tenant of the MDM vendor. When an IT admin decides to use this MDM solution, an instance of this application is made visible in the tenant of the customer.
|
||||
|
||||
The MDM vendor must first register the application in their home tenant and mark it as a multi-tenant application. For more information about how to add multi-tenant applications to Microsoft Entra ID, see the [Integrate an app that authenticates users and calls Microsoft Graph using the multi-tenant integration pattern (SaaS)](https://go.microsoft.com/fwlink/p/?LinkId=613661) code sample on GitHub.
|
||||
The MDM vendor must first register the application in their home tenant and mark it as a multitenant application. For more information about how to add multitenant applications to Microsoft Entra ID, see the [Integrate an app that authenticates users and calls Microsoft Graph using the multitenant integration pattern (SaaS)](https://go.microsoft.com/fwlink/p/?LinkId=613661) code sample on GitHub.
|
||||
|
||||
> [!NOTE]
|
||||
> For the MDM provider, if you don't have an existing Microsoft Entra tenant with a Microsoft Entra subscription that you manage, follow these step-by-step guides:
|
||||
@ -82,7 +78,7 @@ The MDM vendor must first register the application in their home tenant and mark
|
||||
> - [Quickstart: Create a new tenant in Microsoft Entra ID](/azure/active-directory/fundamentals/active-directory-access-create-new-tenant) to set up a tenant.
|
||||
> - [Associate or add an Azure subscription to your Microsoft Entra tenant](/azure/active-directory/fundamentals/active-directory-how-subscriptions-associated-directory) to add a subscription, and manage it via the Azure Portal.
|
||||
|
||||
The MDM application uses keys to request access tokens from Microsoft Entra ID. These keys are managed within the tenant of the MDM provider and not visible to individual customers. The same key is used by the multi-tenant MDM application to authenticate itself with Microsoft Entra ID, in the customer tenant where the managed device belongs.
|
||||
The MDM application uses keys to request access tokens from Microsoft Entra ID. These keys are managed within the tenant of the MDM provider and not visible to individual customers. The same key is used by the multitenant MDM application to authenticate itself with Microsoft Entra ID, in the customer tenant where the managed device belongs.
|
||||
|
||||
> [!NOTE]
|
||||
> All MDM apps must implement Microsoft Entra v2 tokens before we certify that integration works. Due to changes in the Microsoft Entra app platform, using Microsoft Entra v2 tokens is a hard requirement. For more information, see [Microsoft identity platform access tokens](/azure/active-directory/develop/access-tokens#token-formats).
|
||||
@ -107,8 +103,6 @@ For cloud-based MDM, you can roll over the application keys without requiring a
|
||||
|
||||
For the on-premises MDM, the Microsoft Entra authentication keys are within the customer tenant and the customer's administrator must roll over the keys. To improve security, provide guidance to customers about rolling over and protecting the keys.
|
||||
|
||||
<a name='publish-your-mdm-app-to-azure-ad-app-gallery'></a>
|
||||
|
||||
## Publish your MDM app to Microsoft Entra app gallery
|
||||
|
||||
IT administrators use the Microsoft Entra app gallery to add an MDM for their organization to use. The app gallery is a rich store with over 2400 SaaS applications that are integrated with Microsoft Entra ID.
|
||||
@ -124,7 +118,7 @@ The following table shows the required information to create an entry in the Mic
|
||||
|
||||
| Item | Description |
|
||||
|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| **Application ID** | The client ID of your MDM app that is configured within your tenant. This ID is the unique identifier for your multi-tenant app. |
|
||||
| **Application ID** | The client ID of your MDM app that is configured within your tenant. This ID is the unique identifier for your multitenant app. |
|
||||
| **Publisher** | A string that identifies the publisher of the app. |
|
||||
| **Application URL** | A URL to the landing page of your app where your administrators can get more information about the MDM app and contains a link to the landing page of your app. This URL isn't used for the actual enrollment. |
|
||||
| **Description** | A brief description of your MDM app, which must be under 255 characters. |
|
||||
@ -191,7 +185,7 @@ The following claims are expected in the access token passed by Windows to the T
|
||||
|-----------|----------------------------------------------------------------------------------------------|
|
||||
| Object ID | Identifier of the user object corresponding to the authenticated user. |
|
||||
| UPN | A claim containing the user principal name (UPN) of the authenticated user. |
|
||||
| TID | A claim representing the tenant ID of the tenant. In the example above, it's Fabrikam. |
|
||||
| TID | A claim representing the tenant ID of the tenant. In the previous example, it's Fabrikam. |
|
||||
| Resource | A sanitized URL representing the MDM application. Example: `https://fabrikam.contosomdm.com` |
|
||||
|
||||
> [!NOTE]
|
||||
@ -206,7 +200,7 @@ https://fabrikam.contosomdm.com/TermsOfUse?redirect_uri=ms-appx-web://ContosoMdm
|
||||
Authorization: Bearer eyJ0eXAiOi
|
||||
```
|
||||
|
||||
The MDM is expected to validate the signature of the access token to ensure it is issued by Microsoft Entra ID and that the recipient is appropriate.
|
||||
The MDM is expected to validate the signature of the access token to ensure it's issued by Microsoft Entra ID and that the recipient is appropriate.
|
||||
|
||||
### Terms of Use content
|
||||
|
||||
@ -260,8 +254,6 @@ The following table shows the error codes.
|
||||
| Microsoft Entra token validation failed | 302 | unauthorized_client | unauthorized_client |
|
||||
| internal service error | 302 | server_error | internal service error |
|
||||
|
||||
<a name='enrollment-protocol-with-azure-ad'></a>
|
||||
|
||||
## Enrollment protocol with Microsoft Entra ID
|
||||
|
||||
With Azure integrated MDM enrollment, there's no discovery phase and the discovery URL is directly passed down to the system from Azure. The following table shows the comparison between the traditional and Azure enrollments.
|
||||
@ -284,8 +276,6 @@ With Azure integrated MDM enrollment, there's no discovery phase and the discove
|
||||
|EnrollmentData Terms of Use binary blob as AdditionalContext for EnrollmentServiceURL|Not supported|Supported|Supported|
|
||||
|CSPs accessible during enrollment|Windows 10 support: <br/>- DMClient <br/>- CertificateStore <br/>- RootCATrustedCertificates <br/> - ClientCertificateInstall <br/>- EnterpriseModernAppManagement <br/> - PassportForWork <br/> - Policy <br/> - w7 APPLICATION|||
|
||||
|
||||
<a name='management-protocol-with-azure-ad'></a>
|
||||
|
||||
## Management protocol with Microsoft Entra ID
|
||||
|
||||
There are two different MDM enrollment types that integrate with Microsoft Entra ID, and use Microsoft Entra user and device identities. Depending on the enrollment type, the MDM service may need to manage a single user or multiple users.
|
||||
@ -318,8 +308,6 @@ There are two different MDM enrollment types that integrate with Microsoft Entra
|
||||
- Use the JWT Token Handler extension for WIF to validate the contents of the access token and extract claims required for use. For more information, see [JwtSecurityTokenHandler Class](/dotnet/api/system.identitymodel.tokens.jwt.jwtsecuritytokenhandler).
|
||||
- Refer to the Microsoft Entra authentication code samples to get a sample for working with access tokens. For an example, see [NativeClient-DotNet](https://go.microsoft.com/fwlink/p/?LinkId=613667).
|
||||
|
||||
<a name='device-alert-1224-for-azure-ad-user-token'></a>
|
||||
|
||||
## Device Alert 1224 for Microsoft Entra user token
|
||||
|
||||
An alert is sent when the DM session starts and there's a Microsoft Entra user logged in. The alert is sent in OMA DM package #1. Here's an example:
|
||||
@ -372,15 +360,13 @@ Here's an example.
|
||||
</SyncBody>
|
||||
```
|
||||
|
||||
<a name='report-device-compliance-to-azure-ad'></a>
|
||||
|
||||
## Report device compliance to Microsoft Entra ID
|
||||
|
||||
Once a device is enrolled with the MDM for management, organization policies configured by the IT administrator are enforced on the device. MDM evaluates the device compliance with configured policies and then reports it to Microsoft Entra ID. This section covers the Graph API call you can use to report a device compliance status to Microsoft Entra ID.
|
||||
|
||||
For a sample that illustrates how an MDM can obtain an access token using OAuth 2.0 client\_credentials grant type, see [Daemon\_CertificateCredential-DotNet](https://go.microsoft.com/fwlink/p/?LinkId=613822).
|
||||
|
||||
- **Cloud-based MDM** - If your product is a cloud-based multi-tenant MDM service, you have a single key configured for your service within your tenant. To obtain authorization, use this key to authenticate the MDM service with Microsoft Entra ID.
|
||||
- **Cloud-based MDM** - If your product is a cloud-based multitenant MDM service, you have a single key configured for your service within your tenant. To obtain authorization, use this key to authenticate the MDM service with Microsoft Entra ID.
|
||||
- **On-premises MDM** - If your product is an on-premises MDM, customers must configure your product with the key used to authenticate with Microsoft Entra ID. This key configuration is because each on-premises instance of your MDM product has a different tenant-specific key. So, you may need to expose a configuration experience in your MDM product that enables administrators to specify the key to be used to authenticate with Microsoft Entra ID.
|
||||
|
||||
### Use Microsoft Graph API
|
||||
@ -415,8 +401,6 @@ Response:
|
||||
- Success - HTTP 204 with No Content.
|
||||
- Failure/Error - HTTP 404 Not Found. This error may be returned if the specified device or tenant can't be found.
|
||||
|
||||
<a name='data-loss-during-unenrollment-from-azure-active-directory-join'></a>
|
||||
|
||||
## Data loss during unenrollment from Microsoft Entra join
|
||||
|
||||
When a user is enrolled into MDM through Microsoft Entra join and then disconnects the enrollment, there's no warning that the user will lose Windows Information Protection (WIP) data. The disconnection message doesn't indicate the loss of WIP data.
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Automatic MDM enrollment in the Intune admin center
|
||||
description: Automatic MDM enrollment in the Intune admin center
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Automatic MDM enrollment in the Intune admin center
|
||||
|
@ -1,13 +1,13 @@
|
||||
---
|
||||
title: Bulk enrollment
|
||||
description: Bulk enrollment is an efficient way to set up a large number of devices to be managed by an MDM server without the need to reimage the devices.
|
||||
description: Bulk enrollment is an efficient way to set up an MDM server to manage a large number of devices without the need to reimage the devices.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Bulk enrollment using Windows Configuration Designer
|
||||
|
||||
Bulk enrollment is an efficient way to set up a large number of devices to be managed by an MDM server without the need to reimage the devices. You can use the [Provisioning CSP](mdm/provisioning-csp.md) for bulk enrollment, except for the Microsoft Entra join enrollment scenario.
|
||||
Bulk enrollment is an efficient way to set up an MDM server to manage a large number of devices without the need to reimage the devices. You can use the [Provisioning CSP](mdm/provisioning-csp.md) for bulk enrollment, except for the Microsoft Entra join enrollment scenario.
|
||||
|
||||
## Typical use cases
|
||||
|
||||
@ -68,7 +68,7 @@ Using the WCD, create a provisioning package using the enrollment information re
|
||||

|
||||
|
||||
1. Configure the other settings, such as the Wi-Fi connections so that the device can join a network before joining MDM (for example, **Runtime settings** > **ConnectivityProfiles** > **WLANSetting**).
|
||||
1. When you're done adding all the settings, on the **File** menu, select **Save**.
|
||||
1. After adding all the settings, select **Save** on the **File** menu.
|
||||
1. On the main menu, select **Export** > **Provisioning package**.
|
||||
|
||||

|
||||
@ -120,7 +120,7 @@ Using the WCD, create a provisioning package using the enrollment information re
|
||||
For detailed descriptions of these settings, see [Provisioning CSP](mdm/provisioning-csp.md).
|
||||
|
||||
1. Configure the other settings, such as the Wi-Fi connection so that the device can join a network before joining MDM (for example, **Runtime settings** > **ConnectivityProfiles** > **WLANSetting**).
|
||||
1. When you're done adding all the settings, on the **File** menu, select **Save**.
|
||||
1. After adding all the settings, select **Save** on the **File** menu.
|
||||
1. Export and build the package (steps 10-13 in previous section).
|
||||
1. Apply the package to some test devices and verify that they work. For more information, see [Apply a provisioning package](#apply-a-provisioning-package).
|
||||
1. Apply the package to your devices.
|
||||
@ -142,7 +142,7 @@ Using the WCD, create a provisioning package using the enrollment information re
|
||||
- If the provisioning engine receives a failure from a CSP, it retries provisioning three times in a row.
|
||||
- If all immediate attempts fail, a delayed task is launched to try provisioning again later. It will retry four times at a decaying rate of 15 minutes -> 1 hr -> 4 hr -> "Next System Start". These attempts are run from the SYSTEM context.
|
||||
- It also retries the provisioning each time it's launched, if started from somewhere else as well.
|
||||
- In addition, provisioning will be restarted in the SYSTEM context after a sign in and the [system has been idle](/windows/win32/taskschd/task-idle-conditions).
|
||||
- In addition, provisioning will be restarted in the SYSTEM context after a sign in and the [system is idle](/windows/win32/taskschd/task-idle-conditions).
|
||||
|
||||
## Related articles
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Certificate authentication device enrollment
|
||||
description: This section provides an example of the mobile device enrollment protocol using certificate authentication policy.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Certificate authentication device enrollment
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Certificate Renewal
|
||||
description: Learn how to find all the resources that you need to provide continuous access to client certificates.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Certificate Renewal
|
||||
@ -19,7 +19,7 @@ Windows supports automatic certificate renewal, also known as Renew On Behalf Of
|
||||
> [!NOTE]
|
||||
> Certificate renewal of the enrollment certificate through ROBO is only supported with Microsoft PKI.
|
||||
|
||||
Auto certificate renewal is the only supported MDM client certificate renewal method for the device that's enrolled using WAB authentication. Meaning, the AuthPolicy is set to Federated. It also means if the server supports WAB authentication, then the MDM certificate enrollment server MUST also support client TLS to renew the MDM client certificate.
|
||||
Auto certificate renewal is the only supported MDM client certificate renewal method for a device enrolled using WAB authentication. Meaning, the AuthPolicy is set to Federated. It also means if the server supports WAB authentication, then the MDM certificate enrollment server MUST also support client TLS to renew the MDM client certificate.
|
||||
|
||||
For Windows devices, during the MDM client certificate enrollment phase or during MDM management section, the enrollment server or MDM server could configure the device to support automatic MDM client certificate renewal using [CertificateStore CSP's](mdm/certificatestore-csp.md) ROBOSupport node under `CertificateStore/My/WSTEP/Renew` URL.
|
||||
|
||||
@ -89,7 +89,7 @@ In Windows, the renewal period can only be set during the MDM enrollment phase.
|
||||
|
||||
For more information about the parameters, see the [CertificateStore configuration service provider](mdm/certificatestore-csp.md).
|
||||
|
||||
Unlike manual certificate renewal, the device doesn't perform an automatic MDM client certificate renewal if the certificate is already expired. To make sure the device has enough time to automatically renew, we recommend you set a renewal period a couple months (40-60 days) before the certificate expires. And, set the renewal retry interval to every few days, like every 4-5 days instead of every seven days (weekly). This change increases the chance that the device will try to connect at different days of the week.
|
||||
Unlike manual certificate renewal, the device doesn't perform an automatic MDM client certificate renewal if the certificate is already expired. To make sure the device has enough time to automatically renew, we recommend you set a renewal period a couple months (40-60 days) before the certificate expires. And, set the renewal retry interval to every few days, like every 4-5 days instead of every seven days (weekly). This change increases the chance that the device tries to connect at different days of the week.
|
||||
|
||||
## Certificate renewal response
|
||||
|
||||
@ -99,7 +99,7 @@ When RequestType is set to Renew, the web service verifies the following (in add
|
||||
- The client's certificate is in the renewal period
|
||||
- The certificate is issued by the enrollment service
|
||||
- The requester is the same as the requester for initial enrollment
|
||||
- For standard client's request, the client hasn't been blocked
|
||||
- For standard client's request, the client isn't blocked
|
||||
|
||||
After validation is completed, the web service retrieves the PKCS#10 content from the PKCS#7 BinarySecurityToken. The rest is the same as initial enrollment, except that the Provisioning XML only needs to have the new certificate issued by the CA.
|
||||
|
||||
|
@ -1,19 +1,9 @@
|
||||
---
|
||||
title: Add, remove, or hide Windows features
|
||||
description: Learn how to add or remove Windows optional features using the Optional features page in the Settings app. Also see the group policy objects (GPO) and MDM policies that show or hide Windows Features in the Settings app. Use Windows PowerShell to show or hide specific features in Windows Features.
|
||||
author: aczechowski
|
||||
ms.author: aaroncz
|
||||
manager: aaroncz
|
||||
ms.date: 03/28/2024
|
||||
ms.date: 07/01/2024
|
||||
ms.topic: how-to
|
||||
ms.service: windows-client
|
||||
ms.subservice: itpro-apps
|
||||
ms.localizationpriority: medium
|
||||
ms.collection: tier2
|
||||
zone_pivot_groups: windows-versions-11-10
|
||||
appliesto:
|
||||
- ✅ <a href="https://learn.microsoft.com/windows/release-health/supported-versions-windows-client" target="_blank">Windows 11</a>
|
||||
- ✅ <a href="https://learn.microsoft.com/windows/release-health/supported-versions-windows-client" target="_blank">Windows 10</a>
|
||||
---
|
||||
|
||||
# Add, remove, or hide Windows features
|
||||
@ -29,7 +19,7 @@ Open the **Optional features** pane in the **Settings** app by selecting the fol
|
||||
> [!div class="nextstepaction"]
|
||||
> [Optional features](ms-settings:optionalfeatures)
|
||||
|
||||
or
|
||||
Or
|
||||
|
||||
1. Right-click on the **Start** menu and select **Run**.
|
||||
|
||||
@ -41,7 +31,7 @@ or
|
||||
|
||||
and then select **OK**.
|
||||
|
||||
or
|
||||
Or
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
|
@ -1,18 +1,28 @@
|
||||
---
|
||||
title: Windows Tools/Administrative Tools
|
||||
title: Windows Tools
|
||||
description: The folders for Windows Tools and Administrative Tools are folders in the Control Panel that contain tools for system administrators and advanced users.
|
||||
ms.localizationpriority: medium
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/01/2024
|
||||
ms.topic: conceptual
|
||||
zone_pivot_groups: windows-versions-11-10
|
||||
ms.collection:
|
||||
- highpri
|
||||
- tier2
|
||||
- essentials-manage
|
||||
---
|
||||
|
||||
# Windows Tools/Administrative Tools
|
||||
# Windows Tools
|
||||
|
||||
**Windows Tools** is a folder in the Windows 11 Control Panel. **Administrative Tools** is a folder in the Windows 10 Control Panel. These folders contain tools for system administrators and advanced users.
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
**Windows Tools** is a folder in the Windows 11 Control Panel. This folder contains tools for system administrators and advanced users.
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
**Administrative Tools** is a folder in the Windows 10 Control Panel. This folder contains tools for system administrators and advanced users.
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-11"
|
||||
|
||||
## Windows Tools folder
|
||||
|
||||
@ -24,6 +34,10 @@ The tools in the folder might vary depending on which edition of Windows you use
|
||||
|
||||
:::image type="content" source="images/win11-windows-tools.png" alt-text="Screenshot of the contents of the Windows Tools folder in Windows 11." lightbox="images/win11-windows-tools.png":::
|
||||
|
||||
::: zone-end
|
||||
|
||||
::: zone pivot="windows-10"
|
||||
|
||||
## Administrative Tools folder
|
||||
|
||||
The following graphic shows the **Administrative Tools** folder in Windows 10:
|
||||
@ -34,34 +48,7 @@ The tools in the folder might vary depending on which edition of Windows you use
|
||||
|
||||

|
||||
|
||||
## Tools
|
||||
|
||||
The tools are located in the folder `C:\Windows\System32\` or its subfolders.
|
||||
|
||||
These tools were included in previous versions of Windows. The associated documentation for each tool can help you use them. The following list provides links to documentation for each tool.
|
||||
|
||||
- [Component Services](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731901(v=ws.11))
|
||||
- [Computer Management](https://support.microsoft.com/topic/how-to-use-computer-management-in-windows-xp-d5872f93-4498-f4dd-3a34-36d6f569924f)
|
||||
- [Defragment and Optimize Drives](https://support.microsoft.com/windows/ways-to-improve-your-computer-s-performance-c6018c78-0edd-a71a-7040-02267d68ea90)
|
||||
- [Disk Cleanup](https://support.microsoft.com/windows/disk-cleanup-in-windows-8a96ff42-5751-39ad-23d6-434b4d5b9a68)
|
||||
- [Event Viewer](/previous-versions/windows/it-pro/windows-2000-server/cc938674(v=technet.10))
|
||||
- [iSCSI Initiator](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee338476(v=ws.10))
|
||||
- [Local Security Policy](/previous-versions/tn-archive/dd277395(v=technet.10))
|
||||
- [ODBC Data Sources](/sql/odbc/admin/odbc-data-source-administrator)
|
||||
- [Performance Monitor](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc749115(v=ws.11))
|
||||
- [Print Management](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731857(v=ws.11))
|
||||
- [Recovery Drive](https://support.microsoft.com/windows/create-a-recovery-drive-abb4691b-5324-6d4a-8766-73fab304c246)
|
||||
- [Registry Editor](/windows/win32/sysinfo/registry)
|
||||
- [Resource Monitor](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd883276(v=ws.10))
|
||||
- [Services](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772408(v=ws.11))
|
||||
- [System Configuration](/troubleshoot/windows-client/performance/system-configuration-utility-troubleshoot-configuration-errors)
|
||||
- [System Information](/previous-versions/windows/it-pro/windows-2000-server/cc957818(v=technet.10))
|
||||
- [Task Scheduler](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc766428(v=ws.11))
|
||||
- [Windows Firewall with Advanced Security](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc754274(v=ws.11))
|
||||
- [Windows Memory Diagnostic](/previous-versions/technet-magazine/cc745953(v=msdn.10))
|
||||
|
||||
> [!TIP]
|
||||
> If the linked content in this list doesn't provide the information you need to use that tool, send feedback with the **This page** link in the **Feedback** section at the bottom of this article.
|
||||
::: zone-end
|
||||
|
||||
## Related articles
|
||||
|
||||
|
@ -1,12 +1,11 @@
|
||||
---
|
||||
title: Windows default media removal policy
|
||||
description: In Windows 10 and later, the default removal policy for external storage media changed from Better performance to Quick removal.
|
||||
ms.date: 08/10/2023
|
||||
description: Manage default media removal policy in Windows.
|
||||
ms.date: 07/01/2024
|
||||
ms.topic: conceptual
|
||||
ms.localizationpriority: medium
|
||||
---
|
||||
|
||||
# Change in default removal policy for external storage media in Windows
|
||||
# Manage default media removal policy
|
||||
|
||||
Windows defines two main policies, **Quick removal** and **Better performance**, that control how the system interacts with external storage devices such as USB thumb drives or Thunderbolt-enabled external drives. Beginning in Windows 10 version 1809, the default policy is **Quick removal**. In earlier versions of Windows, the default policy was **Better performance**.
|
||||
|
||||
@ -16,7 +15,7 @@ You can change the policy setting for each external device, and the policy that
|
||||
|
||||
You can use the storage device policy setting to change the manner in which Windows manages storage devices to better meet your needs. The policy settings have the following effects:
|
||||
|
||||
- **Quick removal**: This policy manages storage operations in a manner that keeps the device ready to remove at any time. You can remove the device without using the Safely Remove Hardware process. However, to do this, Windows can't cache disk write operations. This may degrade system performance.
|
||||
- **Quick removal**: This policy manages storage operations in a manner that keeps the device ready to remove at any time. You can remove the device without using the Safely Remove Hardware process. However, to do this, Windows can't cache disk write operations. This can degrade system performance.
|
||||
- **Better performance**: This policy manages storage operations in a manner that improves system performance. When this policy is in effect, Windows can cache write operations to the external device. However, you must use the Safely Remove Hardware process to remove the external drive. The Safely Remove Hardware process protects the integrity of data on the device by making sure that all cached operations finish.
|
||||
|
||||
> [!IMPORTANT]
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Connect to remote Microsoft Entra joined device
|
||||
description: Learn how to use Remote Desktop Connection to connect to a Microsoft Entra joined device.
|
||||
ms.localizationpriority: medium
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/01/2024
|
||||
ms.topic: conceptual
|
||||
ms.collection:
|
||||
- highpri
|
||||
@ -14,18 +14,16 @@ ms.collection:
|
||||
Windows supports remote connections to devices joined to Active Directory s well as devices joined to Microsoft Entra ID using Remote Desktop Protocol (RDP).
|
||||
|
||||
- Starting in Windows 10, version 1809, you can [use biometrics to authenticate to a remote desktop session](/windows/whats-new/whats-new-windows-10-version-1809#remote-desktop-with-biometrics).
|
||||
- Starting in Windows 10/11, with 2022-10 update installed, you can [use Microsoft Entra authentication to connect to the remote Microsoft Entra device](#connect-with-azure-ad-authentication).
|
||||
- Starting in Windows 10/11, with 2022-10 update installed, you can [use Microsoft Entra authentication to connect to the remote Microsoft Entra device](#connect-with-microsoft-entra-authentication).
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Both devices (local and remote) must be running a supported version of Windows.
|
||||
- Remote device must have the **Connect to and use this PC from another device using the Remote Desktop app** option selected under **Settings** > **System** > **Remote Desktop**.
|
||||
- It's recommended to select **Require devices to use Network Level Authentication to connect** option.
|
||||
- Select **Require devices to use Network Level Authentication to connect** option is recommended.
|
||||
- If the user who joined the device to Microsoft Entra ID is the only one who is going to connect remotely, no other configuration is needed. To allow more users or groups to connect to the device remotely, you must [add users to the Remote Desktop Users group](#add-users-to-remote-desktop-users-group) on the remote device.
|
||||
- Ensure [Remote Credential Guard](/windows/access-protection/remote-credential-guard) is turned off on the device you're using to connect to the remote device.
|
||||
|
||||
<a name='connect-with-azure-ad-authentication'></a>
|
||||
|
||||
## Connect with Microsoft Entra authentication
|
||||
|
||||
Microsoft Entra authentication can be used on the following operating systems for both the local and remote device:
|
||||
@ -64,8 +62,6 @@ The Windows lock screen in the remote session doesn't support Microsoft Entra au
|
||||
|
||||
Disconnecting the session also ensures that when the connection is relaunched after a period of inactivity, Microsoft Entra ID reevaluates the applicable conditional access policies.
|
||||
|
||||
<a name='connect-without-azure-ad-authentication'></a>
|
||||
|
||||
## Connect without Microsoft Entra authentication
|
||||
|
||||
By default, RDP doesn't use Microsoft Entra authentication, even if the remote PC supports it. This method allows you to connect to the remote Microsoft Entra joined device from:
|
||||
|
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 103 KiB |
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Manage Device Installation with Group Policy
|
||||
description: Find out how to manage Device Installation Restrictions with Group Policy.
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/01/2024
|
||||
ms.topic: conceptual
|
||||
---
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Manage the Settings app with Group Policy
|
||||
description: Find out how to manage the Settings app with Group Policy so you can hide specific pages from users.
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/01/2024
|
||||
ms.topic: conceptual
|
||||
---
|
||||
|
||||
|
@ -1,16 +1,13 @@
|
||||
---
|
||||
title: Create mandatory user profiles
|
||||
description: A mandatory user profile is a special type of pre-configured roaming user profile that administrators can use to specify settings for users.
|
||||
ms.date: 08/10/2023
|
||||
description: A mandatory user profile is a special type of preconfigured roaming user profile that administrators can use to specify settings for users.
|
||||
ms.date: 07/01/2024
|
||||
ms.topic: conceptual
|
||||
ms.collection:
|
||||
- highpri
|
||||
- tier2
|
||||
---
|
||||
|
||||
# Create mandatory user profiles
|
||||
|
||||
A mandatory user profile is a roaming user profile that has been pre-configured by an administrator to specify settings for users. Settings commonly defined in a mandatory profile include (but aren't limited to) icons that appear on the desktop, desktop backgrounds, user preferences in Control Panel, printer selections, and more. Configuration changes made during a user's session that are normally saved to a roaming user profile aren't saved when a mandatory user profile is assigned.
|
||||
A mandatory user profile is a roaming user profile that has been preconfigured by an administrator to specify settings for users. Settings commonly defined in a mandatory profile include (but aren't limited to) icons that appear on the desktop, desktop backgrounds, user preferences in Control Panel, printer selections, and more. Configuration changes made during a user's session that are normally saved to a roaming user profile aren't saved when a mandatory user profile is assigned.
|
||||
|
||||
Mandatory user profiles are useful when standardization is important, such as on a kiosk device or in educational settings. Only system administrators can make changes to mandatory user profiles.
|
||||
|
||||
@ -118,12 +115,12 @@ In a domain, you modify properties for the user account to point to the mandator
|
||||
### How to apply a mandatory user profile to users
|
||||
|
||||
1. Open **Active Directory Users and Computers** (dsa.msc).
|
||||
1. Navigate to the user account that you'll assign the mandatory profile to.
|
||||
1. Navigate to the user account that you want to assign the mandatory profile to.
|
||||
1. Right-click the user name and open **Properties**.
|
||||
1. On the **Profile** tab, in the **Profile path** field, enter the path to the shared folder without the extension. For example, if the folder name is `\\server\share\profile.v6`, you would enter `\\server\share\profile`.
|
||||
1. Select **OK**.
|
||||
|
||||
It may take some time for this change to replicate to all domain controllers.
|
||||
It can take some time for this change to replicate to all domain controllers.
|
||||
|
||||
## Apply policies to improve sign-in time
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
---
|
||||
title: Use Quick Assist to help users
|
||||
description: Learn how IT Pros can use Quick Assist to help users.
|
||||
ms.date: 05/09/2024
|
||||
ms.date: 07/01/2024
|
||||
ms.topic: conceptual
|
||||
ms.localizationpriority: medium
|
||||
ms.collection:
|
||||
- highpri
|
||||
- tier1
|
||||
@ -107,6 +106,7 @@ For more information, visit [Install Quick Assist](https://support.microsoft.com
|
||||
|
||||
To deploy Quick Assist with Intune, see [Add Microsoft Store apps to Microsoft Intune](/mem/intune/apps/store-apps-microsoft).
|
||||
|
||||
<!-- commenting out since Store for Business and Microsoft Store for Education retired May 31, 20203
|
||||
### Install Quick Assist Offline
|
||||
|
||||
To install Quick Assist offline, you need to download your APPXBUNDLE and unencoded XML file from [Microsoft Store for Business](https://businessstore.microsoft.com). Visit [Download an offline-licensed app](/microsoft-store/distribute-offline-apps#download-an-offline-licensed-app) for more information.
|
||||
@ -114,7 +114,7 @@ To install Quick Assist offline, you need to download your APPXBUNDLE and unenco
|
||||
1. Start **Windows PowerShell** with Administrative privileges
|
||||
1. In PowerShell, change the directory to the location where you saved the file in step 1: `cd <location of package file>`
|
||||
1. To install Quick Assist, run the following command: `Add-AppxProvisionedPackage -Online -PackagePath "MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe.AppxBundle" -LicensePath "MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe_4bc27046-84c5-8679-dcc7-d44c77a47dd0.xml"`
|
||||
1. After Quick Assist is installed, run this command to confirm that Quick Assist is installed for the user: `Get-AppxPackage *QuickAssist* -AllUsers`
|
||||
1. After Quick Assist is installed, run this command to confirm that Quick Assist is installed for the user: `Get-AppxPackage *QuickAssist* -AllUsers` -->
|
||||
|
||||
### Microsoft Edge WebView2
|
||||
|
||||
@ -134,12 +134,15 @@ Quick Assist for macOS is available for interactions with Microsoft Support. If
|
||||
|
||||
## Disable Quick Assist within your organization
|
||||
|
||||
If your organization utilizes another remote support tool such as [Remote Help](https://www.microsoft.com/security/business/endpoint-management/microsoft-intune-remote-help), disable or remove Quick Assist as a best practice, if it isn't used within your environment. This prevents external users from using Quick Assist to gain access to devices within your organization.
|
||||
If your organization utilizes another remote support tool such as [Remote Help](https://www.microsoft.com/security/business/endpoint-management/microsoft-intune-remote-help), disable or remove Quick Assist as a best practice, if it isn't used within your environment. This prevents guests from using Quick Assist to gain access to devices within your organization.
|
||||
|
||||
### Disable Quick Assist
|
||||
|
||||
To disable Quick Assist, block traffic to the `https://remoteassistance.support.services.microsoft.com` endpoint. This is the primary endpoint used by Quick Assist to establish a session, and once blocked, Quick Assist can't be used to get help or help someone.
|
||||
|
||||
> [!NOTE]
|
||||
> Blocking the endpoint will disrupt the functionality of Remote Help, as it relies on this endpoint for operation.
|
||||
|
||||
### Uninstall Quick Assist
|
||||
|
||||
#### Uninstall via PowerShell
|
||||
|
@ -15,7 +15,7 @@ items:
|
||||
href: manage-settings-app-with-group-policy.md
|
||||
- name: Manage default media removal policy
|
||||
href: change-default-removal-policy-external-storage-media.md
|
||||
- name: What version of Windows am I running
|
||||
href: windows-version-search.md
|
||||
- name: Windows libraries
|
||||
href: windows-libraries.md
|
||||
- name: What version of Windows am I running
|
||||
href: windows-version-search.md
|
@ -2,13 +2,15 @@
|
||||
title: Windows Libraries
|
||||
description: All about Windows Libraries, which are containers for users' content, such as Documents and Pictures.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/01/2024
|
||||
---
|
||||
|
||||
# Windows libraries
|
||||
|
||||
Libraries are virtual containers for users' content. A library can contain files and folders stored on the local computer or in a remote storage location. In Windows Explorer, users interact with libraries in ways similar to how they would interact with other folders. Libraries are built upon the legacy known folders (such as My Documents, My Pictures, and My Music) that users are familiar with, and these known folders are automatically included in the default libraries and set as the default save location.
|
||||
|
||||
To show libraries in File Explorer, go to **Options**, select the **View** tab, and then select **Show libraries**.
|
||||
|
||||
## Features for Users
|
||||
|
||||
Windows libraries provide full content search and rich metadata. Libraries offer the following advantages to users:
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: What version of Windows am I running?
|
||||
description: Discover which version of Windows you're running to determine whether or not your device is enrolled in the Long-Term Servicing Channel or General Availability Channel.
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/01/2024
|
||||
ms.topic: conceptual
|
||||
---
|
||||
|
||||
@ -17,8 +17,6 @@ To determine if your device is enrolled in the Long-Term Servicing Channel or th
|
||||
|
||||
Select **Start** > **Settings** > **System**, then select **About**. You then see **Edition**, **Version**, and **OS Build** information.
|
||||
|
||||
:::image type="content" source="images/systemcollage.png" alt-text="screenshot of the system properties window for a device running Windows 10.":::
|
||||
|
||||
## Using Keyword Search
|
||||
|
||||
You can type the following in the search bar and press **ENTER** to see version details for your device.
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Secured-core configuration lock
|
||||
description: A secured-core PC (SCPC) feature that prevents configuration drift from secured-core PC features caused by unintentional misconfiguration.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
appliesto:
|
||||
- ✅ <a href="https://learn.microsoft.com/windows/release-health/supported-versions-windows-client" target="_blank">Windows 11</a>
|
||||
---
|
||||
@ -63,7 +63,7 @@ The steps to turn on config lock using Microsoft Intune are as follows:
|
||||
|
||||
Config lock is designed to ensure that a secured-core PC isn't unintentionally misconfigured. You keep the ability to enable or disable SCPC features, for example, firmware protection. You can make these changes with group policies or MDM services like Microsoft Intune.
|
||||
|
||||
:::image type="content" source="images/configlock-mem-firmwareprotect.png" alt-text="The Defender Firmware protection setting, with a description of Windows Defender System Guard protects your device from compromised firmware. The setting is set to Off.":::
|
||||
:::image type="content" source="images/configlock-mem-firmwareprotect.png" alt-text="The Defender Firmware protection setting, with a description of System Guard protects your device from compromised firmware. The setting is set to Off.":::
|
||||
|
||||
## FAQ
|
||||
|
||||
|
197
windows/client-management/declared-configuration-discovery.md
Normal file
@ -0,0 +1,197 @@
|
||||
---
|
||||
title: Windows declared configuration discovery
|
||||
description: Learn more about configuring discovery for Windows declared configuration enrollment.
|
||||
ms.date: 09/12/2024
|
||||
ms.topic: how-to
|
||||
---
|
||||
|
||||
# Declared configuration discovery
|
||||
|
||||
Windows Declared configuration (WinDC) discovery uses a dedicated JSON schema to query enrollment details from the [discovery service endpoint (DS)](/openspecs/windows_protocols/ms-mde2/60deaa44-52df-4a47-a844-f5b42037f7d3#gt_8d76dac8-122a-452b-8c97-b25af916f19b). This process involves sending HTTP requests with specific headers and a JSON body containing details such as user domain, tenant ID, and OS version. The DS responds with the necessary enrollment service URLs and authentication policies based on the enrollment type (Microsoft Entra joined or registered devices).
|
||||
|
||||
This article outlines the schema structure for the HTTP request and response bodies, and provides examples to guide the implementation.
|
||||
|
||||
## Schema structure
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
| Header | Required | Description |
|
||||
|----------------------------------|----------|-----------------------------------|
|
||||
| `MS-CV: %s` | No | Correlation vector for enrollment |
|
||||
| `client-request-id: %s` | No | Request ID |
|
||||
| `Content-Type: application/json` | Yes | HTTP Content-Type |
|
||||
|
||||
### HTTP request body (JSON)
|
||||
|
||||
| Field | Required | Description |
|
||||
|--|--|--|
|
||||
| `userDomain` | No | Domain name of the enrolled account |
|
||||
| `upn` | No | User Principal Name (UPN) of the enrolled account |
|
||||
| `tenantId` | No | Tenant ID of the enrolled account |
|
||||
| `emmDeviceId` | No | Enterprise mobility management (EMM) device ID of the enrolled account |
|
||||
| `enrollmentType` | Entra joined: No <br>Entra registered: Yes | Enrollment type of the enrolled account. <br><br>Supported Values: <br>- `Device`: Indicates the parent enrollment type is Entra joined (DS response should specify "AuthPolicy": "Federated"). <br>- `User`: Indicates parent enrollment type is Entra registered (DS response should specify "AuthPolicy": "Certificate"). <br>- Legacy case (Entra joined only): If the `enrollmentType` parameter isn't included in the request body, the device should be treated as Entra joined. |
|
||||
| `osVersion` | Yes | OS version on the device. The DS can use the `osVersion` to determine if the client platform supports WinDC enrollment. Review [supported platforms](declared-configuration.md#supported-platforms) for details. |
|
||||
|
||||
### HTTP DS response body (JSON)
|
||||
|
||||
| Field | Required | Description |
|
||||
|------------------------------|----------|--------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `EnrollmentServiceUrl` | Yes | URL of the WinDC enrollment service |
|
||||
| `EnrollmentVersion` | No | Enrollment version |
|
||||
| `EnrollmentPolicyServiceUrl` | Yes | Enrollment Policy Service URL |
|
||||
| `AuthenticationServiceUrl` | Yes | Authentication Service URL |
|
||||
| `ManagementResource` | No | Management Resource |
|
||||
| `TouUrl` | No | Terms of use URL |
|
||||
| `AuthPolicy` | Yes | Authentication policy. Supported values: <br>- `Federated` (required for Entra joined) <br>- `Certificate` (required for Entra registered) |
|
||||
| `errorCode` | No | Error code |
|
||||
| `message` | No | Status message |
|
||||
|
||||
## Examples
|
||||
|
||||
### Discovery request
|
||||
|
||||
**Headers**
|
||||
|
||||
`Content-Type: application/json`
|
||||
|
||||
**Body**
|
||||
|
||||
1. Single template approach: Client sends the **UPN** value in the initial request, along with the **tenantId** parameter.
|
||||
|
||||
1. Microsoft Entra joined:
|
||||
|
||||
```json
|
||||
{
|
||||
"userDomain" : "contoso.com",
|
||||
"upn" : "johndoe@contoso.com",
|
||||
"tenantId" : "00000000-0000-0000-0000-000000000000",
|
||||
"emmDeviceId" : "00000000-0000-0000-0000-000000000000",
|
||||
"enrollmentType" : "Device",
|
||||
"osVersion" : "10.0.00000.0"
|
||||
}
|
||||
```
|
||||
|
||||
1. Microsoft Entra registered:
|
||||
|
||||
```json
|
||||
{
|
||||
|
||||
"userDomain" : "contoso.com",
|
||||
"upn" : "johndoe@contoso.com",
|
||||
"tenantId" : "00000000-0000-0000-0000-000000000000",
|
||||
"emmDeviceId" : "00000000-0000-0000-0000-000000000000",
|
||||
"enrollmentType" : "Device",
|
||||
"osVersion" : "10.0.00000.0"
|
||||
}
|
||||
```
|
||||
|
||||
1. No UPN (legacy)
|
||||
|
||||
1. Microsoft Entra joined:
|
||||
|
||||
```json
|
||||
{
|
||||
"userDomain" : "contoso.com",
|
||||
"emmDeviceId" : "00000000-0000-0000-0000-000000000000",
|
||||
"enrollmentType" : "Device",
|
||||
"osVersion" : "10.0.00000.0"
|
||||
}
|
||||
```
|
||||
|
||||
1. Microsoft Entra registered:
|
||||
|
||||
```json
|
||||
{
|
||||
"userDomain" : "contoso.com",
|
||||
"emmDeviceId" : "00000000-0000-0000-0000-000000000000",
|
||||
"enrollmentType" : "User",
|
||||
"osVersion" : "10.0.00000.0"
|
||||
}
|
||||
```
|
||||
|
||||
1. UPN requested by the server (legacy format). Review [error handling](#error-handling) for details on how the server can request UPN data if it isn't provided in the initial request.
|
||||
|
||||
1. Microsoft Entra joined:
|
||||
|
||||
```json
|
||||
{
|
||||
"upn" : "johndoe@contoso.com",
|
||||
"emmDeviceId" : "00000000-0000-0000-0000-000000000000",
|
||||
"enrollmentType" : "Device",
|
||||
"osVersion" : "10.0.00000.0"
|
||||
}
|
||||
```
|
||||
|
||||
1. Microsoft Entra registered:
|
||||
|
||||
```json
|
||||
{
|
||||
"upn" : "johndoe@contoso.com",
|
||||
"emmDeviceId" : "00000000-0000-0000-0000-000000000000",
|
||||
"enrollmentType" : "User",
|
||||
"osVersion" : "10.0.00000.0"
|
||||
}
|
||||
```
|
||||
|
||||
### Discovery response
|
||||
|
||||
**Headers**
|
||||
|
||||
`Content-Type: application/json`
|
||||
|
||||
**Body**
|
||||
|
||||
1. Microsoft Entra joined (requires `"AuthPolicy": "Federated"`):
|
||||
|
||||
```json
|
||||
{
|
||||
"EnrollmentServiceUrl" : "https://manage.contoso.com/Enrollment/Discovery",
|
||||
"EnrollmentPolicyServiceUrl" : "https://manage.contoso.com/Enrollment/GetPolicies",
|
||||
"AuthenticationServiceUrl" : "https://manage.contoso.com/Enrollment/AuthService",
|
||||
"AuthPolicy" : "Federated",
|
||||
"ManagementResource":"https://manage.contoso.com",
|
||||
"TouUrl" : "https://manage.contoso.com/Enrollment/tou.aspx"
|
||||
}
|
||||
```
|
||||
|
||||
1. Microsoft Entra registered (requires `"AuthPolicy": "Certificate"`):
|
||||
|
||||
```json
|
||||
{
|
||||
"EnrollmentServiceUrl" : "https://manage.contoso.com/Enrollment/Discovery",
|
||||
"EnrollmentPolicyServiceUrl" : "https://manage.contoso.com/Enrollment/GetPolicies",
|
||||
"AuthenticationServiceUrl" : "https://manage.contoso.com/Enrollment/AuthService",
|
||||
"AuthPolicy" : "Certificate",
|
||||
"ManagementResource":"https://manage.contoso.com",
|
||||
"TouUrl" : "https://manage.contoso.com/Enrollment/tou.aspx"
|
||||
}
|
||||
```
|
||||
|
||||
### Authentication
|
||||
|
||||
WinDC enrollment requires different authentication mechanisms for Microsoft Entra joined and registered devices. The WinDC DS must integrate with the authentication model by specifying the appropriate `AuthPolicy` value in the discovery response, based on the `enrollmentType` property of the request.
|
||||
|
||||
- **Microsoft Entra joined devices** use **Federated** authentication (Entra device token).
|
||||
- **Microsoft Entra registered devices** use **Certificate** authentication (MDM certificate provisioned for the parent enrollment).
|
||||
|
||||
#### Rules
|
||||
|
||||
- **For Microsoft Entra joined devices**:
|
||||
- **Discovery request**: `"enrollmentType": "Device"`
|
||||
- **Discovery response**: `"AuthPolicy": "Federated"`
|
||||
- **Authentication**: The client uses the Entra device token to authenticate with the WinDC enrollment server.
|
||||
|
||||
- **For legacy cases (where `enrollmentType` value is empty)**:
|
||||
- **Discovery request**: `"enrollmentType": ""`
|
||||
- **Discovery response**: `"AuthPolicy": "Federated"`
|
||||
- **Authentication**: The client uses the Entra device token to authenticate with the WinDC enrollment server.
|
||||
|
||||
- **For Microsoft Entra registered devices**:
|
||||
- **Discovery request**: `"enrollmentType": "User"`
|
||||
- **Discovery response**: `"AuthPolicy": "Certificate"`
|
||||
- **Authentication**: The client uses the MDM certificate from the parent enrollment to authenticate with the WinDC enrollment server.
|
||||
|
||||
## Error handling
|
||||
|
||||
- **UPNRequired**: If no UPN value is provided in the discovery request, the DS can set the `errorCode` to **UPNRequired** in the response to trigger the client to retry the request with a UPN value, if available.
|
||||
- **WINHTTP_QUERY_RETRY_AFTER**: The server can set this flag to configure the client request to retry after a specified delay. This flag is useful for handling timeout or throttling scenarios.
|
@ -0,0 +1,51 @@
|
||||
---
|
||||
title: Windows declared configuration enrollment
|
||||
description: Learn more about configuring enrollment for Windows declared configuration protocol.
|
||||
ms.date: 09/12/2024
|
||||
ms.topic: how-to
|
||||
---
|
||||
|
||||
# Declared configuration enrollment
|
||||
|
||||
Windows declared configuration (WinDC) enrollment uses new [DMClient CSP](mdm/dmclient-csp.md) policies to facilitate dual enrollment for Windows devices. This process involves setting specific configuration service provider (CSP) policies and executing SyncML commands to manage the enrollment state.
|
||||
|
||||
The key CSP policies used for WinDC enrollment include:
|
||||
|
||||
- [LinkedEnrollment/Enroll](mdm/dmclient-csp.md#deviceproviderprovideridlinkedenrollmentenroll)
|
||||
- [LinkedEnrollment/Unenroll](mdm/dmclient-csp.md#deviceproviderprovideridlinkedenrollmentunenroll)
|
||||
- [LinkedEnrollment/EnrollStatus](mdm/dmclient-csp.md#deviceproviderprovideridlinkedenrollmentenrollstatus)
|
||||
- [LinkedEnrollment/LastError](mdm/dmclient-csp.md#deviceproviderprovideridlinkedenrollmentlasterror)
|
||||
- [LinkedEnrollment/DiscoveryEndpoint](mdm/dmclient-csp.md#deviceproviderprovideridlinkedenrollmentdiscoveryendpoint)
|
||||
|
||||
The following SyncML example sets **LinkedEnrolment/DiscoveryEndpoint** and triggers **LinkedEnrollment/Enroll**:
|
||||
|
||||
```xml
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Replace>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DMClient/Provider/MS%20DM%20SERVER/LinkedEnrollment/DiscoveryEndpoint</LocURI>
|
||||
</Target>
|
||||
<Data>https://discovery.dm.microsoft.com/EnrollmentConfiguration?api-version=1.0</Data>
|
||||
</Item>
|
||||
</Replace>
|
||||
<Final/>
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Exec>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DMClient/Provider/MS%20DM%20SERVER/LinkedEnrollment/Enroll</LocURI>
|
||||
</Target>
|
||||
</Item>
|
||||
</Exec>
|
||||
<Final/>
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
@ -1,13 +1,13 @@
|
||||
---
|
||||
title: Declared configuration extensibility
|
||||
description: Learn more about declared configuration extensibility through native WMI providers.
|
||||
ms.date: 09/26/2023
|
||||
title: Windows declared configuration extensibility
|
||||
description: Learn more about Windows declared configuration extensibility through native WMI providers.
|
||||
ms.date: 09/12/2024
|
||||
ms.topic: how-to
|
||||
---
|
||||
|
||||
# Declared configuration extensibility providers
|
||||
# Declared configuration extensibility
|
||||
|
||||
The declared configuration enrollment, which supports the declared configuration client stack, offers extensibility through native WMI providers. This feature instantiates and interfaces with a Windows Management Instrumentation (WMI) provider that has implemented a management infrastructure (MI) interface. The interface must implement GetTargetResource, TestTargetResource, and SetTargetResource methods, and may implement any number of string properties.
|
||||
The Windows declared configuration (WinDC) enrollment offers extensibility through native WMI providers. This feature instantiates and interfaces with a Windows Management Instrumentation (WMI) provider that implements a management infrastructure (MI) interface. The interface must implement GetTargetResource, TestTargetResource, and SetTargetResource methods, and can implement any number of string properties.
|
||||
|
||||
> [!NOTE]
|
||||
> Only string properties are currently supported by extensibility providers.
|
||||
@ -51,14 +51,14 @@ uint32 SetTargetResource(
|
||||
|
||||
To create a native WMI provider, follow the steps outlined in [How to implement an MI provider](/previous-versions/windows/desktop/wmi_v2/how-to-implement-an-mi-provider). These steps include how to generate the source code for an MI interface using the `Convert-MofToProvider.exe` tool to generate the DLL and prepare it for placement.
|
||||
|
||||
1. Create a MOF file that defines the schema for the desired state configuration resource including parameters and methods. This file includes the required parameters for the resource.
|
||||
1. Create a Managed Object Format (MOF) file that defines the schema for the desired state configuration resource including parameters and methods. This file includes the required parameters for the resource.
|
||||
2. Copy the schema MOF file along with any required files into the provider tools directory, for example: ProviderGenerationTool.
|
||||
3. Edit the required files and include the correct file names and class names.
|
||||
4. Invoke the provider generator tool to generate the provider's project files.
|
||||
5. Copy the generated files into the provider's project folder.
|
||||
6. Start the development process.
|
||||
|
||||
## Example
|
||||
## Example MI provider
|
||||
|
||||
This example provides more details about each step to demonstrate how to implement a sample native resource named `MSFT_FileDirectoryConfiguration`.
|
||||
|
||||
@ -235,15 +235,180 @@ The `MSFT_FileDirectoryConfiguration_Invoke_GetTargetResource` function does the
|
||||
|
||||
1. Clean up resources, for example, free allocated memory.
|
||||
|
||||
## WinDC document
|
||||
|
||||
> [!IMPORTANT]
|
||||
> The target of the scenario settings can only be device wide for extensibility. The CSP **scope** defined in `<LocURI>` and WinDC **context** must be `Device`.
|
||||
|
||||
The value of the `Document` leaf node in the [DeclaredConfiguration CSP](mdm/declaredconfiguration-csp.md) is an XML document that describes the request. Here's a sample WinDC document with the configuration data specified for extensibility.
|
||||
|
||||
```xml
|
||||
<DeclaredConfiguration schema="1.0" context="Device" id="27FEA311-68B9-4320-9FC4-296F6FDFAFE2" checksum="99925209110918B67FE962460137AA3440AFF4DB6ABBE15C8F499682457B9999" osdefinedscenario="MSFTExtensibilityMIProviderConfig">
|
||||
<DSC namespace="root/Microsoft/Windows/DesiredStateConfiguration" className="MSFT_FileDirectoryConfiguration">
|
||||
<Key name="DestinationPath">c:\data\test\bin\ut_extensibility.tmp</Key>
|
||||
<Value name="Contents">TestFileContent1</Value>
|
||||
</DSC>
|
||||
</DeclaredConfiguration>
|
||||
```
|
||||
|
||||
Only supported values for `osdefinedscenario` can be used. Unsupported values result in an error message similar to `Invalid scenario name`.
|
||||
|
||||
| osdefinedscenario | Description |
|
||||
|--------------------------------------|----------------------------------------------|
|
||||
| MSFTExtensibilityMIProviderConfig | Used to configure MI provider settings. |
|
||||
| MSFTExtensibilityMIProviderInventory | Used to retrieve MI provider setting values. |
|
||||
|
||||
Both `MSFTExtensibilityMIProviderConfig` and `MSFTExtensibilityMIProviderInventory` scenarios that require the same tags and attributes.
|
||||
|
||||
- The `<DSC>` XML tag describes the targeted WMI provider expressed by a namespace and class name along with the values either to be applied to the device or queried by the MI provider.
|
||||
|
||||
This tag has the following attributes:
|
||||
|
||||
| Attribute | Description |
|
||||
|--|--|
|
||||
| `namespace` | Specifies the targeted MI provider namespace. |
|
||||
| `classname` | The targeted MI provider. |
|
||||
|
||||
- The `<Key>` XML tag describes the required parameter name and value. It only needs a value for configuration. The name is an attribute and the value is `<Key>` content.
|
||||
|
||||
This tag has the following attributes:
|
||||
|
||||
| Attribute | Description |
|
||||
|--|--|
|
||||
| `name` | Specifies the name of an MI provider parameter. |
|
||||
|
||||
- The `<Value>` XML tag describes the optional parameter name and value. It only needs a value for configuration. The name is an attribute and the value is `<Value>` content.
|
||||
|
||||
This tag has the following attributes:
|
||||
|
||||
| Attribute | Description |
|
||||
|--|--|
|
||||
| `name` | Specifies the name of an MI provider parameter. |
|
||||
|
||||
## SyncML examples
|
||||
|
||||
The standard OMA-DM SyncML syntax is used to specify the DeclaredConfiguration CSP operations such as **Replace**, **Add**, and **Delete**. The payload of the SyncML's `<Data>` element must be XML-encoded. For this XML encoding, there are various online encoders that you can use. To avoid encoding the payload, you can use [CDATA Section](https://www.w3.org/TR/REC-xml/#sec-cdata-sect) as shown in the following SyncML examples.
|
||||
|
||||
### Configuration request
|
||||
|
||||
This example demonstrates how to send a configuration request using the `MSFT_FileDirectoryConfiguration` MI provider with the `MSFTExtensibilityMIProviderConfig` scenario.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Replace>
|
||||
<CmdID>14</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/27FEA311-68B9-4320-9FC4-296F6FDFAFE2/Document</LocURI>
|
||||
</Target>
|
||||
<Data><![CDATA[
|
||||
<DeclaredConfiguration schema="1.0" context="Device" id="27FEA311-68B9-4320-9FC4-296F6FDFAFE2" checksum="99925209110918B67FE962460137AA3440AFF4DB6ABBE15C8F499682457B9999" osdefinedscenario="MSFTExtensibilityMIProviderConfig">
|
||||
<DSC namespace="root/Microsoft/Windows/DesiredStateConfiguration" className="MSFT_FileDirectoryConfiguration">
|
||||
<Key name="DestinationPath">c:\data\test\bin\ut_extensibility.tmp</Key>
|
||||
<Value name="Contents">TestFileContent1</Value>
|
||||
</DSC>
|
||||
</DeclaredConfiguration>
|
||||
]]></Data>
|
||||
</Item>
|
||||
</Replace>
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
### Inventory request
|
||||
|
||||
This example demonstrates how to send an inventory request using the MSFT_FileDirectoryConfiguration MI provider with the MSFTExtensibilityMIProviderInventory scenario.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Replace>
|
||||
<CmdID>15</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Documents/12345678-1234-1234-1234-123456789012/Document</LocURI>
|
||||
</Target>
|
||||
<Data><![CDATA[
|
||||
<DeclaredConfiguration schema="1.0" context="Device" id="12345678-1234-1234-1234-123456789012" checksum="1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF" osdefinedscenario="MSFTExtensibilityMIProviderInventory">
|
||||
<DSC namespace="root/Microsoft/Windows/DesiredStateConfiguration" className="MSFT_FileDirectoryConfiguration">
|
||||
<Key name="DestinationPath">c:\data\test\bin\ut_extensibility.tmp</Key>
|
||||
</DSC>
|
||||
</DeclaredConfiguration>
|
||||
]]></Data>
|
||||
</Item>
|
||||
</Replace>
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
### Retrieve results
|
||||
|
||||
This example retrieves the results of a configuration or inventory request:
|
||||
|
||||
**Request**:
|
||||
|
||||
```xml
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Get>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Meta>
|
||||
<Format>chr</Format>
|
||||
<Type>text/plain</Type>
|
||||
</Meta>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Results/27FEA311-68B9-4320-9FC4-296F6FDFAFE2/Document</LocURI>
|
||||
</Target>
|
||||
</Item>
|
||||
</Get>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
**Response**:
|
||||
|
||||
```xml
|
||||
<Status>
|
||||
<CmdID>2</CmdID>
|
||||
<MsgRef>1</MsgRef>
|
||||
<CmdRef>2</CmdRef>
|
||||
<Cmd>Get</Cmd>
|
||||
<Data>200</Data>
|
||||
</Status>
|
||||
<Results>
|
||||
<CmdID>3</CmdID>
|
||||
<MsgRef>1</MsgRef>
|
||||
<CmdRef>2</CmdRef>
|
||||
<Item>
|
||||
<Source>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Results/27FEA311-68B9-4320-9FC4-296F6FDFAFE2/Document</LocURI>
|
||||
</Source>
|
||||
<Data>
|
||||
<DeclaredConfigurationResult context="Device" schema="1.0" id="99988660-9080-3433-96e8-f32e85011999" osdefinedscenario="MSFTPolicies" checksum="99925209110918B67FE962460137AA3440AFF4DB6ABBE15C8F499682457B9999" result_checksum="EE4F1636201B0D39F71654427E420E625B9459EED17ACCEEE1AC9B358F4283FD" operation="Set" state="60">
|
||||
<DSC namespace="root/Microsoft/Windows/DesiredStateConfiguration" className="MSFT_FileDirectoryConfiguration" status="200" state="60">
|
||||
<Key name="DestinationPath" />
|
||||
<Value name="Contents" />
|
||||
</DSC>
|
||||
</DeclaredConfigurationResult>
|
||||
</Data>
|
||||
</Item>
|
||||
</Results>
|
||||
```
|
||||
|
||||
## MI implementation references
|
||||
|
||||
- [Introducing the management infrastructure (MI) API](/archive/blogs/wmi/introducing-new-management-infrastructure-mi-api)
|
||||
- [Implementing MI provider (1) - Overview](/archive/blogs/wmi/implementing-mi-provider-1-overview)
|
||||
- [Implementing MI provider (2) - Define schema](/archive/blogs/wmi/implementing-mi-provider-2-define-schema)
|
||||
- [Implementing MI provider (3) - Generate code](/archive/blogs/wmi/implementing-mi-provider-3-generate-code)
|
||||
- [Implementing MI provider (4) - Generate code (continue)](/archive/blogs/wmi/implementing-mi-provider-4-generate-code-continute)
|
||||
- [Implementing MI provider (5) - Implement](/archive/blogs/wmi/implementing-mi-provider-5-implement)
|
||||
- [Implementing MI provider (6) - Build, register, and debug](/archive/blogs/wmi/implementing-mi-provider-6-build-register-and-debug)
|
||||
- [Management infrastructure (MI) API](/archive/blogs/wmi/introducing-new-management-infrastructure-mi-api)
|
||||
- [MI provider (1) - Overview](/archive/blogs/wmi/implementing-mi-provider-1-overview)
|
||||
- [MI provider (2) - Define schema](/archive/blogs/wmi/implementing-mi-provider-2-define-schema)
|
||||
- [MI provider (3) - Generate code](/archive/blogs/wmi/implementing-mi-provider-3-generate-code)
|
||||
- [MI provider (4) - Generate code (continue)](/archive/blogs/wmi/implementing-mi-provider-4-generate-code-continute)
|
||||
- [MI provider (5) - Implement](/archive/blogs/wmi/implementing-mi-provider-5-implement)
|
||||
- [MI provider (6) - Build, register, and debug](/archive/blogs/wmi/implementing-mi-provider-6-build-register-and-debug)
|
||||
- [MI interfaces](/previous-versions/windows/desktop/wmi_v2/mi-interfaces)
|
||||
- [MI datatypes](/previous-versions/windows/desktop/wmi_v2/mi-datatypes)
|
||||
- [MI structures and unions](/previous-versions/windows/desktop/wmi_v2/mi-structures-and-unions)
|
||||
|
@ -0,0 +1,463 @@
|
||||
---
|
||||
title: Windows declared configuration resource access
|
||||
description: Learn more about configuring resource access using Windows declared Configuration.
|
||||
ms.date: 09/12/2024
|
||||
ms.topic: how-to
|
||||
---
|
||||
|
||||
# Declared configuration resource access
|
||||
|
||||
Windows declared configuration (WinDC) resource access is used to manage device configurations and enforce policies to ensure the devices remain in a desired state. It's crucial for maintaining security, compliance, and operational efficiency in organizations. WinDC cloud service is used to send the desired state of a resource to the device where correspondingly the device has the responsibility to enforce and maintain the resource configuration state.
|
||||
|
||||
[Configuration Service Providers (CSPs)](mdm/index.yml) play a vital role for configuring Resource access and act as an interface between the device and the WinDC protocol. They provide a consistent and standardized approach to deploying and enforcing configurations. CSPs support various resource access scenarios, including:
|
||||
|
||||
- [VPNv2 CSP](mdm/vpnv2-csp.md) and [VPN CSP](mdm/vpn-csp.md)
|
||||
- [Wi-Fi CSP](mdm/wifi-csp.md)
|
||||
- [ClientCertificateInstall CSP](mdm/clientcertificateinstall-csp.md)
|
||||
- [ActiveSync CSP](mdm/activesync-csp.md)
|
||||
- [WiredNetwork CSP](mdm/wirednetwork-csp.md)
|
||||
- [RootCACertificates CSP](mdm/rootcacertificates-csp.md)
|
||||
|
||||
The WinDC stack on the device processes configuration requests and maintains the desired state, which is key to RA. The efficiency, accuracy, and enforcement of configuration requests are critical for effective RA. Resource access integrates seamlessly with WinDC, providing an extended method for managing devices through the cloud with enhanced scalability and efficiency.
|
||||
|
||||
- **Efficiency**: Batch-based processing minimizes server resource usage and reduces latency.
|
||||
- **Accuracy**: WinDC client stack understands the device's configuration surface area, enabling effective handling of continuous updates. It ensures precise execution of configuration changes communicated by the cloud service.
|
||||
- **Policy Enforcement**: Apply and maintain organizational policies across devices consistently and at scale, ensuring compliance and uniform configuration. This aspect allows organizations to maintain the desired security posture across devices.
|
||||
|
||||
## Resource access guidelines
|
||||
|
||||
These guidelines provide best practices and examples for developers and testers to implement resource access (RA) configurations in a secure, efficient, and consistent manner. They aim to enhance network security and optimize resource access for end users while adhering to policies and compliance requirements.
|
||||
|
||||
- **Configuration Integrity**: To support uninterrupted and secure resource access, ensure consistent configurations across devices and users.
|
||||
- **State Validation**: Monitor the state of configurations to verify the correct application of resource access settings.
|
||||
- **Profile Management**: Effectively manage user profiles by adding, updating, and deleting as needed, to control access to resources and maintain security.
|
||||
- **Log and Audit**: Utilize logs and audit trails for operations and changes to aid in troubleshooting and compliance.
|
||||
- **Drift Detection and Remediation**: To maintain compliance with RA policies, continuously monitor drift (changes in configuration or behavior) and take corrective action.
|
||||
- **Security and Privacy**: To protect user data and resources, implement strong security and privacy measures in configurations.
|
||||
|
||||
By following these guidelines and understanding the syntax of the [DeclaredConfiguration CSP](mdm/declaredconfiguration-csp.md), you can effectively implement and manage RA configurations while maintaining security and compliance.
|
||||
|
||||
## WinDC document
|
||||
|
||||
The value of the `Document` leaf node in the [DeclaredConfiguration CSP](mdm/declaredconfiguration-csp.md) is an XML document that describes the request. Here's a sample WinDC document with the configuration data specified for resource access.
|
||||
|
||||
```xml
|
||||
<DeclaredConfiguration context="user" schema="1.0" id="DCA000B5-397D-40A1-AABF-40B25078A7F9" osdefinedscenario="MSFTVPN" checksum="A0">
|
||||
<CSP name="./Vendor/MSFT/VPNv2">
|
||||
<URI path="Test_SonicWall/TrafficFilterList/0/Protocol" type="int">2</URI>
|
||||
<URI path="Test_SonicWall/TrafficFilterList/0/Direction" type="chr">outbound</URI>
|
||||
</CSP>
|
||||
</DeclaredConfiguration>
|
||||
```
|
||||
|
||||
Only supported values for `osdefinedscenario` can be used. Unsupported values result in an error message similar to `Invalid scenario name`.
|
||||
|
||||
| osdefinedscenario | Recommended using with |
|
||||
|------------------------------|-------------------------------|
|
||||
| MSFTWiredNetwork | WiredNetwork |
|
||||
| MSFTResource | ActiveSync |
|
||||
| MSFTVPN | VPN and VPNv2 |
|
||||
| MSFTWifi | Wifi |
|
||||
| MSFTInventory | Certificate inventory |
|
||||
| MSFTClientCertificateInstall | SCEP, PFX, Bulk Template Data |
|
||||
|
||||
These `osdefinedscenario` values require the following tags and attributes.
|
||||
|
||||
- The `<CSP>` XML tag describes the CSP being targeted.
|
||||
|
||||
This tag has the following attributes:
|
||||
|
||||
| Attribute | Description |
|
||||
|--|--|
|
||||
| `name` | Specifies the targeted CSP OMA-URI. |
|
||||
|
||||
- The `<URI>` XML tag specifies the CSP setting node along with the desired value.
|
||||
|
||||
This tag has the following attributes:
|
||||
|
||||
| Attribute | Description |
|
||||
|-----------|-------------------|
|
||||
| `path` | Setting path |
|
||||
| `type` | Setting data type |
|
||||
|
||||
> [!NOTE]
|
||||
> The target of the scenario settings must match the WinDC context. The CSP **scope** defined in `<LocURI>` and WinDC **context** must both be either `Device` or `User`.
|
||||
>
|
||||
> :::image type="content" source="images/declared-configuration-ra-syntax.png" alt-text="WinDC resource access syntax":::
|
||||
|
||||
### osdefinedscenario examples
|
||||
|
||||
- Partial `MSFTWifi` example for Wifi:
|
||||
|
||||
```xml
|
||||
<DeclaredConfiguration context="Device" schema="1.0" id="10249228-e719-58bf-b459-060de45240f1" osdefinedscenario="MSFTWifi" checksum="11111111">
|
||||
<CSP name="./Vendor/MSFT/WiFi">
|
||||
```
|
||||
|
||||
- Partial `MSFTResource` example for ActiveSync:
|
||||
|
||||
```xml
|
||||
<DeclaredConfiguration context="User" schema="1.0" id="33333333-1861-4131-96e8-44444444" osdefinedscenario="MSFTResource" checksum="5555">
|
||||
<CSP name="./Vendor/MSFT/ActiveSync">
|
||||
```
|
||||
|
||||
## SyncML examples
|
||||
|
||||
The standard OMA-DM SyncML syntax is used to specify the DeclaredConfiguration CSP operations such as **Replace**, **Add**, and **Delete**. The payload of the SyncML's `<Data>` element must be XML-encoded. For this XML encoding, there are various online encoders that you can use. To avoid encoding the payload, you can use [CDATA Section](https://www.w3.org/TR/REC-xml/#sec-cdata-sect) as shown in the following SyncML examples.
|
||||
|
||||
### Configure a VPNv2 profile for resource access
|
||||
|
||||
This example demonstrates how to use the [VPNv2 CSP](mdm/vpnv2-csp.md) to configure a VPN profile named **Test_SonicWall** on the device in the **User** scope.
|
||||
|
||||
```xml
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Replace>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Meta>
|
||||
<Format>chr</Format>
|
||||
<Type>text/plain</Type>
|
||||
</Meta>
|
||||
<Target>
|
||||
<LocURI>./User/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/DCA000B5-397D-40A1-AABF-40B25078A7F9/Document</LocURI>
|
||||
</Target>
|
||||
<Data><![CDATA[<?xml version="1.0" encoding="utf-8"?>
|
||||
<DeclaredConfiguration context="user" schema="1.0" id="DCA000B5-397D-40A1-AABF-40B25078A7F9" osdefinedscenario="MSFTVPN" checksum="A0">
|
||||
<CSP name="./Vendor/MSFT/VPNv2">
|
||||
<URI path="Test_SonicWall/TrafficFilterList/0/Protocol" type="int">2</URI>
|
||||
<URI path="Test_SonicWall/TrafficFilterList/0/Direction" type="chr">outbound</URI>
|
||||
<URI path="Test_SonicWall/TrafficFilterList/1/Protocol" type="int">6</URI>
|
||||
<URI path="Test_SonicWall/TrafficFilterList/1/LocalPortRanges" type="chr">43-54</URI>
|
||||
<URI path="Test_SonicWall/TrafficFilterList/1/RemotePortRanges" type="chr">243-456</URI>
|
||||
<URI path="Test_SonicWall/TrafficFilterList/1/Direction" type="chr">outbound</URI>
|
||||
<URI path="Test_SonicWall/EdpModeId" type="chr">wip.contoso.com</URI>
|
||||
<URI path="Test_SonicWall/RememberCredentials" type="bool">true</URI>
|
||||
<URI path="Test_SonicWall/AlwaysOn" type="bool">true</URI>
|
||||
<URI path="Test_SonicWall/Proxy/AutoConfigUrl" type="chr">https://auto.proxy.com</URI>
|
||||
<URI path="Test_SonicWall/DeviceCompliance/Enabled" type="bool">true</URI>
|
||||
<URI path="Test_SonicWall/DeviceCompliance/Sso/Enabled" type="bool">false</URI>
|
||||
<URI path="Test_SonicWall/PluginProfile/ServerUrlList" type="chr">23.54.3.6;server1,vpn.contoso.com;server2</URI>
|
||||
<URI path="Test_SonicWall/PluginProfile/CustomConfiguration" type="chr"><custom></custom></URI>
|
||||
<URI path="Test_SonicWall/PluginProfile/PluginPackageFamilyName" type="chr">SonicWALL.MobileConnect_e5kpm93dbe93j</URI>
|
||||
</CSP>
|
||||
</DeclaredConfiguration>
|
||||
]]></Data>
|
||||
</Item>
|
||||
</Replace>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
<!--
|
||||
> [!NOTE]
|
||||
>
|
||||
> - Format of the `<LocURI>` and `<DeclaredConfiguration>` follow the [DeclaredConfiguration CSP](mdm/declaredconfiguration-csp.md) syntax.
|
||||
> - The `id` of `<DeclaredConfiguration>` should be a unique string.
|
||||
> - `<Format>` of `<Meta>` should be `chr` and `<Type>` should be `text/plain`.
|
||||
-->
|
||||
|
||||
### Updating a VPNv2 profile for resource access
|
||||
|
||||
This example demonstrates how to use the same WinDC **Document ID**, but with a new checksum("A3"). It installs a new VPNv2 profile named `Test_SonicwallNew`, and deletes the old profile.
|
||||
|
||||
```xml
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Replace>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Meta>
|
||||
<Format>chr</Format>
|
||||
<Type>text/plain</Type>
|
||||
</Meta>
|
||||
<Target>
|
||||
<LocURI>./User/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/DCA000B5-397D-40A1-AABF-40B25078A7F9/Document</LocURI>
|
||||
</Target>
|
||||
<Data><![CDATA[<?xml version="1.0" encoding="utf-8"?>
|
||||
<DeclaredConfiguration context="user" schema="1.0" id="DCA000B5-397D-40A1-AABF-40B25078A7F9" osdefinedscenario="MSFTVPN" checksum="A3">
|
||||
<CSP name="./Vendor/MSFT/VPNv2">
|
||||
<URI path="Test_SonicWallNew/TrafficFilterList/0/Protocol" type="int">2</URI>
|
||||
<URI path="Test_SonicWallNew/TrafficFilterList/0/Direction" type="chr">outbound</URI>
|
||||
<URI path="Test_SonicWallNew/EdpModeId" type="chr">wip.contoso.com</URI>
|
||||
<URI path="Test_SonicWallNew/RememberCredentials" type="bool">true</URI>
|
||||
<URI path="Test_SonicWallNew/AlwaysOn" type="bool">false</URI>
|
||||
<URI path="Test_SonicWallNew/Proxy/AutoConfigUrl" type="chr">https://auto.proxy.com</URI>
|
||||
<URI path="Test_SonicWallNew/DeviceCompliance/Enabled" type="bool">true</URI>
|
||||
<URI path="Test_SonicWallNew/DeviceCompliance/Sso/Enabled" type="bool">false</URI>
|
||||
<URI path="Test_SonicWallNew/PluginProfile/ServerUrlList" type="chr">23.54.3.8;server1,vpn2.contoso.com;server2</URI>
|
||||
<URI path="Test_SonicWallNew/PluginProfile/PluginPackageFamilyName" type="chr">SonicWALL.MobileConnect_e5kpm93dbe93j</URI>
|
||||
</CSP>
|
||||
</DeclaredConfiguration>
|
||||
]]></Data>
|
||||
</Item>
|
||||
</Replace>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
### Getting the VPNv2 profile
|
||||
|
||||
This example demonstrates how to use `<Get>` to retrieve the results of the WinDC request.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Get>
|
||||
<CmdID>1</CmdID>
|
||||
<Item>
|
||||
<Meta>
|
||||
<Format>chr</Format>
|
||||
<Type>text/plain</Type>
|
||||
</Meta>
|
||||
<Target>
|
||||
<LocURI>./User/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Results/DCA000B5-397D-40A1-AABF-40B25078A7F9/Document</LocURI>
|
||||
</Target>
|
||||
</Item>
|
||||
</Get>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
**Response**:
|
||||
|
||||
```xml
|
||||
<SyncML xmlns:msft="http://schemas.microsoft.com/MobileDevice/MDM">
|
||||
<SyncHdr />
|
||||
<SyncBody>
|
||||
<Status>
|
||||
<CmdID>1</CmdID>
|
||||
<MsgRef>1</MsgRef>
|
||||
<CmdRef>0</CmdRef>
|
||||
<Cmd>SyncHdr</Cmd>
|
||||
<Data>200</Data>
|
||||
</Status>
|
||||
<Status>
|
||||
<CmdID>2</CmdID>
|
||||
<MsgRef>1</MsgRef>
|
||||
<CmdRef>2</CmdRef>
|
||||
<Cmd>Get</Cmd>
|
||||
<Data>200</Data>
|
||||
</Status>
|
||||
<Results>
|
||||
<CmdID>3</CmdID>
|
||||
<MsgRef>1</MsgRef>
|
||||
<CmdRef>2</CmdRef>
|
||||
<Item>
|
||||
<Source>
|
||||
<LocURI>./User/Vendor/MSFT/DeclaredConfiguration/Host/BulkTemplate/Results/DCA000B5-397D-40A1-AABF-40B25078A7F9/Document</LocURI>
|
||||
</Source>
|
||||
<Data><DeclaredConfigurationResult context="user" schema="1.0" id="DCA000B5-397D-40A1-AABF-40B25078A7F9" osdefinedscenario="MSFTVPN" checksum="A3" result_checksum="9D2ED497C12D2FCEE1C45158D1F7ED8E2DACE210A0B8197A305417882991C978" result_timestamp="2024-08-06T13:54:38Z" operation="Set" state="60"><CSP name="./Vendor/MSFT/VPNv2" state="60"><URI path="Test_SonicWallNew/TrafficFilterList/0/Protocol" status="200" state="60" type="int" /><URI path="Test_SonicWallNew/TrafficFilterList/0/Direction" status="200" state="60" type="chr" /><URI path="Test_SonicWallNew/EdpModeId" status="200" state="60" type="chr" /><URI path="Test_SonicWallNew/RememberCredentials" status="200" state="60" type="bool" /><URI path="Test_SonicWallNew/AlwaysOn" status="200" state="60" type="bool" /><URI path="Test_SonicWallNew/Proxy/AutoConfigUrl" status="200" state="60" type="chr" /><URI path="Test_SonicWallNew/DeviceCompliance/Enabled" status="200" state="60" type="bool" /><URI path="Test_SonicWallNew/DeviceCompliance/Sso/Enabled" status="200" state="60" type="bool" /><URI path="Test_SonicWallNew/PluginProfile/ServerUrlList" status="200" state="60" type="chr" /><URI path="Test_SonicWallNew/PluginProfile/PluginPackageFamilyName" status="200" state="60" type="chr" /></CSP></DeclaredConfigurationResult></Data>
|
||||
</Item>
|
||||
</Results>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> To understand the state values, see [WinDC states](mdm/declaredconfiguration-csp.md#windc-states).
|
||||
|
||||
### Deleting the VPNv2 profile
|
||||
|
||||
This example demonstrates how to use `<Delete>` to remove the configuration request to set the VPNv2 profile.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Delete>
|
||||
<CmdID>1</CmdID>
|
||||
<Item>
|
||||
<Meta>
|
||||
<Format>chr</Format>
|
||||
<Type>text/plain</Type>
|
||||
</Meta>
|
||||
<Target>
|
||||
<LocURI>./User/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/DCA000B5-397D-40A1-AABF-40B25078A7F9/Document</LocURI>
|
||||
</Target>
|
||||
</Item>
|
||||
</Delete>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
## Resource ownership
|
||||
|
||||
MDM-managed resources, such as a VPN profile, are transferred/migrated to WinDC management when a WinDC document is sent to the device for the same resource. This resource stays under WinDC management until the WinDC document is [deleted](mdm/declaredconfiguration-csp.md#delete-a-windc-document) or [abandoned](mdm/declaredconfiguration-csp.md#abandon-a-windc-document). Otherwise, when MDM tries to manage the same resource via the legacy MDM channel using SyncML, it fails with error 0x86000031.
|
||||
|
||||
`MDM ConfigurationManager: Command failure status. Configuraton Source ID: (29c383c5-6e2d-43bf-a741-c63cb7516bb4), Enrollment Type: (MDMDeviceWithAAD), CSP Name: (ActiveSync), Command Type: (Add: from Replace or Add), CSP URI: (./User/Vendor/MSFT/ActiveSync/Accounts/{3b8b9d4d-a24e-4c6d-a460-034d0bfb9316}), Result: (Unknown Win32 Error code: 0x86000031).`
|
||||
|
||||
## Bulk template data
|
||||
|
||||
The Bulk template data scenario extends beyond the regular [ClientCertificateInstall CSP](mdm/clientcertificateinstall-csp.md). It uses a special bulk template document type. This section covers the structure, specification, and results of using the bulk template data.
|
||||
|
||||
### Template document
|
||||
|
||||
A PFXImport template document contains the structure necessary for importing certificates in bulk. The document should define the necessary fields, and the format required for the bulk import.
|
||||
|
||||
- The document type must be `BulkTemplate`.
|
||||
- The URI path is different than the regular URIs by using the `@#pfxThumbprint#` syntax, it declares that it's a dynamic node. [Instance data](#template-data) for dynamic nodes is sent later using `BulkVariables`. Each dynamic node might contain dynamic subnodes, such as the `@#pfxBlob#` and `#@pfxPassword#` nodes in this example.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Replace>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Meta>
|
||||
<Format>chr</Format>
|
||||
<Type>text/plain</Type>
|
||||
</Meta>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/BulkTemplate/Documents/47e88660-1861-4131-96e8-f32e85011e55/Document</LocURI>
|
||||
</Target>
|
||||
<Data><![CDATA[<?xml version="1.0" encoding="utf-8"?>
|
||||
<DeclaredConfiguration context="Device" schema="1.0" id="47e88660-1861-4131-96e8-f32e85011e55" osdefinedscenario="MSFTResource" checksum="FF356C2C71F6A41F9AB4A601AD00C8B5BC7531576233010B13A221A9FE1BE7A0">
|
||||
<ReflectedProperties>
|
||||
<Property name="foo" type="chr">foovalue</Property>
|
||||
<Property name="bar" type="chr">barvalue</Property>
|
||||
</ReflectedProperties>
|
||||
<CSP name="./Vendor/MSFT/ClientCertificateInstall">
|
||||
<URI path="PFXCertInstall/@#pfxThumbprint#/KeyLocation" type="Int">2</URI>
|
||||
<URI path="PFXCertInstall/@#pfxThumbprint#/PFXCertBlob" type="chr">@#pfxBlob#</URI>
|
||||
<URI path="PFXCertInstall/@#pfxThumbprint#/PFXCertPassword" type="chr">@#pfxPassword#</URI>
|
||||
<URI path="PFXCertInstall/@#pfxThumbprint#/PFXKeyExportable" type="bool">True</URI>
|
||||
<URI path="PFXCertInstall/@#pfxThumbprint#/PfxCertPasswordEncryptionType" type="int">0</URI>
|
||||
<URI path="PFXCertInstall/@#pfxThumbprint#/PfxCertPasswordEncryptionStore" type="chr">SomeValue</URI>
|
||||
<URI path="PFXCertInstall/@#pfxThumbprint#/ContainerName" type="chr"></URI>
|
||||
</CSP>
|
||||
</DeclaredConfiguration>
|
||||
]]></Data>
|
||||
</Item>
|
||||
</Replace>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
### Template data
|
||||
|
||||
The bulk template data specifies the certificates to be imported in a base64 encoded format using the `BulkVariables` URI under the `BulkTemplate`. The template data document can contain multiple instances. Each instance must specify all the subinstance data.
|
||||
|
||||
In this example, there are two instances. Each instance defines values for **pfxThumbprint**, a **pfxBlob, and a **pfxPassword**.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Replace>
|
||||
<CmdID>3</CmdID>
|
||||
<Item>
|
||||
<Meta>
|
||||
<Format>chr</Format>
|
||||
<Type>text/plain</Type>
|
||||
</Meta>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/BulkTemplate/Documents/47e88660-1861-4131-96e8-f32e85011e55/BulkVariables/Value</LocURI>
|
||||
</Target>
|
||||
<Data><![CDATA[
|
||||
<InstanceBlob schema="1.0">
|
||||
<Instance>
|
||||
<InstanceData variable="pfxThumbprint">813A171D7341E1DA90D4A01878DD5328D3519006</InstanceData>
|
||||
<InstanceData variable="pfxBlob">pfxbase64BlobValue1</InstanceData>
|
||||
<InstanceData variable="pfxPassword">Password1</InstanceData>
|
||||
</Instance>
|
||||
<Instance>
|
||||
<InstanceData variable="pfxThumbprint">813A171D7341E1DA90D4A01878DD5328D3519007</InstanceData>
|
||||
<InstanceData variable="pfxBlob">pfxbase64BlobValue2</InstanceData>
|
||||
<InstanceData variable="pfxPassword">Password2</InstanceData>
|
||||
</Instance>
|
||||
</InstanceBlob>
|
||||
]]></Data>
|
||||
</Item>
|
||||
</Replace>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
### Template results
|
||||
|
||||
When the bulk template data document is successfully processed, the specified certificates are imported into the defined stores with the provided passwords and key locations.
|
||||
|
||||
- Successful Import: The certificates are correctly imported into the device's certificate stores.
|
||||
- Error Handling: Any errors encountered during the import process include relevant status codes or messages for troubleshooting.
|
||||
|
||||
**Request**:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Get>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Meta>
|
||||
<Format>chr</Format>
|
||||
<Type>text/plain</Type>
|
||||
</Meta>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/BulkTemplate/Results/47e88660-1861-4131-96e8-f32e85011e55/Document</LocURI>
|
||||
</Target>
|
||||
</Item>
|
||||
</Get>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
**Response**:
|
||||
|
||||
```xml
|
||||
<SyncML xmlns:msft="http://schemas.microsoft.com/MobileDevice/MDM">
|
||||
<SyncHdr />
|
||||
<SyncBody>
|
||||
<Status>
|
||||
<CmdID>1</CmdID>
|
||||
<MsgRef>1</MsgRef>
|
||||
<CmdRef>0</CmdRef>
|
||||
<Cmd>SyncHdr</Cmd>
|
||||
<Data>200</Data>
|
||||
</Status>
|
||||
<Status>
|
||||
<CmdID>2</CmdID>
|
||||
<MsgRef>1</MsgRef>
|
||||
<CmdRef>2</CmdRef>
|
||||
<Cmd>Get</Cmd>
|
||||
<Data>200</Data>
|
||||
</Status>
|
||||
<Results>
|
||||
<CmdID>3</CmdID>
|
||||
<MsgRef>1</MsgRef>
|
||||
<CmdRef>2</CmdRef>
|
||||
<Item>
|
||||
<Source>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/BulkTemplate/Results/47e88660-1861-4131-96e8-f32e85011e55/Document</LocURI>
|
||||
</Source>
|
||||
<Data><DeclaredConfigurationResult context="Device" schema="1.0" id="47e88660-1861-4131-96e8-f32e85011e55" osdefinedscenario="MSFTResource" checksum="FF356C2C71F6A41F9AB4A601AD00C8B5BC7531576233010B13A221A9FE1BE7A0" result_checksum="DD8C1C422D50A410C2949BA5F495C2C42CC4B0C7B498D1B43318C503F6CEF491" result_timestamp="2024-08-06T13:26:23Z" operation="Set" state="60">
|
||||
<CSP name="./Vendor/MSFT/ClientCertificateInstall" state="60">
|
||||
<URI path="PFXCertInstall/813A171D7341E1DA90D4A01878DD5328D3519006/KeyLocation" status="200" state="60" type="int" />
|
||||
<URI path="PFXCertInstall/813A171D7341E1DA90D4A01878DD5328D3519006/PFXCertBlob" status="200" state="60" type="chr" />
|
||||
<URI path="PFXCertInstall/813A171D7341E1DA90D4A01878DD5328D3519006/PFXCertPassword" status="200" state="60" type="chr" />
|
||||
<URI path="PFXCertInstall/813A171D7341E1DA90D4A01878DD5328D3519006/PFXKeyExportable" status="200" state="60" type="bool" />
|
||||
</CSP><CSP name="./Vendor/MSFT/ClientCertificateInstall" state="60">
|
||||
<URI path="PFXCertInstall/CertPFX1/KeyLocation" status="200" state="60" type="int" />
|
||||
<URI path="PFXCertInstall/CertPFX1/PFXCertBlob" status="200" state="60" type="chr" />
|
||||
<URI path="PFXCertInstall/CertPFX1/PFXCertPassword" status="200" state="60" type="chr" />
|
||||
<URI path="PFXCertInstall/CertPFX1/PFXKeyExportable" status="200" state="60" type="bool" />
|
||||
</CSP>
|
||||
</DeclaredConfigurationResult>
|
||||
</Data>
|
||||
</Item>
|
||||
</Results>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
@ -1,65 +1,132 @@
|
||||
---
|
||||
title: Declared configuration protocol
|
||||
description: Learn more about using declared configuration protocol for desired state management of Windows devices.
|
||||
ms.date: 09/26/2023
|
||||
title: Windows declared configuration protocol
|
||||
description: Learn more about using Windows declared configuration (WinDC) protocol for desired state management of Windows devices.
|
||||
ms.date: 09/12/2024
|
||||
ms.topic: overview
|
||||
---
|
||||
|
||||
# What is the declared configuration protocol
|
||||
# Windows declared configuration protocol overview
|
||||
|
||||
The declared configuration protocol is based on a desired state device configuration model, though it still uses the underlying OMA-DM Syncml protocol. Through a dedicated OMA-DM server, it provides all the settings in a single batch through this protocol. The device's declared configuration client stack can reason over the settings to achieve the desired scenario in the most efficient and reliable manner.
|
||||
The Windows declared configuration (WinDC) protocol is a desired state device configuration model designed for efficient and reliable management of Windows devices. It uses the OMA-DM SyncML protocol to provide all necessary settings in a single batch through a dedicated OMA-DM server. The WinDC client stack on the device processes these settings to achieve the desired state in the most efficient and reliable manner.
|
||||
|
||||
The declared configuration protocol requires that a device has a separate [OMA-DM enrollment](mdm-overview.md), which is dependent on the device being enrolled with the primary OMA-DM server. The desired state model is a different model from the current model where the server is responsible for the device's desire state. This dual enrollment is only allowed if the device is already enrolled into a primary MDM server. This other enrollment separates the desired state management functionality from the primary functionality. The declared configuration enrollment's first desired state management model feature is called [extensibility](declared-configuration-extensibility.md).
|
||||
WinDC protocol requires that a device has a separate [OMA-DM enrollment](mdm-overview.md), which is dependent on the device being enrolled with the primary OMA-DM server. The desired state model is a different model from the current model where the server is responsible for the device's desire state. This dual enrollment is only allowed if the device is already enrolled into a primary mobile device management (MDM) server. This other enrollment separates the desired state management functionality from the primary functionality.
|
||||
|
||||
:::image type="content" source="images/declared-configuration-model.png" alt-text="Diagram illustrating the declared configuration model.":::
|
||||
WinDC enrollment involves two phases:
|
||||
|
||||
With the [Declared Configuration CSP](mdm/declaredconfiguration-csp.md), the OMA-DM server can provide the device with the complete collection of setting names and associated values based on a specified scenario. The declared configuration stack on the device is responsible for handling the configuration request, and maintaining its state including updates to the scenario.
|
||||
- [Declared configuration discovery](declared-configuration-discovery.md): The initial discovery phase of the WinDC protocol uses a dedicated JSON schema to query enrollment details from the [discovery service endpoint (DS)](/openspecs/windows_protocols/ms-mde2/60deaa44-52df-4a47-a844-f5b42037f7d3#gt_8d76dac8-122a-452b-8c97-b25af916f19b). This phase involves sending HTTP requests with specific headers and a JSON body containing details such as user domain, tenant ID, and OS version. The DS responds with the necessary enrollment service URLs and authentication policies based on the enrollment type (Microsoft Entra joined or registered devices).
|
||||
- [Declared configuration enrollment](declared-configuration-enrollment.md): The enrollment phase uses the [MS-MDE2 protocol](/openspecs/windows_protocols/ms-mde2/4d7eadd5-3951-4f1c-8159-c39e07cbe692) and new [DMClient CSP](mdm/dmclient-csp.md) policies for dual enrollment. This phase involves setting the `LinkedEnrollment/DiscoveryEndpoint` and triggering the `LinkedEnrollment/Enroll` using SyncML commands. The device can then manage its configuration state by interacting with the OMA-DM server through these policies.
|
||||
|
||||
The benefit of the declared configuration desired state model is that it's efficient and accurate, especially since it's the responsibility of the declared configuration client to configure the device. The efficiency of declared configuration is because the client can asynchronously process batches of scenario settings, which free up the server resources to do other work. Thus the declared configuration protocol has low latency. As for configuration quality and accuracy, the declared configuration client stack has detailed knowledge of the configuration surface area of the device. This behavior includes the proper handling of continuous device updates that affect the configuration scenario.
|
||||
WinDC enrollment offers these desired state management features:
|
||||
|
||||
## Declared configuration enrollment
|
||||
- [Resource access](declared-configuration-resource-access.md): Provides access to necessary resources for configuration.
|
||||
- [Extensibility](declared-configuration-extensibility.md): Allows for extending the configuration capabilities as needed.
|
||||
|
||||
[Mobile Device Enrollment Protocol version 2](/openspecs/windows_protocols/ms-mde2/4d7eadd5-3951-4f1c-8159-c39e07cbe692) describes enrollment including discovery, which covers the primary and declared configuration enrollments. The device uses the following new [DMClient CSP](mdm/dmclient-csp.md) policies for declared configuration dual enrollment:
|
||||
:::image type="content" source="images/declared-configuration-model.png" alt-text="Diagram illustrating the WinDC model.":::
|
||||
|
||||
- [LinkedEnrollment/Enroll](mdm/dmclient-csp.md#deviceproviderprovideridlinkedenrollmentenroll)
|
||||
- [LinkedEnrollment/Unenroll](mdm/dmclient-csp.md#deviceproviderprovideridlinkedenrollmentunenroll)
|
||||
- [LinkedEnrollment/EnrollStatus](mdm/dmclient-csp.md#deviceproviderprovideridlinkedenrollmentenrollstatus)
|
||||
- [LinkedEnrollment/LastError](mdm/dmclient-csp.md#deviceproviderprovideridlinkedenrollmentlasterror)
|
||||
- [LinkedEnrollment/DiscoveryEndpoint](mdm/dmclient-csp.md#deviceproviderprovideridlinkedenrollmentdiscoveryendpoint)
|
||||
After a device is enrolled, the OMA-DM server can send a complete collection of setting names and values for a specified scenario using the [DeclaredConfiguration CSP](mdm/declaredconfiguration-csp.md). The WinDC stack on the device is responsible for handling the configuration request, and maintaining its state including updates to the scenario.
|
||||
|
||||
The following SyncML example sets **LinkedEnrolment/DiscoveryEndpoint** and triggers **LinkedEnrollment/Enroll**:
|
||||
The benefit of the WinDC desired state model is that it's efficient and accurate, especially since it's the responsibility of the WinDC client stack to configure the device. The efficiency of WinDC is because the client can asynchronously process batches of scenario settings, which free up the server resources to do other work. Thus the WinDC protocol has low latency. As for configuration quality and accuracy, the WinDC client stack has detailed knowledge of the configuration surface area of the device. This behavior includes the proper handling of continuous device updates that affect the configuration scenario.
|
||||
|
||||
```xml
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
## Supported platforms
|
||||
|
||||
WinDC enrollment for [Microsoft Entra joined devices](/entra/identity/devices/concept-directory-join) is supported for all versions of Windows 10/11.
|
||||
|
||||
WinDC enrollment for [Microsoft Entra registered devices](/entra/identity/devices/concept-device-registration) is supported for Windows 10/11 with the following updates:
|
||||
|
||||
- Windows 11, version 24H2 with [KB5040529](https://support.microsoft.com/help/5040529) (OS Build 26100.1301)
|
||||
- Windows 11, version 23H2 with [KB5040527](https://support.microsoft.com/help/5040527) (OS Build 22631.3958)
|
||||
- Windows 11, version 22H2 with [KB5040527](https://support.microsoft.com/help/5040527) (OS Build 22621.3958)
|
||||
- Windows 10, version 22H2 with [KB5040525](https://support.microsoft.com/help/5040525) (OS Build 19045.4717)
|
||||
|
||||
## Refresh interval
|
||||
|
||||
The WinDC refresh schedule is created whenever there's a WinDC document present on the device and there's currently no schedule task for refresh. The task runs every 4 hours by default and can be configured. Each time the WinDC refresh task runs, it checks for all drifts from desired state by comparing the current system configuration versus the server intention in the WinDC documents. If there are any drifts, WinDC engine tries to reapply the WinDC documents to fix it. In case where a WinDC document can't be reapplied due to instance data missing, the WinDC document is marked in drifted state and a new sync session is triggered to notify there's a drift.
|
||||
|
||||
To identify, adjust or remove the refresh schedule, use the **RefreshInterval** URI:
|
||||
|
||||
- Identify current schedule:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Get>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/ManagementServiceConfiguration/RefreshInterval</LocURI>
|
||||
</Target>
|
||||
</Item>
|
||||
</Get>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
- Adjust current schedule:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Replace>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DMClient/Provider/MS%20DM%20SERVER/LinkedEnrollment/DiscoveryEndpoint</LocURI>
|
||||
</Target>
|
||||
<Data>https://discovery.dm.microsoft.com/EnrollmentConfiguration?api-version=1.0</Data>
|
||||
</Item>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Meta>
|
||||
<Format>int</Format>
|
||||
<Type>text/plain</Type>
|
||||
</Meta>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/ManagementServiceConfiguration/RefreshInterval</LocURI>
|
||||
</Target>
|
||||
<Data>30</Data>
|
||||
</Item>
|
||||
</Replace>
|
||||
<Final/>
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Exec>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DMClient/Provider/MS%20DM%20SERVER/LinkedEnrollment/Enroll</LocURI>
|
||||
</Target>
|
||||
</Item>
|
||||
</Exec>
|
||||
<Final/>
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
- Delete the current schedule and use system default:
|
||||
|
||||
## Related content
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
<SyncBody>
|
||||
<Delete>
|
||||
<CmdID>2</CmdID>
|
||||
<Item>
|
||||
<Target>
|
||||
<LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/ManagementServiceConfiguration/RefreshInterval</LocURI>
|
||||
</Target>
|
||||
</Item>
|
||||
</Delete>
|
||||
<Final />
|
||||
</SyncBody>
|
||||
</SyncML>
|
||||
```
|
||||
|
||||
- [Declared Configuration extensibility](declared-configuration-extensibility.md)
|
||||
## Troubleshooting
|
||||
|
||||
If the processing of declared configuration document fails, the errors are logged to Windows event logs:
|
||||
|
||||
- Admin events: `Application and Service Logs\Microsoft\Windows\DeviceManagement-Enterprise-Diagnostics-Provider\Admin`.
|
||||
- Operational events: `Application and Service Logs\Microsoft\Windows\DeviceManagement-Enterprise-Diagnostics-Provider\Operational`.
|
||||
|
||||
### Common errors
|
||||
|
||||
- If the `<LocURI>` uses **Device** scope, while DeclaredConfiguration document specifies **User** context, Admin event log shows an error message similar to:
|
||||
|
||||
`MDM ConfigurationManager: Command failure status. Configuration Source ID: (DAD70CC2-365B-450D-A8AB-2EB23F4300CC), Enrollment Name: (MicrosoftManagementPlatformCloud), Provider Name: (DeclaredConfiguration), Command Type: (SetValue: from Replace), CSP URI: (./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/DCA000B5-397D-40A1-AABF-40B25078A7F9/Document), Result: (The system cannot find the file specified.)`
|
||||
|
||||
- If the Document ID doesn't match between the `<LocURI>` and inside DeclaredConfiguration document, Admin event log shows an error message similar to:
|
||||
|
||||
`MDM Declared Configuration: End document parsing from CSP: Document Id: (DCA000B5-397D-40A1-AABF-40B25078A7F91), Scenario: (MSFTVPN), Version: (A0), Enrollment Id: (DAD70CC2-365B-450D-A8AB-2EB23F4300CC), Current User: (S-1-5-21-3436249567-4017981746-3373817415-1001), Schema: (1.0), Download URL: (), Scope: (0x1), Enroll Type: (0x1A), File size: (0xDE2), CSP Count: (0x1), URI Count: (0xF), Action Requested: (0x0), Model: (0x1), Result:(0x8000FFFF) Catastrophic failure.`
|
||||
|
||||
- Any typo in the OMA-URI results in a failure. In this example, `TrafficFilterList` is specified instead of `TrafficFilterLists`, and Admin event log shows an error message similar to:
|
||||
|
||||
`MDM ConfigurationManager: Command failure status. Configuraton Source ID: (DAD70CC2-365B-450D-A8AB-2EB23F4300CC), Enrollment Type: (MicrosoftManagementPlatformCloud), CSP Name: (vpnv2), Command Type: (Add: from Replace or Add), CSP URI: (./user/vendor/msft/vpnv2/Test_SonicWall/TrafficFilterLists), Result: (Unknown Win32 Error code: 0x86000002).`
|
||||
|
||||
There's also another warning message in operational channel:
|
||||
|
||||
`MDM Declared Configuration: Function (DeclaredConfigurationExtension_PolicyCSPConfigureGivenCurrentDoc) operation (ErrorAtDocLevel: one or more CSPs failed) failed with (Unknown Win32 Error code: 0x82d00007)`
|
@ -2,7 +2,7 @@
|
||||
title: Mobile device management MDM for device updates
|
||||
description: Windows provides several APIs to help mobile device management (MDM) solutions manage updates. Learn how to use these APIs to implement update management.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
ms.collection:
|
||||
- highpri
|
||||
- tier2
|
||||
@ -25,7 +25,7 @@ In particular, Windows provides APIs to enable MDMs to:
|
||||
- Enter a per-device update approval list. The list makes sure devices only install updates that are approved and tested.
|
||||
- Approve end-user license agreements (EULAs) for the end user so update deployment can be automated even for updates with EULAs.
|
||||
|
||||
This article provides independent software vendors (ISV) with the information they need to implement update management in Windows. For more information, see [Policy CSP - Update](mdm/policy-csp-update.md).
|
||||
This article provides independent software publishers (ISV) with the information they need to implement update management in Windows. For more information, see [Policy CSP - Update](mdm/policy-csp-update.md).
|
||||
|
||||
> [!NOTE]
|
||||
> The OMA DM APIs for specifying update approvals and getting compliance status refer to updates by using an Update ID. The Update ID is a GUID that identifies a particular update. The MDM will want to show IT-friendly information about the update, instead of a raw GUID, including the update's title, description, KB, update type, like a security update or service pack. For more information, see [[MS-WSUSSS]: Windows Update Services: Server-Server Protocol](/openspecs/windows_protocols/ms-wsusss/f49f0c3e-a426-4b4b-b401-9aeb2892815c).
|
||||
@ -88,7 +88,7 @@ This section describes a possible algorithm for using the server-server sync pro
|
||||
|
||||
First some background:
|
||||
|
||||
- If you have a multi-tenant MDM, the update metadata can be kept in a shared partition, since it's common to all tenants.
|
||||
- If you have a multitenant MDM, the update metadata can be kept in a shared partition, since it's common to all tenants.
|
||||
- A metadata sync service can then be implemented. The service periodically calls server-server sync to pull in metadata for the updates IT cares about.
|
||||
- The MDM component that uses OMA DM to control devices (described in the next section) should send the metadata sync service the list of needed updates it gets from each client, if those updates aren't already known to the device.
|
||||
|
||||
@ -130,7 +130,7 @@ The following screenshots of the administrator console show the list of update t
|
||||
|
||||
### SyncML example
|
||||
|
||||
Set auto update to notify and defer.
|
||||
Set Microsoft AutoUpdate to notify and defer.
|
||||
|
||||
```xml
|
||||
<SyncML xmlns="SYNCML:SYNCML1.1">
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Disconnecting from the management infrastructure (unenrollment)
|
||||
description: Disconnecting is initiated either locally by the user using a phone or remotely by the IT admin using management server.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Disconnecting from the management infrastructure (unenrollment)
|
||||
@ -22,14 +22,14 @@ During disconnection, the client executes the following tasks:
|
||||
|
||||
In Windows, after the user confirms the account deletion command and before the account is deleted, the MDM client will notify to the MDM server that the account will be removed. This notification is a best-effort action as no retry is built in to ensure the notification is successfully sent to the device.
|
||||
|
||||
This action utilizes the OMA DM generic alert 1226 function to send a user an MDM unenrollment user alert to the MDM server after the device accepts the user unenrollment request, but before it deletes any enterprise data. The server should set the expectation that unenrollment may succeed or fail, and the server can check whether the device is unenrolled by either checking whether the device calls back at scheduled time or by sending a push notification to the device to see whether it responds back. If the server plans to send a push notification, it should allow for some delay to give the device the time to complete the unenrollment work.
|
||||
This action utilizes the OMA DM generic alert 1226 function to send a user an MDM unenrollment user alert to the MDM server after the device accepts the user unenrollment request, but before it deletes any enterprise data. The server should set the expectation that unenrollment can succeed or fail, and the server can check whether the device is unenrolled by either checking whether the device calls back at scheduled time or by sending a push notification to the device to see whether it responds back. If the server plans to send a push notification, it should allow for some delay to give the device the time to complete the unenrollment work.
|
||||
|
||||
> [!NOTE]
|
||||
> The user unenrollment is an OMA DM standard. For more information about the 1226 generic alert, see the OMA Device Management Protocol specification (OMA-TS-DM\_Protocol-V1\_2\_1-20080617-A), available from the [OMA website](https://www.openmobilealliance.org/release/DM/V1_1_2-20031209-A/).
|
||||
|
||||
The vendor uses the Type attribute to specify what type of generic alert it is. For device initiated MDM unenrollment, the alert type is **com.microsoft:mdm.unenrollment.userrequest**.
|
||||
|
||||
After the user elects to unenroll, any active MDM OMA DM sessions are terminated. After that, the DM client starts a DM session, including a user unenroll generic alert in the first package that it sends to the server.
|
||||
After the user elects to unenroll, any active MDM OMA DM sessions are terminated. After that, the DMClient starts a DM session, including a user unenroll generic alert in the first package that it sends to the server.
|
||||
|
||||
The following sample shows an OMA DM first package that contains a generic alert message. For more information on WP OMA DM support, see the [OMA DM protocol support](oma-dm-protocol-support.md) article.
|
||||
|
||||
@ -107,15 +107,13 @@ You can only use the Work Access page to unenroll under the following conditions
|
||||
- Enrollment was done using bulk enrollment.
|
||||
- Enrollment was created using the Work Access page.
|
||||
|
||||
<a name='unenrollment-from-azure-active-directory-join'></a>
|
||||
|
||||
## Unenrollment from Microsoft Entra join
|
||||
|
||||
When a user is enrolled into MDM through Microsoft Entra join and later, the enrollment disconnects, there's no warning that the user will lose Windows Information Protection (WIP) data. The disconnection message doesn't indicate the loss of WIP data.
|
||||
|
||||

|
||||
|
||||
During the process in which a device is enrolled into MDM through Microsoft Entra join and then remotely unenrolled, the device may get into a state where it must be reimaged. When devices are remotely unenrolled from MDM, the Microsoft Entra association is also removed. This safeguard is in place to avoid leaving the corporate devices in unmanaged state.
|
||||
During the process in which a device is enrolled into MDM through Microsoft Entra join and then remotely unenrolled, the device can get into a state where it must be reimaged. When devices are remotely unenrolled from MDM, the Microsoft Entra association is also removed. This safeguard is in place to avoid leaving the corporate devices in unmanaged state.
|
||||
|
||||
Before remotely unenrolling corporate devices, you must ensure that there is at least one admin user on the device that isn't part of Microsoft Entra ID, otherwise the device won't have any admin user after the operation.
|
||||
|
||||
|
@ -56,19 +56,20 @@
|
||||
"folder_relative_path_in_docset": "./"
|
||||
}
|
||||
},
|
||||
"titleSuffix": "Windows Client Management",
|
||||
"contributors_to_exclude": [
|
||||
"dstrome2",
|
||||
"rjagiewich",
|
||||
"rjagiewich",
|
||||
"American-Dipper",
|
||||
"claydetels19",
|
||||
"claydetels19",
|
||||
"jborsecnik",
|
||||
"v-stchambers",
|
||||
"shdyas",
|
||||
"Stacyrch140",
|
||||
"garycentric",
|
||||
"dstrome",
|
||||
"beccarobins"
|
||||
"beccarobins",
|
||||
"padmagit77",
|
||||
"aditisrivastava07"
|
||||
],
|
||||
"searchScope": [
|
||||
"Windows 10"
|
||||
@ -93,4 +94,4 @@
|
||||
"dest": "win-client-management",
|
||||
"markdownEngineName": "markdig"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ title: Enable ADMX policies in MDM
|
||||
description: Use this step-by-step guide to configure a selected set of Group Policy administrative templates (ADMX policies) in Mobile Device Management (MDM).
|
||||
ms.topic: conceptual
|
||||
ms.localizationpriority: medium
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Enable ADMX policies in MDM
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Enroll a Windows device automatically using Group Policy
|
||||
description: Learn how to use a Group Policy to trigger autoenrollment to MDM for Active Directory (AD) domain-joined devices.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
ms.collection:
|
||||
- highpri
|
||||
- tier2
|
||||
@ -12,7 +12,7 @@ ms.collection:
|
||||
|
||||
You can use a Group Policy to trigger autoenrollment to Mobile Device Management (MDM) for Active Directory (AD) domain-joined devices.
|
||||
|
||||
The enrollment into Intune is triggered by a group policy created on your local AD and happens without any user interaction. This cause-and-effect mechanism means you can automatically mass-enroll a large number of domain-joined corporate devices into Microsoft Intune. The enrollment process starts in the background once you sign in to the device with your Microsoft Entra account.
|
||||
The group policy created on your local AD triggers enrollment into Intune without any user interaction. This cause-and-effect mechanism means you can automatically mass-enroll a large number of domain-joined corporate devices into Microsoft Intune. The enrollment process starts in the background once you sign in to the device with your Microsoft Entra account.
|
||||
|
||||
**Requirements**:
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Enterprise app management
|
||||
description: This article covers one of the key mobile device management (MDM) features for managing the lifecycle of apps across Windows devices.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Enterprise app management
|
||||
@ -15,7 +15,6 @@ By using Windows MDM to manage app lifecycles, administrators can deploy and man
|
||||
|
||||
Windows offers the ability for management servers to:
|
||||
|
||||
- Install apps directly from the Microsoft Store for Business
|
||||
- Deploy offline Store apps and licenses
|
||||
- Deploy line-of-business (LOB) apps (non-Store apps)
|
||||
- Inventory all apps for a user (Store and non-Store apps)
|
||||
@ -28,7 +27,7 @@ Windows offers the ability for management servers to:
|
||||
|
||||
Windows lets you inventory all apps deployed to a user, and inventory all apps for all users of a Windows device. The [EnterpriseModernAppManagement](mdm/enterprisemodernappmanagement-csp.md) configuration service provider (CSP) inventories packaged apps and doesn't include traditional Win32 apps installed via MSI or executables. When the apps are inventoried, they're separated based on the following app classifications:
|
||||
|
||||
- **Store**: Apps that have been acquired from the Microsoft Store, either directly or delivered with the enterprise from the Store for Business.
|
||||
- **Store**: Apps that have been acquired from the Microsoft Store.
|
||||
- **nonStore**: Apps that weren't acquired from the Microsoft Store.
|
||||
- **System**: Apps that are part of the operating system and can't be uninstalled. This classification is read-only and can only be inventoried.
|
||||
|
||||
@ -116,7 +115,7 @@ There are two basic types of apps you can deploy:
|
||||
- Store apps.
|
||||
- Enterprise signed apps.
|
||||
|
||||
To deploy enterprise signed apps, you must enable a setting on the device to allow trusted apps. The apps can be signed by a Microsoft approved root (such as Symantec), an enterprise deployed root, or apps that are self-signed. This section covers the steps to configure the device for non-store app deployment.
|
||||
To deploy enterprise signed apps, you must enable a setting on the device to allow trusted apps. The apps can be signed by a Microsoft approved root (such as Symantec), an enterprise deployed root, or apps that are self-signed. This section covers the steps to configure the device for nonstore app deployment.
|
||||
|
||||
### Unlock the device for non-Store apps
|
||||
|
||||
@ -154,7 +153,7 @@ Here's an example:
|
||||
|
||||
### Unlock the device for developer mode
|
||||
|
||||
Development of apps on Windows devices no longer requires a special license. You can enable debugging and deployment of non-packaged apps using [ApplicationManagement/AllowDeveloperUnlock](mdm/policy-csp-applicationmanagement.md) policy in Policy CSP.
|
||||
Development of apps on Windows devices no longer requires a special license. You can enable debugging and deployment of nonpackaged apps using [ApplicationManagement/AllowDeveloperUnlock](mdm/policy-csp-applicationmanagement.md) policy in Policy CSP.
|
||||
|
||||
AllowDeveloperUnlock policy enables the development mode on the device. The AllowDeveloperUnlock isn't configured by default, which means only Microsoft Store apps can be installed. If the management server explicitly sets the value to off, the setting is disabled in the settings panel on the device.
|
||||
|
||||
@ -198,6 +197,9 @@ To deploy an app to a user directly from the Microsoft Store, the management ser
|
||||
|
||||
If you purchased an app from the Store for Business and the app is specified for an online license, then the app and license must be acquired directly from the Microsoft Store.
|
||||
|
||||
> [!NOTE]
|
||||
> The Microsoft Store for Business and Microsoft Store for Education are retired. For more information, see [Microsoft Store for Business and Education retiring March 31, 2023](/lifecycle/announcements/microsoft-store-for-business-education-retiring).
|
||||
|
||||
Here are the requirements for this scenario:
|
||||
|
||||
- The app is assigned to a user Microsoft Entra identity in the Store for Business. You can assign directly in the Store for Business or through a management server.
|
||||
@ -238,8 +240,8 @@ If you purchased an app from the Store for Business, the app license must be dep
|
||||
|
||||
In the SyncML, you need to specify the following information in the `Exec` command:
|
||||
|
||||
- License ID - This ID is specified in the LocURI. The License ID for the offline license is referred to as the "Content ID" in the license file. You can retrieve this information from the Base64 encoded license download from the Store for Business.
|
||||
- License Content - This content is specified in the data section. The License Content is the Base64 encoded blob of the license.
|
||||
- License ID - This ID is specified in the LocURI. The License ID for the offline license is referred to as the "Content ID" in the license file. You can retrieve this information from the Base 64 encoded license download from the Store for Business.
|
||||
- License Content - This content is specified in the data section. The License Content is the Base 64 encoded blob of the license.
|
||||
|
||||
Here's an example of an offline license installation.
|
||||
|
||||
@ -469,7 +471,7 @@ When an app installation is completed, a Windows notification is sent. You can a
|
||||
- NOT\_INSTALLED (0) - The node was added, but the execution wasn't completed.
|
||||
- INSTALLING (1) - Execution has started, but the deployment hasn't completed. If the deployment completes regardless of success, then this value is updated.
|
||||
- FAILED (2) - Installation failed. The details of the error can be found under LastError and LastErrorDescription.
|
||||
- INSTALLED (3) - Once an install is successful this node is cleaned up. If the clean up action hasn't completed, then this state may briefly appear.
|
||||
- INSTALLED (3) - Once an install is successful this node is cleaned up. If the clean-up action hasn't completed, then this state may briefly appear.
|
||||
- LastError - The last error reported by the app deployment server.
|
||||
- LastErrorDescription - Describes the last error reported by the app deployment server.
|
||||
- Status - An integer that indicates the progress of the app installation. In cases of an HTTPS location, this status shows the estimated download progress. Status isn't available for provisioning and only used for user-based installations. For provisioning, the value is always 0.
|
||||
|
@ -3,7 +3,7 @@ title: eSIM Enterprise Management
|
||||
description: Learn how Mobile Device Management (MDM) Providers support the eSIM Profile Management Solution on Windows.
|
||||
ms.localizationpriority: medium
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# How Mobile Device Management Providers support eSIM Management on Windows
|
||||
@ -28,7 +28,7 @@ If you're a Mobile Device Management (MDM) Provider and want to support eSIM Man
|
||||
- Assess solution type that you would like to provide your customers
|
||||
- Batch/offline solution
|
||||
- IT Admin can manually import a flat file containing list of eSIM activation codes, and provision eSIM on LTE enabled devices.
|
||||
- Operator doesn't have visibility over status of the eSIM profiles and device eSIM has been downloaded and installed to
|
||||
- Operator doesn't have visibility over status of the eSIM profiles
|
||||
- Real-time solution
|
||||
- MDM automatically syncs with the Operator backend system for subscription pool and eSIM management, via SIM vendor solution component. IT Admin can view subscription pool and provision eSIM in real time.
|
||||
- Operator is notified of the status of each eSIM profile and has visibility on which devices are being used
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Federated authentication device enrollment
|
||||
description: This section provides an example of the mobile device enrollment protocol using federated authentication policy.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Federated authentication device enrollment
|
||||
@ -122,7 +122,7 @@ The discovery response is in the XML format and includes the following fields:
|
||||
> [!NOTE]
|
||||
> The HTTP server response must not set Transfer-Encoding to Chunked; it must be sent as one message.
|
||||
|
||||
When authentication policy is set to be Federated, Web Authentication Broker (WAB) is used by the enrollment client to get a security token. The WAB start page URL is provided by the discovery service in the response message. The enrollment client calls the WAB API within the response message to start the WAB process. WAB pages are server hosted web pages. The server should build those pages to fit the device screen nicely and be as consistent as possible to other builds in the MDM enrollment UI. The opaque security token that is returned from WAB as an endpage is used by the enrollment client as the device security secret during the client certificate enrollment request call.
|
||||
When authentication policy is set to be Federated, Web Authentication Broker (WAB) is used by the enrollment client to get a security token. The WAB start page URL is provided by the discovery service in the response message. The enrollment client calls the WAB API within the response message to start the WAB process. WAB pages are server hosted web pages. The server should build those pages to fit the device screen nicely and be as consistent as possible to other builds in the MDM enrollment UI. The opaque security token that is returned from WAB as an end page is used by the enrollment client as the device security secret during the client certificate enrollment request call.
|
||||
|
||||
> [!NOTE]
|
||||
> Instead of relying on the user agent string that is passed during authentication to get information, such as the OS version, use the following guidance:
|
||||
@ -183,7 +183,7 @@ Content-Length: 556
|
||||
</html>
|
||||
```
|
||||
|
||||
The server has to send a POST to a redirect URL of the form `ms-app://string` (the URL scheme is ms-app) as indicated in the POST method action. The security token value is the base64-encoded string `http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\#base64binary` contained in the `<wsse:BinarySecurityToken>` EncodingType attribute. Windows does the binary encode when it sends it back to enrollment server, in the form its just HTML encoded. This string is opaque to the enrollment client; the client doesn't interpret the string.
|
||||
The server has to send a POST to a redirect URL of the form `ms-app://string` (the URL scheme is ms-app) as indicated in the POST method action. The security token value is the base64-encoded string `http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\#base64binary` contained in the `<wsse:BinarySecurityToken>` EncodingType attribute. Windows does the binary encode when it sends it back to enrollment server, in the form it's just HTML encoded. This string is opaque to the enrollment client; the client doesn't interpret the string.
|
||||
|
||||
The following example shows a response received from the discovery web service that requires authentication via WAB.
|
||||
|
||||
@ -367,7 +367,7 @@ The following snippet shows the policy web service response.
|
||||
|
||||
## Enrollment web service
|
||||
|
||||
This web service implements the MS-WSTEP protocol. It processes the RequestSecurityToken (RST) message from the client, authenticates the client, requests the certificate from the CA, and returns it in the RequestSecurityTokenResponse (RSTR) to the client. Besides the issued certificate, the response also contains configurations needed to provision the DM client.
|
||||
This web service implements the MS-WSTEP protocol. It processes the RequestSecurityToken (RST) message from the client, authenticates the client, requests the certificate from the CA, and returns it in the RequestSecurityTokenResponse (RSTR) to the client. Besides the issued certificate, the response also contains configurations needed to provision the DMClient.
|
||||
|
||||
The RequestSecurityToken (RST) must have the user credential and a certificate request. The user credential in an RST SOAP envelope is the same as in GetPolicies, and can vary depending on whether the authentication policy is OnPremise or Federated. The BinarySecurityToken in an RST SOAP body contains a Base64-encoded PKCS\#10 certificate request, which is generated by the client based on the enrollment policy. The client could have requested an enrollment policy by using MS-XCEP before requesting a certificate using MS-WSTEP. If the PKCS\#10 certificate request is accepted by the certification authority (CA) (the key length, hashing algorithm, and so on, match the certificate template), the client can enroll successfully.
|
||||
|
||||
@ -471,15 +471,15 @@ Similar to the TokenType in the RST, the RSTR uses a custom ValueType in the Bin
|
||||
The provisioning XML contains:
|
||||
|
||||
- The requested certificates (required)
|
||||
- The DM client configuration (required)
|
||||
- The DMClient configuration (required)
|
||||
|
||||
The client installs the client certificate, the enterprise root certificate, and intermediate CA certificate if there's one. The DM configuration includes the name and address of the DM server, which client certificate to use, and schedules when the DM client calls back to the server.
|
||||
The client installs the client certificate, the enterprise root certificate, and intermediate CA certificate if there's one. The DM configuration includes the name and address of the DM server, which client certificate to use, and schedules when the DMClient calls back to the server.
|
||||
|
||||
Enrollment provisioning XML should contain a maximum of one root certificate and one intermediate CA certificate that is needed to chain up the MDM client certificate. More root and intermediate CA certificates could be provisioned during an OMA DM session.
|
||||
|
||||
When root and intermediate CA certificates are being provisioned, the supported CSP node path is: CertificateStore/Root/System for root certificate provisioning, CertificateStore/My/User for intermediate CA certificate provisioning.
|
||||
|
||||
Here's a sample RSTR message and a sample of OMA client provisioning XML within RSTR. For more information about the configuration service providers (CSPs) used in provisioning XML, see the Enterprise settings, policies and app management section.
|
||||
Here's a sample RSTR message and a sample of OMA client provisioning XML within RSTR. For more information about the configuration service providers (CSPs) used in provisioning XML, see the Enterprise settings, policies, and app management section.
|
||||
|
||||
The following example shows the enrollment web service response.
|
||||
|
||||
|
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 179 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 35 KiB |
@ -2,16 +2,14 @@
|
||||
title: Support for Windows Information Protection (WIP) on Windows
|
||||
description: Learn about implementing the Windows version of Windows Information Protection (WIP), which is a lightweight solution for managing company data access and security on personal devices.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Support for Windows Information Protection (WIP) on Windows
|
||||
|
||||
Windows Information Protection (WIP) is a lightweight solution for managing company data access and security on personal devices. WIP support is built into Windows.
|
||||
|
||||
[!INCLUDE [Deprecate Windows Information Protection](../security/information-protection/windows-information-protection/includes/wip-deprecation.md)]
|
||||
|
||||
<a name='integration-with-azure-ad'></a>
|
||||
[!INCLUDE [Deprecate Windows Information Protection](mdm/includes/wip-deprecation.md)]
|
||||
|
||||
## Integration with Microsoft Entra ID
|
||||
|
||||
@ -25,7 +23,7 @@ Regular non administrator users can enroll to MAM.
|
||||
|
||||
## Understand Windows Information Protection
|
||||
|
||||
WIP takes advantage of [built-in policies](/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip) to protect company data on the device. To protect user-owned applications on personal devices, WPJ limits enforcement of WIP policies to [enlightened apps](/windows/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip) and WIP-aware apps. Enlightened apps can differentiate between corporate and personal data, correctly determining which to protect based on WIP policies. WIP-aware apps indicate to Windows that they don't handle personal data, and therefore, it's safe for Windows to protect data on their behalf.
|
||||
WIP takes advantage of [built-in policies](/previous-versions/windows/it-pro/windows-10/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip) to protect company data on the device. To protect user-owned applications on personal devices, WPJ limits enforcement of WIP policies to [enlightened apps](/previous-versions/windows/it-pro/windows-10/security/information-protection/windows-information-protection/enlightened-microsoft-apps-and-wip) and WIP-aware apps. Enlightened apps can differentiate between corporate and personal data, correctly determining which to protect based on WIP policies. WIP-aware apps indicate to Windows that they don't handle personal data, and therefore, it's safe for Windows to protect data on their behalf.
|
||||
|
||||
To make applications WIP-aware, app developers need to include the following data in the app resource file.
|
||||
|
||||
@ -78,7 +76,7 @@ Since the [Poll](mdm/dmclient-csp.md#deviceproviderprovideridpoll) node isn't pr
|
||||
|
||||
## Supported CSPs
|
||||
|
||||
WIP supports the following configuration service providers (CSPs). All other CSPs are blocked. Note the list may change later based on customer feedback:
|
||||
WIP supports the following configuration service providers (CSPs). All other CSPs are blocked. Note the list can change later based on customer feedback:
|
||||
|
||||
- [AppLocker CSP](mdm/applocker-csp.md) for configuration of Windows Information Protection enterprise allowed apps.
|
||||
- [ClientCertificateInstall CSP](mdm/clientcertificateinstall-csp.md) for installing VPN and Wi-Fi certs.
|
||||
|
@ -10,11 +10,12 @@ metadata:
|
||||
ms.collection:
|
||||
- highpri
|
||||
- tier1
|
||||
- essentials-manage
|
||||
author: vinaypamnani-msft
|
||||
ms.author: vinpa
|
||||
manager: aaroncz
|
||||
ms.date: 01/18/2024
|
||||
localization_priority: medium
|
||||
ms.date: 07/08/2024
|
||||
ms.localizationpriority: medium
|
||||
|
||||
# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
title: Manage Windows devices in your organization - transitioning to modern management
|
||||
description: This article offers strategies for deploying and managing Windows devices, including deploying Windows in a mixed environment.
|
||||
ms.localizationpriority: medium
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
ms.topic: conceptual
|
||||
---
|
||||
|
||||
# Manage Windows devices in your organization - transitioning to modern management
|
||||
|
||||
Use of personal devices for work, and employees working outside the office, may be changing how your organization manages devices. Certain parts of your organization might require deep, granular control over devices, while other parts might seek lighter, scenario-based management that empowers the modern workforce. Windows offers the flexibility to respond to these changing requirements, and can easily be deployed in a mixed environment. You can shift the percentage of Windows devices gradually, following the normal upgrade schedules used in your organization.
|
||||
Use of personal devices for work, and users working outside the office, may be changing how your organization manages devices. Certain parts of your organization might require deep, granular control over devices, while other parts might seek lighter, scenario-based management that empowers the modern workforce. Windows offers the flexibility to respond to these changing requirements, and can easily be deployed in a mixed environment. You can shift the percentage of Windows devices gradually, following the normal upgrade schedules used in your organization.
|
||||
|
||||
Your organization can support various operating systems across a wide range of device types, and manage them through a common set of tools such as Microsoft Configuration Manager, Microsoft Intune, or other third-party products. This "managed diversity" enables you to empower your users to benefit from the productivity enhancements available on their new Windows devices (including rich touch and ink support), while still maintaining your standards for security and manageability. It can help you and your organization benefit from Windows faster.
|
||||
|
||||
@ -45,13 +45,13 @@ You can use Windows and services like [Microsoft Entra ID](/azure/active-directo
|
||||
|
||||
You can envision user and device management as falling into these two categories:
|
||||
|
||||
- **Corporate (CYOD) or personal (BYOD) devices used by mobile users for SaaS apps such as Office 365.** With Windows, your employees can self-provision their devices:
|
||||
- **Corporate (CYOD) or personal (BYOD) devices used by mobile users for SaaS apps such as Office 365.** With Windows, your users can self-provision their devices:
|
||||
|
||||
- For corporate devices, they can set up corporate access with [Microsoft Entra join](/azure/active-directory/devices/overview). When you offer them Microsoft Entra join with automatic Intune MDM enrollment, they can bring devices into a corporate-managed state in [*one step*](https://techcommunity.microsoft.com/t5/azure-active-directory-identity/windows-10-azure-ad-and-microsoft-intune-automatic-mdm/ba-p/244067), all from the cloud.
|
||||
|
||||
Microsoft Entra join is also a great solution for temporary staff, partners, or other part-time employees. These accounts can be kept separate from the on-premises AD domain but still access needed corporate resources.
|
||||
Microsoft Entra join is also a great solution for temporary staff, partners, or other part-time users. These accounts can be kept separate from the on-premises AD domain but still access needed corporate resources.
|
||||
|
||||
- Likewise, for personal devices, employees can use a new, simplified [BYOD experience](/azure/active-directory/devices/overview) to add their work account to Windows, then access work resources on the device.
|
||||
- Likewise, for personal devices, users can use a new, simplified [BYOD experience](/azure/active-directory/devices/overview) to add their work account to Windows, then access work resources on the device.
|
||||
|
||||
- **Domain joined PCs and tablets used for traditional applications and access to important resources.** These applications and resources may be traditional ones that require authentication or accessing highly sensitive or classified resources on-premises.
|
||||
|
||||
@ -71,7 +71,7 @@ As you review the roles in your organization, you can use the following generali
|
||||
|
||||
## Settings and configuration
|
||||
|
||||
Your configuration requirements are defined by multiple factors, including the level of management needed, the devices and data managed, and your industry requirements. Meanwhile, employees are frequently concerned about IT applying strict policies to their personal devices, but they still want access to corporate email and documents. You can create a consistent set of configurations across PCs, tablets, and phones through the common MDM layer.
|
||||
Your configuration requirements are defined by multiple factors, including the level of management needed, the devices and data managed, and your industry requirements. Meanwhile, users are frequently concerned about IT applying strict policies to their personal devices, but they still want access to corporate email and documents. You can create a consistent set of configurations across PCs, tablets, and phones through the common MDM layer.
|
||||
|
||||
- **MDM**: MDM gives you a way to configure settings that achieve your administrative intent without exposing every possible setting. (In contrast, group policy exposes fine-grained settings that you control individually.) One benefit of MDM is that it enables you to apply broader privacy, security, and application management settings through lighter and more efficient tools. MDM also allows you to target Internet-connected devices to manage policies without using group policy that requires on-premises domain-joined devices. This provision makes MDM the best choice for devices that are constantly on the go.
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
---
|
||||
title: Manage Copilot in Windows
|
||||
description: Learn how to manage Copilot in Windows for commercial environments using MDM and group policy. Learn about the chat providers available to Copilot in Windows.
|
||||
ms.topic: how-to
|
||||
title: Updated Windows and Microsoft Copilot experience
|
||||
description: Learn about changes to the Copilot in Windows experience for commercial environments and how to configure it for your organization.
|
||||
ms.topic: overview
|
||||
ms.subservice: windows-copilot
|
||||
ms.date: 06/13/2024
|
||||
ms.date: 09/18/2024
|
||||
ms.author: mstewart
|
||||
author: mestew
|
||||
ms.collection:
|
||||
@ -13,226 +13,66 @@ appliesto:
|
||||
- ✅ <a href="https://learn.microsoft.com/windows/release-health/supported-versions-windows-client" target="_blank">Windows 11, version 22H2 or later</a>
|
||||
---
|
||||
|
||||
# Manage Copilot in Windows
|
||||
<!--8445848-->
|
||||
# Updated Windows and Microsoft Copilot experience
|
||||
<!--8445848, 9294806-->
|
||||
|
||||
>**Looking for consumer information?** See [Welcome to Copilot in Windows](https://support.microsoft.com/windows/welcome-to-copilot-in-windows-675708af-8c16-4675-afeb-85a5a476ccb0).
|
||||
>**Looking for consumer information?** See [Welcome to Copilot in Windows](https://support.microsoft.com/topic/675708af-8c16-4675-afeb-85a5a476ccb0).
|
||||
|
||||
> [!Note]
|
||||
> - This article and the [TurnOffWindowsCopilot](mdm/policy-csp-windowsai.md#turnoffwindowscopilot) policy isn't for the [new Copilot experience](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/evolving-copilot-in-windows-for-your-workforce/ba-p/4141999) that's in some [Windows Insider builds](https://blogs.windows.com/windows-insider/2024/05/22/releasing-windows-11-version-24h2-to-the-release-preview-channel/) and that will be gradually rolling out to Windows 11 and Windows 10 devices. <!--9048085-->
|
||||
## Enhanced data protection with enterprise data protection
|
||||
|
||||
Copilot in Windows provides centralized generative AI assistance to your users right from the Windows desktop. Copilot in Windows appears as a side bar docked on the Windows desktop and is designed to help users get things done in Windows. Copilot in Windows can perform common tasks in Windows like changing Windows settings, which makes it different from the browser-based [Copilot in Edge](/copilot/edge). However, both user experiences, Copilot in Windows and Copilot in Edge, can share the same underlying chat provider platform. It's important for organizations to properly configure the chat provider platform that Copilot in Windows uses, since it's possible for users to copy and paste sensitive information into the chat.
|
||||
The Copilot experience on Windows is changing to enhance data security, privacy, compliance, and simplify the user experience, for users signed in with a Microsoft Entra work or school account. [Microsoft Copilot will offer enterprise data protection](https://techcommunity.microsoft.com/t5/copilot-for-microsoft-365/updates-to-microsoft-copilot-to-bring-enterprise-data-protection/ba-p/4217152) at no additional cost and redirect users to a new simplified interface designed for work and education. [Enterprise data protection (EDP)](/copilot/microsoft-365/enterprise-data-protection) refers to controls and commitments, under the Data Protection Addendum and Product Terms, that apply to customer data for users of Copilot for Microsoft 365 and Microsoft Copilot. This means that security, privacy, compliance controls and commitments available for Copilot for Microsoft 365 will extend to Microsoft Copilot prompts and responses. Prompts and responses are protected by the same terms and commitments that are widely trusted by our customers - not only for Copilot for Microsoft 365, but also for emails in Exchange and files in SharePoint. This is an improvement on top of the previous commercial data protection (CDP) promise. This update is rolling out now. For more information, see the [Microsoft Copilot updates and enterprise data protection FAQ](/copilot/edpfaq).
|
||||
|
||||
> [!IMPORTANT]
|
||||
> To streamline the user experience, updates to the Copilot entry points in Windows are being made for users. **Copilot in Windows (preview) will be removed from Windows**. The experience will slightly vary depending on whether your organization has already opted into using Copilot in Windows (preview) or not.
|
||||
|
||||
## Copilot in Windows (preview) isn't enabled
|
||||
|
||||
If your organization hasn't enabled Copilot in Windows (preview), your existing preferences are respected. Neither the Microsoft Copilot app nor the Microsoft 365 app are pinned to the taskbar. To prepare for the eventual removal of the [Copilot in Windows policy](/windows/client-management/mdm/policy-csp-windowsai#turnoffwindowscopilot), admins should [set Microsoft Copilot pinning options](/copilot/microsoft-365/pin-copilot) in the Microsoft 365 admin center.
|
||||
|
||||
> [!NOTE]
|
||||
> Although we won't be pinning any app to the taskbar by default, IT has the capability to use policies to enforce their preferred app pinning.
|
||||
|
||||
## Copilot in Windows (preview) is enabled
|
||||
|
||||
If you had previously activated Copilot in Windows (in preview) for your workforce, we want to thank you for your enthusiasm. To provide the best Copilot experience for your employees moving forward, and support greater efficiency and productivity, we won't automatically pin the Microsoft 365 app to the taskbar in Windows. Rather, we'll ensure that you have control over how you enable the Copilot experience within your organization. Our focus remains on empowering IT to seamlessly manage AI experiences and adopt those experiences at a pace that suits your organizational needs.
|
||||
|
||||
If you have already activated Copilot in Windows (preview) - and want your users to have uninterrupted access to Copilot on the taskbar after the update - use the [configuration options](/windows/configuration/taskbar/?pivots=windows-11) to pin the Microsoft 365 app to the taskbar as Copilot in Windows (preview) icon will be removed from the taskbar.
|
||||
|
||||
## Users signing in to new PCs with Microsoft Entra accounts
|
||||
|
||||
For users signing in to new PCs with work or school accounts, the following experience occurs:
|
||||
|
||||
- The Microsoft 365 app is pinned to the taskbar - this is the app comes preinstalled with Windows and includes convenient access to Office apps such as Word, PowerPoint, etc.
|
||||
- Users that have the Microsoft 365 Copilot license will have Microsoft Copilot pinned by default inside the Microsoft 365 app.
|
||||
- Within the Microsoft 365 app, the Microsoft Copilot icon is situated next to the home button.
|
||||
- Microsoft Copilot (`web` grounding chat) isn't the same as Microsoft 365 Copilot (`web` and `work` scope), which is a separate add-on license.
|
||||
- Microsoft Copilot is available at no additional cost to customers with a Microsoft Entra account. Microsoft Copilot is the entry point for Copilot at work. While the Copilot chat experience helps users ground their conversations in web data, Microsoft 365 Copilot allows users to incorporate both web and work data they have access to into their conversations by switching between work and web modes in Business Chat.
|
||||
- For users with the Microsoft 365 Copilot license, they can toggle between the web grounding-based chat capabilities of Microsoft Copilot and the work scoped chat capabilities of Microsoft 365 Copilot.
|
||||
- Customers that don't have a license for Microsoft 365 Copilot are asked if they want to pin Microsoft Copilot to ensure they have easy access to Copilot. To set the default behavior, admins should [set Microsoft Copilot pinning options](/copilot/microsoft-365/pin-copilot) in the Microsoft 365 admin center.
|
||||
- If admins elect not to pin Copilot and indicate that users may be asked, users will be asked to pin it themselves in the Microsoft 365 app, Outlook, and Teams.
|
||||
- If admins elect not to pin Microsoft Copilot and indicate that users may not be asked, Microsoft Copilot won't be available via the Microsoft 365 app, Outlook, or Teams. Users will have access to Microsoft Copilot from <www.microsoft.com/copilot> unless that URL is blocked by the IT admin.
|
||||
- If the admins make no selection, users will be asked to pin Microsoft Copilot by themselves for easy access.
|
||||
|
||||
|
||||
## Configure Copilot in Windows for commercial environments
|
||||
## When will this happen?
|
||||
|
||||
At a high level, managing and configuring Copilot in Windows for your organization involves the following steps:
|
||||
The update to Microsoft Copilot to offer enterprise data protection is rolling out now.
|
||||
|
||||
> [!Note]
|
||||
> - Copilot in Windows is currently available as a preview. We will continue to experiment with new ideas and methods using your feedback.
|
||||
> - Copilot in Windows (in preview) is available in select global markets and will be rolled out to additional markets over time. [Learn more](https://www.microsoft.com/windows/copilot-ai-features#faq). <!--8737645-->
|
||||
The shift to the Microsoft 365 app as the entry point for Microsoft Copilot is coming soon. Changes will be rolled out to managed PCs starting with the optional nonsecurity preview release on September 24, 2024, and following with the monthly security update release on October 8 for all supported versions of Windows 11. These changes will be applied to Windows 10 PCs the month after. This update is replacing the current Copilot in Windows experience.
|
||||
|
||||
1. Understand the [available chat provider platforms for Copilot in Windows](#chat-provider-platforms-for-copilot-in-windows)
|
||||
1. [Configure the chat provider platform](#configure-the-chat-provider-platform-that-copilot-in-windows-uses) used by Copilot in Windows
|
||||
1. Ensure the [Copilot in Windows user experience](#ensure-the-copilot-in-windows-user-experience-is-enabled) is enabled
|
||||
1. Verify [other settings that might affect Copilot in Windows](#other-settings-that-might-affect-copilot-in-windows-and-its-underlying-chat-provider) and its underlying chat provider
|
||||
> [!IMPORTANT]
|
||||
> Want to get started? You can enable the Microsoft Copilot experience for your users now by using the [TurnOffWindowsCopilot](/windows/client-management/mdm/policy-csp-windowsai#turnoffwindowscopilot) policy and pin the Microsoft 365 app using the existing policies for taskbar pinning.
|
||||
|
||||
|
||||
## Policy information
|
||||
|
||||
Admins should configure the [pinning options](/copilot/microsoft-365/pin-copilot) to enable access to Microsoft Copilot within the Microsoft 365 app in the Microsoft 365 admin center.
|
||||
|
||||
The following policy to manage Copilot in Windows (preview) will be removed in the future:
|
||||
|
||||
Organizations that aren't ready to use Copilot in Windows can disable it until they're ready with the **Turn off Windows Copilot** policy. This policy setting allows you to turn off Copilot in Windows. If you enable this policy setting, users can't use Copilot in Windows and the icon doesn't appear on the taskbar either. If you disable or don't configure this policy setting, users can use Copilot in Windows when it's available to them.
|
||||
|
||||
| | Setting |
|
||||
|---|---|
|
||||
| **CSP** | ./User/Vendor/MSFT/Policy/Config/WindowsAI/[TurnOffWindowsCopilot](mdm/policy-csp-windowsai.md#turnoffwindowscopilot) |
|
||||
| **Group policy** | User Configuration > Administrative Templates > Windows Components > Windows Copilot > **Turn off Windows Copilot** |
|
||||
|
||||
|
||||
## Chat provider platforms for Copilot in Windows
|
||||
|
||||
Copilot in Windows can use either Microsoft Copilot, Copilot with commercial data protection, or Copilot with Graph-grounded chat as its chat provider platform. The chat provider platform is the underlying service that Copilot in Windows uses to communicate with the user. The chat provider platform is important because it's possible for users to copy and paste sensitive information into the chat. Each chat provider platform has different privacy and security protections.
|
||||
|
||||
### Copilot
|
||||
|
||||
Copilot is a consumer experience and has a daily limit on the number of chat queries per user when not signed in with a Microsoft account. It doesn't offer the same data protection as Copilot with commercial data protection.
|
||||
|
||||
- [Copilot in Windows: Your data and privacy](https://support.microsoft.com/windows/3e265e82-fc76-4d0a-afc0-4a0de528b73a)
|
||||
- The privacy statement for using Copilot follows the [Microsoft privacy statement](https://privacy.microsoft.com/privacystatement) including the product specific guidance in the Microsoft privacy statement for **Bing** under the **Search, Microsoft Edge, and artificial intelligence** section.
|
||||
|
||||
> [!Note]
|
||||
> Copilot doesn't have access to Microsoft 365 Apps data, such as email, calendar, or files using Microsoft Graph, unlike [Microsoft Copilot with Graph-grounded chat](#microsoft-copilot-with-graph-grounded-chat).
|
||||
|
||||
### Copilot with commercial data protection
|
||||
|
||||
[Copilot with commercial data protection](/copilot/overview) is intended for commercial use scenarios and offers commercial data protection. The following privacy and security protections apply for Copilot with commercial data protection:
|
||||
|
||||
- User and organizational data is protected, chat data isn't saved, and your data isn't used to train the underlying large language models (LLMs). Because of this protection, chat history, 3rd-party plugins, and the Bing app for iOS or Android aren't currently supported. Copilot with commercial data protection is accessible from mobile browsers, including Edge mobile on iOS and Android. Review the Copilot with commercial data protection [privacy statement](/copilot/privacy-and-protections).
|
||||
- Copilot with commercial data protection is available, at no additional cost, for the following licenses:
|
||||
- Microsoft 365 E3 or E5
|
||||
- Microsoft 365 F3 <!--8681080, 8681034-->
|
||||
- Microsoft 365 A1, A3, or A5 <!--8681034-->
|
||||
- Copilot with commercial data protection is limited to faculty and higher education students over 18 years of age
|
||||
- Office 365 A1, A3, or A5 <!--8681034-->
|
||||
- Copilot with commercial data protection is limited to faculty and higher education students over 18 years of age
|
||||
- Microsoft 365 Business Standard
|
||||
- Microsoft 365 Business Premium
|
||||
|
||||
> [!Note]
|
||||
> Copilot with commercial data protection doesn't have access to Microsoft 365 Apps data, such as email, calendar, or files using Microsoft Graph, unlike [Microsoft Copilot with Graph-grounded chat](#microsoft-copilot-with-graph-grounded-chat).
|
||||
|
||||
### Microsoft Copilot with Graph-grounded chat
|
||||
<!---8639813-->
|
||||
Copilot with Graph-grounded chat enables you to use your work content and context in Copilot for Windows. With Graph-grounded chat, you can draft content and get answers to questions, all securely grounded in your Microsoft Graph data such as user documents, emails, calendar, chats, meetings, and contacts. When you use the **Work** toggle in Copilot in Windows to query Graph-grounded chat, the following high-level privacy and security protections apply:
|
||||
|
||||
- Prompts, responses, and data accessed through Microsoft Graph aren't used to train foundational LLMs.
|
||||
- It only surfaces organizational data to which individual users have at least view permissions.
|
||||
- The information contained within your prompts, the data retrieved, and the generated responses remain within your tenant's service boundary. For more information about privacy and security for Graph-grounded chat, see [Data, Privacy, and Security for Microsoft Copilot for Microsoft 365](/microsoft-365-copilot/microsoft-365-copilot-privacy)
|
||||
- Copilot with Graph-grounded chat is part of Copilot for Microsoft 365. Copilot for Microsoft 365 is an add-on plan. For more information about prerequisites and license requirements, see [Microsoft Copilot for Microsoft 365 requirements](/microsoft-365-copilot/microsoft-365-copilot-requirements#license-requirements).
|
||||
|
||||
## Configure the chat provider platform that Copilot in Windows uses
|
||||
|
||||
Configuring the correct chat provider platform for Copilot in Windows is important because it's possible for users to copy and paste sensitive information into the chat. Each chat provider platform has different privacy and security protections. Once you select the chat provider platform that you want to use for Copilot in Windows, ensure it's configured for your organization's users. The following sections describe how to configure the chat provider platform that Copilot in Windows uses.
|
||||
|
||||
### Microsoft Copilot as the chat provider platform
|
||||
|
||||
Copilot is used as the default chat provider platform for Copilot in Windows when any of the following conditions occur:
|
||||
|
||||
- Commercial data protection isn't configured for the user.
|
||||
- Commercial data protection is [turned off](/copilot/manage).
|
||||
- The user isn't assigned a license that includes Copilot with commercial data protection.
|
||||
- The user isn't signed in with a Microsoft Entra account that's licensed for Copilot with commercial data protection.
|
||||
|
||||
### Copilot with commercial data protection as the chat provider platform (recommended for commercial environments)
|
||||
|
||||
To verify that Copilot with commercial data protection is enabled for the user as the chat provider platform for Copilot in Windows, use the following instructions:
|
||||
|
||||
1. Sign into the [Microsoft 365 admin center](https://admin.microsoft.com/).
|
||||
1. In the admin center, select **Users** > **Active users** and verify that users are assigned a license that includes **Copilot**. Copilot with commercial data protection is included and enabled by default for users that are assigned one of the following licenses:
|
||||
- Microsoft 365 E3 or E5
|
||||
- Microsoft 365 F3 <!--8681080, 8681034-->
|
||||
- Microsoft 365 A1, A3, or A5
|
||||
- Copilot with commercial data protection is limited to faculty and higher education students over 18 years of age <!--8681034-->
|
||||
- Office 365 A1, A3, or A5 <!--8681034-->
|
||||
- Copilot with commercial data protection is limited to faculty and higher education students over 18 years of age <!--8681034-->
|
||||
- Microsoft 365 Business Standard
|
||||
- Microsoft 365 Business Premium
|
||||
1. To verify that commercial data protection is enabled for the user, select the user's **Display name** to open the flyout menu.
|
||||
1. In the flyout, select the **Licenses & apps** tab, then expand the **Apps** list.
|
||||
1. Verify that **Copilot** is enabled for the user.
|
||||
1. If you prefer to view a user's licenses from the [Azure portal](https://portal.azure.com), you'll find it under **Microsoft Entra ID** > **Users**. Select the user's name, then **Licenses**. Select a license that includes **Copilot**, and verify that it's listed as **On**. If you previously disabled Copilot with commercial data protection (formerly Bing Chat Enterprise), see [Manage Copilot](/copilot/manage) for verifying that commercial data protection is enabled for your users.
|
||||
1. Copilot with commercial data protection is used as the chat provider platform for users when the following conditions are met:
|
||||
- Users have an eligible license, commercial data protection in Copilot is enabled, and the [Copilot in Windows user experience is enabled](#enable-the-copilot-in-windows-user-experience-for-windows-11-version-22h2-clients).
|
||||
- Users are signed in with their Microsoft Entra ID (work accounts)
|
||||
- Users can sign into Windows with their Microsoft Entra ID
|
||||
- For Active Directory users on Windows 11, a Microsoft Entra ID in the Web Account Manager (WAM) authentication broker can be used. Entra IDs in Microsoft Edge profiles and Microsoft 365 Apps would both be in WAM. <!--8470699-->
|
||||
|
||||
The following sample PowerShell script connects to Microsoft Graph and lists which users that have Copilot with commercial data protection enabled and disabled:
|
||||
|
||||
```powershell
|
||||
# Install Microsoft Graph module
|
||||
if (-not (Get-Module Microsoft.Graph.Users)) {
|
||||
Install-Module Microsoft.Graph.Users
|
||||
}
|
||||
|
||||
# Connect to Microsoft Graph
|
||||
Connect-MgGraph -Scopes 'User.Read.All'
|
||||
|
||||
# Get all users
|
||||
$users = Get-MgUser -All -ConsistencyLevel eventual -Property Id, DisplayName, Mail, UserPrincipalName, AssignedPlans
|
||||
|
||||
# Users with Copilot with commercial data protection enabled
|
||||
$users | Where-Object { $_.AssignedPlans -and $_.AssignedPlans.Service -eq "Bing" -and $_.AssignedPlans.CapabilityStatus -eq "Enabled" } | Format-Table
|
||||
|
||||
# Users without Copilot with commercial data protection enabled
|
||||
$users | Where-Object { -not $_.AssignedPlans -or ($_.AssignedPlans.Service -eq "Bing" -and $_.AssignedPlans.CapabilityStatus -ne "Enabled") } | Format-Table
|
||||
```
|
||||
|
||||
When Copilot with commercial data protection is the chat provider platform, the user experience clearly states that **Your personal and company data are protected in this chat**. There's also a shield symbol labeled **Protected** at the top of the Copilot in Windows sidebar and the provider is listed under the Copilot logo when the sidebar is first opened. The following image shows the message that's displayed in this scenario:
|
||||
|
||||
:::image type="content" source="images/copilot-commercial-data-protection-chat-provider.png" alt-text="Screenshot of the Copilot in Windows user experience when Copilot with commercial data protection is the chat provider." lightbox="images/copilot-commercial-data-protection-chat-provider.png":::
|
||||
|
||||
|
||||
### Copilot with Graph-grounded chat as the chat provider platform
|
||||
<!---8639813-->
|
||||
|
||||
When users are assigned [Microsoft Copilot for Microsoft 365](/microsoft-365-copilot/microsoft-365-copilot-setup) licenses, they're automatically presented with a **Work** toggle in Copilot for Windows. When **Work** is selected, Copilot with Graph-grounded chat is the chat provider platform used by Copilot in Windows. When using Graph-grounded chat, user prompts can securely access Microsoft Graph content, such as emails, chats, and documents.
|
||||
|
||||
:::image type="content" source="images/work-toggle-graph-grounded-chat.png" alt-text="Screenshot of the Copilot in Windows user experience when the work toggle is selected and the chart provider is Copilot with Graph-grounded chat." lightbox="images/work-toggle-graph-grounded-chat.png":::
|
||||
|
||||
## Ensure the Copilot in Windows user experience is enabled
|
||||
|
||||
Once you've configured the chat provider platform that Copilot in Windows uses, you need to ensure that the Copilot in Windows user experience is enabled. Ensuring the Copilot in Windows user experience is enabled varies by the Windows version.
|
||||
|
||||
### Enable the Copilot in Windows user experience for Windows 11, version 22H2 clients
|
||||
|
||||
Copilot in Windows isn't technically enabled by default for managed Windows 11, version 22H2 devices because it's behind a [temporary enterprise control](/windows/whats-new/temporary-enterprise-feature-control). For the purposes of temporary enterprise control, a system is considered managed if it's configured to get updates from Windows Update for Business or [Windows Server Update Services (WSUS)](/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus). Clients that get updates from Microsoft Configuration Manager, Microsoft Intune, and Windows Autopatch are considered managed since their updates ultimately come from WSUS or Windows Updates for Business.
|
||||
|
||||
To enable Copilot in Windows for managed Windows 11, version 22H2 devices, you need to enable features under temporary enterprise control for these devices. Since enabling features behind [temporary enterprise control](/windows/whats-new/temporary-enterprise-feature-control) can be impactful, you should test this change before deploying it broadly. To enable Copilot in Windows for managed Windows 11, version 22H2 devices, use the following instructions:
|
||||
|
||||
1. Verify that the user accounts have the correct chat provider platform configured for Copilot in Windows. For more information, see the [Configure the chat provider platform that Copilot in Windows uses](#configure-the-chat-provider-platform-that-copilot-in-windows-uses) section.
|
||||
1. Apply a policy to enable features under temporary enterprise control for managed clients. The following polices apply to Windows 11, version 22H2 with [KB5022845](https://support.microsoft.com/topic/february-14-2023-kb5022845-os-build-22621-1265-90a807f4-d2e8-486e-8a43-d09e66319f38) and later:
|
||||
- **Group Policy:** Computer Configuration\Administrative Templates\Windows Components\Windows Update\Manage end user experience\\**Enable features introduced via servicing that are off by default**
|
||||
|
||||
- **CSP**: ./Device/Vendor/MSFT/Policy/Config/Update/[AllowTemporaryEnterpriseFeatureControl](/windows/client-management/mdm/policy-csp-update?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json#allowtemporaryenterprisefeaturecontrol)
|
||||
- In the Intune [settings catalog](/mem/intune/configuration/settings-catalog), this setting is named **Allow Temporary Enterprise Feature Control** under the **Windows Update for Business** category.
|
||||
> [!Important]
|
||||
> For the purposes of temporary enterprise control, a system is considered managed if it's configured to get updates from Windows Update for Business or [Windows Server Update Services (WSUS)](/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus). Clients that get updates from Microsoft Configuration Manager, Microsoft Intune, and Windows Autopatch are considered managed since their updates ultimately come from WSUS or Windows Updates for Business.
|
||||
|
||||
1. Copilot in Windows will be initially deployed to devices using a controlled feature rollout (CFR). Depending on how soon you start deploying Copilot in Windows, you might also need to [enable optional updates](/windows/deployment/update/waas-configure-wufb#enable-optional-updates) with one of the following policies:
|
||||
- **Group Policy:** Computer Configuration\Administrative Templates\Windows Components\Windows Update\Windows Update for Business\\**Allow updates to Windows optional features**
|
||||
- **CSP**: ./Device/Vendor/MSFT/Policy/Config/Update/[AllowOptionalUpdates](/windows/client-management/mdm/policy-csp-update?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json#allowoptionalupdates)
|
||||
- In the Intune [settings catalog](/mem/intune/configuration/settings-catalog), this setting is named **Allow optional updates** under the **Windows Update for Business** category.
|
||||
|
||||
The optional updates policy applies to Windows 11, version 22H2 with [KB5029351](https://support.microsoft.com/help/5029351) and later. When setting policy for [optional updates](/windows/deployment/update/waas-configure-wufb#enable-optional-updates), ensure you select one of the following options that includes CFRs:
|
||||
- Automatically receive optional updates (including CFRs)
|
||||
- This selection places devices into an early CFR phase
|
||||
- Users can select which optional updates to receive
|
||||
|
||||
1. Windows 11, version 22H2 devices display Copilot in Windows when the CFR is enabled for the device. CFRs are enabled for devices in phases, sometimes called waves.
|
||||
|
||||
### Enable the Copilot in Windows user experience for Windows 11, version 23H2 clients
|
||||
|
||||
Once a managed device installs the version 23H2 update, the [temporary enterprise control](/windows/whats-new/temporary-enterprise-feature-control) for Copilot in Windows is removed. This means that Copilot in Windows is enabled by default for these devices.
|
||||
|
||||
While the user experience for Copilot in Windows is enabled by default, you still need to verify that the correct chat provider platform configured for Copilot in Windows. While every effort is made to ensure that Copilot with commercial data protection is the default chat provider for commercial organizations, it's still possible that Copilot might still be used if the configuration is incorrect, or if other settings are affecting Copilot in Windows. For more information, see:
|
||||
- [Configure the chat provider platform that Copilot in Windows uses](#configure-the-chat-provider-platform-that-copilot-in-windows-uses)
|
||||
- [Other settings that might affect Copilot in Windows and its underlying chat provider](#other-settings-that-might-affect-copilot-in-windows-and-its-underlying-chat-provider)
|
||||
|
||||
Organizations that aren't ready to use Copilot in Windows can disable it until they're ready by using the following policy:
|
||||
|
||||
- **CSP**: ./User/Vendor/MSFT/Policy/Config/WindowsAI/[TurnOffWindowsCopilot](mdm/policy-csp-windowsai.md#turnoffwindowscopilot)
|
||||
- **Group Policy**: User Configuration\Administrative Templates\Windows Components\Windows Copilot\\**Turn off Windows Copilot**
|
||||
|
||||
## Other settings that might affect Copilot in Windows and its underlying chat provider
|
||||
|
||||
Copilot in Windows and [Copilot in Edge](/copilot/edge), can share the same underlying chat provider platform. This also means that some settings that affect Copilot, Copilot with commercial data protection, and Copilot in Edge can also affect Copilot in Windows. The following common settings might affect Copilot in Windows and its underlying chat provider:
|
||||
|
||||
### Bing settings
|
||||
|
||||
- If [SafeSearch](https://support.microsoft.com/topic/946059ed-992b-46a0-944a-28e8fb8f1814) is enabled for Bing, it can block chat providers for Copilot in Windows. The following network changes block the chat providers for Copilot in Windows and Edge:
|
||||
|
||||
- Mapping `www.bing.com` to `strict.bing.com`
|
||||
- Mapping `edgeservices.bing.com` to `strict.bing.com`
|
||||
- Blocking `bing.com`
|
||||
|
||||
- If Copilot with commercial data protection is turned on for your organization, users can access it through Edge mobile when signed in with their work account. If you would like to remove the Bing Chat button from the Edge mobile interface, you can use an [Intune Mobile Application Management (MAM) policy for Microsoft Edge](/mem/intune/apps/manage-microsoft-edge) to remove it:
|
||||
|
||||
| Key | Value |
|
||||
|:---------------------------------------------|:---------------------------------------------------------------------------|
|
||||
| com.microsoft.intune.mam.managedbrowser.Chat | **true** (default) shows the interface </br> **false** hides the interface |
|
||||
|
||||
### Microsoft Edge policies
|
||||
|
||||
- If [HubsSidebarEnabled](/deployedge/microsoft-edge-policies#hubssidebarenabled) is set to `disabled`, it blocks Copilot in Edge from being displayed.
|
||||
- If [DiscoverPageContextEnabled](/deployedge/microsoft-edge-policies#discoverpagecontextenabled) is set to `disabled`, it blocks Copilot from reading the current webpage context. The chat providers need access to the current webpage context for providing page summarizations and sending user selected strings from the webpage into the chat provider.
|
||||
|
||||
### Search settings
|
||||
|
||||
- Setting [ConfigureSearchOnTaskbarMode](/windows/client-management/mdm/policy-csp-search#configuresearchontaskbarmode) to `Hide` might interfere with the Copilot in Windows user experience.
|
||||
- Setting [AllowSearchHighlights](/windows/client-management/mdm/policy-csp-search#allowsearchhighlights) to `disabled` might interfere with the Copilot in Windows and the Copilot in Edge user experiences.
|
||||
|
||||
### Account settings
|
||||
|
||||
- The [AllowMicrosoftAccountConnection](/windows/client-management/mdm/policy-csp-accounts#allowmicrosoftaccountconnection) setting might allow users to use their personal Microsoft account with Copilot in Windows and Copilot in Edge.
|
||||
- The [RestrictToEnterpriseDeviceAuthenticationOnly](/windows/client-management/mdm/policy-csp-accounts#restricttoenterprisedeviceauthenticationonly) setting might prevent access to chat providers since it blocks user authentication.
|
||||
|
||||
## Microsoft's commitment to responsible AI
|
||||
|
||||
Microsoft has been on a responsible AI journey since 2017, when we defined our principles and approach to ensuring this technology is used in a way that is driven by ethical principles that put people first. For more about our responsible AI journey, the ethical principles that guide us, and the tooling and capabilities we've created to assure that we develop AI technology responsibly, see [Responsible AI](https://www.microsoft.com/ai/responsible-ai).
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Collect MDM logs
|
||||
description: Learn how to collect MDM logs. Examining these logs can help diagnose enrollment or device management issues in Windows devices managed by an MDM server.
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
ms.collection:
|
||||
- highpri
|
||||
- tier2
|
||||
@ -40,7 +40,7 @@ mdmdiagnosticstool.exe -area "DeviceEnrollment;DeviceProvisioning;Autopilot" -zi
|
||||
|
||||
### Understanding zip structure
|
||||
|
||||
The zip file has logs according to the areas that were used in the command. This explanation is based on DeviceEnrollment, DeviceProvisioning and Autopilot areas. It applies to the zip files collected via command line or Feedback Hub
|
||||
The zip file has logs according to the areas that were used in the command. This explanation is based on DeviceEnrollment, DeviceProvisioning, and Autopilot areas. It applies to the zip files collected via command line or Feedback Hub
|
||||
|
||||
- DiagnosticLogCSP_Collector_Autopilot_*: Autopilot etls
|
||||
- DiagnosticLogCSP_Collector_DeviceProvisioning_*: Provisioning etls (Microsoft-Windows-Provisioning-Diagnostics-Provider)
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Diagnose MDM enrollment failures
|
||||
description: Learn how to diagnose enrollment failures for Windows devices
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Diagnose MDM enrollment
|
||||
|
@ -5,12 +5,12 @@ ms.topic: conceptual
|
||||
ms.collection:
|
||||
- highpri
|
||||
- tier2
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# MDM enrollment of Windows devices
|
||||
|
||||
In today's cloud-first world, enterprise IT departments increasingly want to let employees use their own devices, or even choose and purchase corporate-owned devices. Connecting your devices to work makes it easy for you to access your organization's resources, such as apps, the corporate network, and email.
|
||||
In today's cloud-first world, enterprise IT departments increasingly want to let users use their own devices, or even choose and purchase corporate-owned devices. Connecting your devices to work makes it easy for you to access your organization's resources, such as apps, the corporate network, and email.
|
||||
|
||||
> [!NOTE]
|
||||
> When you connect your device using mobile device management (MDM) enrollment, your organization may enforce certain policies on your device.
|
||||
@ -24,8 +24,6 @@ You can connect corporate-owned devices to work by either joining the device to
|
||||
> [!NOTE]
|
||||
> For devices joined to on-premises Active Directory, see [Group policy enrollment](enroll-a-windows-10-device-automatically-using-group-policy.md).
|
||||
|
||||
<a name='connect-your-device-to-an-azure-ad-domain-join-azure-ad'></a>
|
||||
|
||||
### Connect your device to a Microsoft Entra domain (join Microsoft Entra ID)
|
||||
|
||||
All Windows devices can be connected to a Microsoft Entra domain. These devices can be connected during OOBE. Additionally, desktop devices can be connected to a Microsoft Entra domain using the Settings app.
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Known issues in MDM
|
||||
description: Learn about known issues for Windows devices in MDM
|
||||
ms.topic: conceptual
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
---
|
||||
|
||||
# Known issues
|
||||
@ -11,11 +11,11 @@ ms.date: 08/10/2023
|
||||
|
||||
A Get command inside an atomic command isn't supported.
|
||||
|
||||
## Apps installed using WMI classes are not removed
|
||||
## Apps installed using WMI classes aren't removed
|
||||
|
||||
Applications installed using WMI classes aren't removed when the MDM account is removed from device.
|
||||
|
||||
## Passing CDATA in SyncML does not work
|
||||
## Passing CDATA in SyncML doesn't work
|
||||
|
||||
Passing CDATA in data in SyncML to ConfigManager and CSPs doesn't work.
|
||||
|
||||
@ -222,8 +222,6 @@ Alternatively you can use the following procedure to create an EAP Configuration
|
||||
|
||||
After the MDM client automatically renews the WNS channel URI, the MDM client will immediately check in with the MDM server. Henceforth, for every MDM client check-in, the MDM server should send a GET request for "ProviderID/Push/ChannelURI" to retrieve the latest channel URI and compare it with the existing channel URI; then update the channel URI if necessary.
|
||||
|
||||
<a name='user-provisioning-failure-in-azure-active-directory-joined-devices'></a>
|
||||
|
||||
## User provisioning failure in Microsoft Entra joined devices
|
||||
|
||||
For Microsoft Entra joined devices, provisioning `.\User` resources fails when the user isn't logged in as a Microsoft Entra user. If you attempt to join Microsoft Entra ID from **Settings** > **System** > **About** user interface, ensure to sign out and sign in with Microsoft Entra credentials to get your organizational configuration from your MDM server. This behavior is by design.
|
||||
@ -232,6 +230,6 @@ For Microsoft Entra joined devices, provisioning `.\User` resources fails when t
|
||||
|
||||
If you want to use the certificate used for VPN authentication also for Kerberos authentication (required if you need access to on-premises resources using NTLM or Kerberos), the user's certificate must meet the requirements for smart card certificate, the Subject field should contain the DNS domain name in the DN or the SAN should contain a fully qualified UPN so that the DC can be located from the DNS registrations. If certificates that don't meet these requirements are used for VPN, users may fail to access resources that require Kerberos authentication.
|
||||
|
||||
## Device management agent for the push-button reset is not working
|
||||
## Device management agent for the push-button reset isn't working
|
||||
|
||||
The DM agent for [push-button reset](/windows-hardware/manufacture/desktop/push-button-reset-overview) keeps the registry settings for OMA DM sessions, but deletes the task schedules. The client enrollment is retained, but it never syncs with the MDM service.
|
||||
|
@ -1,12 +1,13 @@
|
||||
---
|
||||
title: Mobile Device Management overview
|
||||
description: Windows provides an enterprise-level solution to mobile management, to help IT pros comply with security policies while avoiding compromise of user's privacy.
|
||||
ms.date: 08/10/2023
|
||||
ms.date: 07/08/2024
|
||||
ms.topic: conceptual
|
||||
ms.localizationpriority: medium
|
||||
ms.collection:
|
||||
- highpri
|
||||
- tier2
|
||||
- essentials-manage
|
||||
---
|
||||
|
||||
# Mobile Device Management overview
|
||||
@ -56,8 +57,6 @@ For information about the MDM policies defined in the Intune security baseline,
|
||||
|
||||
No. Only one MDM is allowed.
|
||||
|
||||
<a name='how-do-i-set-the-maximum-number-of-azure-active-directory-joined-devices-per-user'></a>
|
||||
|
||||
### How do I set the maximum number of Microsoft Entra joined devices per user?
|
||||
|
||||
1. Sign in to the portal as tenant admin: <https://portal.azure.com>.
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: ActiveSync DDF file
|
||||
description: View the XML file containing the device description framework (DDF) for the ActiveSync configuration service provider.
|
||||
ms.date: 06/19/2024
|
||||
ms.date: 06/28/2024
|
||||
---
|
||||
|
||||
<!-- Auto-Generated CSP Document -->
|
||||
@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A
|
||||
<MSFT:Applicability>
|
||||
<MSFT:OsBuildVersion>10.0.10240</MSFT:OsBuildVersion>
|
||||
<MSFT:CspVersion>1.0</MSFT:CspVersion>
|
||||
<MSFT:EditionAllowList>0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB;</MSFT:EditionAllowList>
|
||||
<MSFT:EditionAllowList>0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;</MSFT:EditionAllowList>
|
||||
</MSFT:Applicability>
|
||||
</DFProperties>
|
||||
<Node>
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: ApplicationControl DDF file
|
||||
description: View the XML file containing the device description framework (DDF) for the ApplicationControl configuration service provider.
|
||||
ms.date: 06/19/2024
|
||||
ms.date: 06/28/2024
|
||||
---
|
||||
|
||||
<!-- Auto-Generated CSP Document -->
|
||||
@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A
|
||||
<MSFT:Applicability>
|
||||
<MSFT:OsBuildVersion>10.0.18362</MSFT:OsBuildVersion>
|
||||
<MSFT:CspVersion>1.0</MSFT:CspVersion>
|
||||
<MSFT:EditionAllowList>0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB;</MSFT:EditionAllowList>
|
||||
<MSFT:EditionAllowList>0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;</MSFT:EditionAllowList>
|
||||
</MSFT:Applicability>
|
||||
</DFProperties>
|
||||
<Node>
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: AppLocker DDF file
|
||||
description: View the XML file containing the device description framework (DDF) for the AppLocker configuration service provider.
|
||||
ms.date: 06/19/2024
|
||||
ms.date: 06/28/2024
|
||||
---
|
||||
|
||||
<!-- Auto-Generated CSP Document -->
|
||||
@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A
|
||||
<MSFT:Applicability>
|
||||
<MSFT:OsBuildVersion>10.0.10586</MSFT:OsBuildVersion>
|
||||
<MSFT:CspVersion>1.0</MSFT:CspVersion>
|
||||
<MSFT:EditionAllowList>0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB;</MSFT:EditionAllowList>
|
||||
<MSFT:EditionAllowList>0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;</MSFT:EditionAllowList>
|
||||
</MSFT:Applicability>
|
||||
</DFProperties>
|
||||
<Node>
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: AssignedAccess DDF file
|
||||
description: View the XML file containing the device description framework (DDF) for the AssignedAccess configuration service provider.
|
||||
ms.date: 06/19/2024
|
||||
ms.date: 06/28/2024
|
||||
---
|
||||
|
||||
<!-- Auto-Generated CSP Document -->
|
||||
@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A
|
||||
<MSFT:Applicability>
|
||||
<MSFT:OsBuildVersion>10.0.10240</MSFT:OsBuildVersion>
|
||||
<MSFT:CspVersion>1.0</MSFT:CspVersion>
|
||||
<MSFT:EditionAllowList>0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB;</MSFT:EditionAllowList>
|
||||
<MSFT:EditionAllowList>0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;</MSFT:EditionAllowList>
|
||||
</MSFT:Applicability>
|
||||
</DFProperties>
|
||||
<Node>
|
||||
|