From 6e854b67b7b882ededbccf85c148659f104fec7e Mon Sep 17 00:00:00 2001 From: ManikaDhiman Date: Mon, 13 May 2019 12:06:47 -0700 Subject: [PATCH] Added enrollmentstatustracking CSP --- windows/client-management/mdm/TOC.md | 1 + ...onfiguration-service-provider-reference.md | 65 ++++--- .../mdm/enrollmentstatustracking-csp.md | 182 ++++++++++++++++++ ...visioning-csp-enrollmentstatustracking.png | Bin 0 -> 50786 bytes 4 files changed, 222 insertions(+), 26 deletions(-) create mode 100644 windows/client-management/mdm/enrollmentstatustracking-csp.md create mode 100644 windows/client-management/mdm/images/provisioning-csp-enrollmentstatustracking.png diff --git a/windows/client-management/mdm/TOC.md b/windows/client-management/mdm/TOC.md index 07e2cb8f96..3689c9b175 100644 --- a/windows/client-management/mdm/TOC.md +++ b/windows/client-management/mdm/TOC.md @@ -126,6 +126,7 @@ ### [DynamicManagement CSP](dynamicmanagement-csp.md) #### [DynamicManagement DDF file](dynamicmanagement-ddf.md) ### [EMAIL2 CSP](email2-csp.md) +### [EnrollmentStatusTracking CSP](enrollmentstatustracking-csp.md) #### [EMAIL2 DDF file](email2-ddf-file.md) ### [EnterpriseAPN CSP](enterpriseapn-csp.md) #### [EnterpriseAPN DDF](enterpriseapn-ddf.md) diff --git a/windows/client-management/mdm/configuration-service-provider-reference.md b/windows/client-management/mdm/configuration-service-provider-reference.md index 8f8ef0ecd3..640eec77bc 100644 --- a/windows/client-management/mdm/configuration-service-provider-reference.md +++ b/windows/client-management/mdm/configuration-service-provider-reference.md @@ -7,7 +7,7 @@ ms.topic: article ms.prod: w10 ms.technology: windows author: MariciaAlforque -ms.date: 08/27/2018 +ms.date: 05/13/2019 --- # Configuration service provider reference @@ -23,14 +23,6 @@ Additional lists: - [List of CSPs supported in Microsoft Surface Hub ](#surfacehubcspsupport) - [List of CSPs supported in Windows 10 IoT Core](#iotcoresupport) -The following tables show the configuration service providers support in Windows 10. -Footnotes: -- 1 - Added in Windows 10, version 1607 -- 2 - Added in Windows 10, version 1703 -- 3 - Added in Windows 10, version 1709 -- 4 - Added in Windows 10, version 1803 -- 5 - Added in Windows 10, version 1809 -
@@ -932,6 +924,34 @@ Footnotes: + +[EnrollmentStatusTracking CSP](enrollmentstatustracking-csp.md) + + + + + + + + + + + + + + + + + + + + + +
HomeProBusinessEnterpriseEducationMobileMobile Enterprise
check mark6check mark6check mark6check mark6cross markcross mark
+ + + + [EnterpriseAPN CSP](enterpriseapn-csp.md) @@ -2646,14 +2666,6 @@ Footnotes:
- - Footnotes: -- 1 - Added in Windows 10, version 1607 -- 2 - Added in Windows 10, version 1703 -- 3 - Added in Windows 10, version 1709 -- 4 - Added in Windows 10, version 1803 -- 5 - Added in Windows 10, version 1809 - ## CSP DDF files download You can download the DDF files for various CSPs from the links below: @@ -2696,13 +2708,7 @@ The following list shows the configuration service providers supported in Window | [WiFi CSP](wifi-csp.md) | ![cross mark](images/crossmark.png) | ![check mark](images/checkmark.png) | | [WindowsLicensing CSP](windowslicensing-csp.md) | ![check mark](images/checkmark.png) | ![check mark](images/checkmark.png) | - Footnotes: -- 1 - Added in Windows 10, version 1607 -- 2 - Added in Windows 10, version 1703 -- 3 - Added in Windows 10, version 1709 -- 4 - Added in Windows 10, version 1803 -- 5 - Added in Windows 10, version 1809 - +  ## CSPs supported in Microsoft Surface Hub - [AccountManagement CSP](accountmanagement-csp.md) @@ -2750,12 +2756,19 @@ The following list shows the configuration service providers supported in Window - [Policy CSP](policy-configuration-service-provider.md) - [Provisioning CSP (Provisioning only)](provisioning-csp.md) - [Reboot CSP](reboot-csp.md) -- [RemoteWipe CSP](remotewipe-csp.md) 1 +- [RemoteWipe CSP](remotewipe-csp.md)5 - [RootCATrustedCertificates CSP](rootcacertificates-csp.md) - [UnifiedWriteFilter CSP](unifiedwritefilter-csp.md) - [Update CSP](update-csp.md) - [VPNv2 CSP](vpnv2-csp.md) - [WiFi CSP](wifi-csp.md) +
+  Footnotes: -- 1 - Added in Windows 10, version 1809 +- 1 - Added in Windows 10, version 1607. +- 2 - Added in Windows 10, version 1703. +- 3 - Added in Windows 10, version 1709. +- 4 - Added in Windows 10, version 1803. +- 5 - Added in Windows 10, version 1809. +- 6 - Added in Windows 10, version 1903. diff --git a/windows/client-management/mdm/enrollmentstatustracking-csp.md b/windows/client-management/mdm/enrollmentstatustracking-csp.md new file mode 100644 index 0000000000..975a1a8c3b --- /dev/null +++ b/windows/client-management/mdm/enrollmentstatustracking-csp.md @@ -0,0 +1,182 @@ +--- +title: EnrollmentStatusTracking CSP +description: EnrollmentStatusTracking CSP +ms.author: v-madhi@microsoft.com +ms.topic: article +ms.prod: w10 +ms.technology: windows +author: ManikaDhiman +ms.date: 04/25/2019 +--- + +# EnrollmentStatusTracking CSP + +> [!WARNING] +> Some information relates to prereleased products, which may be substantially modified before it's commercially released. Microsoft makes no warranties, expressed or implied, concerning the information provided here. + +During Autopilot deployment, you can configure the Enrollment Status Page (ESP) to block the device use until the required apps are installed. You can select the apps that must be installed before using the device. The EnrollmentStatusTracking configuration service provider (CSP) is used by Intune's agents, such as SideCar to configure ESP for blocking the device use until the required Win32 apps are installed. It tracks the installation status of the required policy providers and the apps they install and sends it to ESP, which displays the installation progress message to the user. For more information on ESP, see [Windows Autopilot Enrollment Status page](https://docs.microsoft.com/en-us/windows/deployment/windows-autopilot/enrollment-status). + +ESP uses the EnrollmentStatusTracking CSP along with the DMClient CSP to track the installation of different apps. The EnrollmentStatusTracking CSP tracks Win32 apps installations and DMClient CSP tracks MSI and Universal Windows Platform apps installations. In DMClient CSP, the **FirstSyncStatus/ExpectedMSIAppPackages** and **FirstSyncStatus/ExpectedModernAppPackages** nodes list the apps to track their installation. See [DMClient CSP](dmclient-csp.md) for more information. + +The EnrollmentStatusTracking CSP was added in Windows 10, version 1903. + + +The following diagram shows the EnrollmentStatusTracking CSP in tree format. + +![tree diagram for enrollmentstatustracking csp](images/provisioning-csp-enrollmentstatustracking.png) + +**./Vendor/MSFT** +For device context, use **./Device/Vendor/MSFT** path and for user context, use **./User/Vendor/MSFT** path. + +**EnrollmentStatusTracking** +Required. Root node for the CSP. This node is supported in both user context and device context. +Provides the settings to communicate what policies the ESP must block on. Using these settings, policy providers register themselves and the set of policies that must be tracked. The ESP includes the counts of these policy settings in the status message that is displayed to the user. It also blocks ESP until all the policies are provisioned. The policy provider is expected to drive the status updates by updating the appropriate node values, which is then reflected in the ESP status message. + +Scope is permanent. Supported operation is Get. + +**EnrollmentStatusTracking/Setup** +Required. This node is supported in both user context and device context. +Provides the settings that ESP reads during the account setup phase in the user context and device setup phase in the device context. Policy providers use this node to communicate progress status back to the ESP, which is then displayed to the user through progress messages. + +Scope is permanent. Supported operation is Get. + +**EnrollmentStatusTracking/Setup/Apps** +Required. This node is supported in both user context and device context. +Provides the settings to communicate to the ESP which app installations it should block on and provide progress in the status message to the user. + +Scope is permanent. Supported operation is Get. + +**EnrollmentStatusTracking/Setup/Apps/PolicyProviders** +Required. This node is supported in both user context and device context. +Specifies the app policy providers for this CSP. These are the policy providers the ESP should wait on before showing the tracking message with the status to the user. + +Scope is permanent. Supported operation is Get. + +**EnrollmentStatusTracking/Setup/Apps/PolicyProviders**/***ProviderName*** +Optional. This node is supported in both user context and device context. +Represents an app policy provider for the ESP. Existence of this node indicates to the ESP that it should not show the tracking status message until the TrackingPoliciesCreated node has been set to true. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +**EnrollmentStatusTracking/Setup/Apps/PolicyProviders/*ProviderName*/TrackingPoliciesCreated** +Required. This node is supported in both user context and device context. +Indicates if the provider has created the required policies for the ESP to use for tracking app installation progress. The policy provider itself is expected to set the value of this node, not the MDM server. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +Value type is boolean. The expected values are as follows: +- true - Indicates that the provider has created the required policies. +- false - Indicates that the provider has not created the required policies. This is the default. + +**EnrollmentStatusTracking/Setup/Apps/Tracking** +Required. This node is supported in both user context and device context. +Root node for the app installations being tracked by the ESP. + +Scope is permanent. Supported operation is Get. + +**EnrollmentStatusTracking/Setup/Apps/Tracking/*ProviderName*** +Optional. This node is supported in both user context and device context. +Indicates the provider name responsible for installing the apps and providing status back to ESP. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +**EnrollmentStatusTracking/Setup/Apps/Tracking/*ProviderName*/*AppName*** +Optional. This node is supported in both user context and device context. +Represents a unique name for the app whose progress should be tracked by the ESP. The policy provider can define any arbitrary app name as ESP does not use the app name directly. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +**EnrollmentStatusTracking/Setup/Apps/Tracking/*ProviderName*/*AppName*/InstallationState** +Optional. This node is supported in both user context and device context. +Represents the installation state for the app. The policy providers (not the MDM server) must update this node for the ESP to track the installation progress and update the status message. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +Value type is integer. Expected values are as follows: +- 1 - NotInstalled +- 2 - InProgress +- 3 - Completed +- 4 - Error + +**EnrollmentStatusTracking/Setup/Apps/Tracking/*ProviderName*/*AppName*/RebootRequired** +Optional. This node is supported in both user context and device context. +Indicates if the app installation requires ESP to issue a reboot. The policy providers installing the app (not the MDM server) must set this node. If the policy providers do not set this node, the ESP will not reboot the device for the app installation. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +Value type is integer. Expected values are as follows: +- 1 - NotRequired +- 2 - SoftReboot +- 3 - HardReboot + +**EnrollmentStatusTracking/Setup/HasProvisioningCompleted** +Required. This node is supported in both user context and device context. +ESP sets this node when it completes. Providers can query this node to determine if the ESP is showing, which allows them to determine if they still need to provide status updates for the ESP through this CSP. + +Scope is permanent. Supported operation is Get. + +Value type is boolean. Expected values are as follows: +- false - Indicates that ESP is complete. This is the default. +- true - Indicates that ESP is displayed, and provisioning is still going. + +**EnrollmentStatusTracking/DevicePreparation** +Required. This node is supported only in device context. +Specifies the settings that ESP reads during the device preparation phase. These setting are used to orchestrate any setup activities prior to provisioning the device in the device setup phase of the ESP. + +Scope is permanent. Supported operation is Get. + +**EnrollmentStatusTracking/DevicePreparation/PolicyProviders** +Required. This node is supported only in device context. +Indicates to the ESP that it should wait in the device preparation phase until all the policy providers have their InstallationState node set as 2 (NotRequired) or 3 (Completed). + +Scope is permanent. Supported operation is Get. + +**EnrollmentStatusTracking/DevicePreparation/PolicyProviders/*ProviderName*** +Optional. This node is supported only in device context. +Represents a policy provider for the ESP. The node should be given a unique name for the policy provider. Registration of a policy provider indicates to ESP that it should block in the device preparation phase until the provider sets its InstallationState node to 2 (NotRequired) or 3 (Completed). Once all the registered policy providers are marked as Completed or NotRequired, the ESP progresses to the device setup phase. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +**EnrollmentStatusTracking/DevicePreparation/PolicyProviders/*ProviderName*/InstallationState** +Required. This node is supported only in device context. +Communicates the policy provider installation state back to ESP. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +Value type is integer. Expected values are as follows: +- 1 - NotInstalled +- 2 - NotRequired +- 3 - Completed +- 4 - Error + +**EnrollmentStatusTracking/DevicePreparation/PolicyProviders/*ProviderName*/LastError** +Required. This node is supported only in device context. +Represents the last error code during the application installation process. If a policy provider fails to install, it can optionally set an HRESULT error code that the ESP can display in an error message to the user. ESP reads this node only when the provider's InstallationState node is set to 4 (Error). This node must be set only by the policy provider, and not by the MDM server. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +Value type is integer. + +**EnrollmentStatusTracking/DevicePreparation/PolicyProviders/*ProviderName*/Timeout** +Optional. This node is supported only in device context. +Represents the amount of time, in minutes, that the provider installation process can run before the ESP shows an error. Provider installation is complete when the InstallationState node is set to 2 (NotRequired) or 3 (Completed). If no timeout value is specified, ESP selects the default timeout value of 15 minutes. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +Value type is integer. The default is 15 minutes. + +**EnrollmentStatusTracking/DevicePreparation/PolicyProviders/*ProviderName*/TrackedResourceTypes** +Required. This node is supported only in device context. +This node's children register which resource types the policy provider supports for provisioning. Only registered providers for a particular resource type will have their policies incorporated with ESP tracking message. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +**EnrollmentStatusTracking/DevicePreparation/PolicyProviders/*ProviderName*/TrackedResourceTypes/Apps** +Required. This node is supported only in device context. +This node specifies if the policy provider is registered for app provisioning. + +Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. + +Value type is boolean. Expected values are as follows: +- false - Indicates that the policy provider is not registered for app provisioning. This is the default. +- true - Indicates that the policy provider is registered for app provisioning. \ No newline at end of file diff --git a/windows/client-management/mdm/images/provisioning-csp-enrollmentstatustracking.png b/windows/client-management/mdm/images/provisioning-csp-enrollmentstatustracking.png new file mode 100644 index 0000000000000000000000000000000000000000..813656e9af8ce2b266dbaaf60bf0f78f0299674a GIT binary patch literal 50786 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