diff --git a/windows/client-management/mdm/diagnosticlog-csp.md b/windows/client-management/mdm/diagnosticlog-csp.md
index 3ef1008019..d33f4f7d36 100644
--- a/windows/client-management/mdm/diagnosticlog-csp.md
+++ b/windows/client-management/mdm/diagnosticlog-csp.md
@@ -13,23 +13,24 @@ ms.date: 11/19/2019
---
# DiagnosticLog CSP
-The DiagnosticLog configuration service provider (CSP) provides the following feature areas:
+
+The DiagnosticLog configuration service provider (CSP) provides the following feature areas:
- [DiagnosticArchive area](#diagnosticarchive-area). Capture and upload event logs, log files, and registry values for troubleshooting.
- [Policy area](#policy-area). Configure Windows event log policies, such as maximum log size.
- [EtwLog area](#etwlog-area). Control ETW trace sessions.
- [DeviceStateData area](#devicestatedata-area). Provide additional device information.
- [FileDownload area](#filedownload-area). Pull trace and state data directly from the device.
-The following are the links to different versions of the DiagnosticLog CSP DDF files:
+The following are the links to different versions of the DiagnosticLog CSP DDF files:
- [DiagnosticLog CSP version 1.4](diagnosticlog-ddf.md#version-1-4)
- [DiagnosticLog CSP version 1.3](diagnosticlog-ddf.md#version-1-3)
- [DiagnosticLog CSP version 1.2](diagnosticlog-ddf.md#version-1-2)
The following shows the DiagnosticLog CSP in tree format.
+
```
-./Vendor/MSFT
-DiagnosticLog
+./Vendor/MSFT/DiagnosticLog
----EtwLog
--------Collectors
------------CollectorName
@@ -59,7 +60,8 @@ DiagnosticLog
----------------DataBlocks
--------------------BlockNumber
```
-**./Vendor/MSFT/DiagnosticLog**
+
+**./Vendor/MSFT/DiagnosticLog**
The root node for the DiagnosticLog CSP.
Rest of the nodes in the DiagnosticLog CSP are described within their respective feature area sections.
@@ -68,18 +70,18 @@ Rest of the nodes in the DiagnosticLog CSP are described within their respective
The DiagnosticArchive functionality within the DiagnosticLog CSP is used to trigger devices to gather troubleshooting data into a zip archive file and upload that archive to cloud storage. DiagnosticArchive is designed for ad-hoc troubleshooting scenarios, such as an IT admin investigating an app installation failure using a collection of event log events, registry values, and app or OS log files.
-> [!Note]
+> [!NOTE]
> DiagnosticArchive is a "break glass" backstop option for device troubleshooting. Diagnostic data such as log files can grow to many gigabytes. Gathering, transferring, and storing large amounts of data may burden the user's device, the network and cloud storage. Management servers invoking DiagnosticArchive must take care to minimize data gathering frequency and scope.
The following section describes the nodes for the DiagnosticArchive functionality.
-**DiagnosticArchive**
-Added in version 1.4 of the CSP in Windows 10, version 1903. Root node for the DiagnosticArchive functionality.
+**DiagnosticArchive**
+Added in version 1.4 of the CSP in Windows 10, version 1903. Root node for the DiagnosticArchive functionality.
The supported operation is Get.
-**DiagnosticArchive/ArchiveDefinition**
-Added in version 1.4 of the CSP in Windows 10, version 1903.
+**DiagnosticArchive/ArchiveDefinition**
+Added in version 1.4 of the CSP in Windows 10, version 1903.
The supported operations are Add and Execute.
@@ -87,7 +89,7 @@ The data type is string.
Expected value:
Set and Execute are functionality equivalent, and each accepts a `Collection` XML snippet (as a string) describing what data to gather and where to upload it. The results are zipped and uploaded to the specified SasUrl. The zipped filename format is "DiagLogs-{ComputerName}-YYYYMMDDTHHMMSSZ.zip".
-
+
The following is an example of a `Collection` XML.
``` xml
@@ -107,16 +109,16 @@ The following is an example of a `Collection` XML.
```
The XML should include the following elements within the `Collection` element:
-**ID**
+**ID**
The ID value uniquely identifies this data-gathering request. To avoid accidental repetition of data gathering, the CSP ignores subsequent Set or Execute invocations with the same ID value. The CSP expects the value to be populated when the request is received, so it must be generated by the IT admin or the management server.
-**SasUrl**
+**SasUrl**
The SasUrl value is the target URI to which the CSP uploads the zip file containing the gathered data. It is the responsibility of the management server to provision storage in such a way that the storage server accepts the device's HTTP PUT to this URL. For example, the device management service could:
- Provision cloud storage reachable by the target device, such as a Microsoft Azure blob storage container
- Generate a Shared Access Signature URL granting the possessor (the target device) time-limited write access to the storage container
-- Pass this value to the CSP on the target device through the `Collection` XML as the `SasUrl` value.
+- Pass this value to the CSP on the target device through the `Collection` XML as the `SasUrl` value.
-**One or more data gathering directives, which may include any of the following:**
+**One or more data gathering directives, which may include any of the following:**
- **RegistryKey**
- Exports all of the key names and values under a given path (recursive).
@@ -133,53 +135,53 @@ The SasUrl value is the target URI to which the CSP uploads the zip file contain
- This directive type allows the execution of specific commands such as ipconfig.exe. Note that DiagnosticArchive and the Commands directives are not a general-purpose scripting platform. These commands are allowed in the DiagnosticArchive context to handle cases where critical device information may not be available through existing log files.
- Expected input value: The full command line including path and any arguments, such as `%windir%\\system32\\ipconfig.exe /all`.
- Output format: Console text output from the command is captured in a text file and included in the overall output archive. For commands which may generate file output rather than console output, a subsequent FolderFiles directive would be used to capture that output. The example XML above demonstrates this pattern with mdmdiagnosticstool.exe's -out parameter.
- - Privacy guardrails: To enable diagnostic data capture while reducing the risk of an IT admin inadvertently capturing user-generated documents, only the following commands are allowed:
- - %windir%\\system32\\certutil.exe
- - %windir%\\system32\\dxdiag.exe
- - %windir%\\system32\\gpresult.exe
- - %windir%\\system32\\msinfo32.exe
- - %windir%\\system32\\netsh.exe
- - %windir%\\system32\\nltest.exe
- - %windir%\\system32\\ping.exe
- - %windir%\\system32\\powercfg.exe
- - %windir%\\system32\\w32tm.exe
- - %windir%\\system32\\wpr.exe
- - %windir%\\system32\\dsregcmd.exe
- - %windir%\\system32\\dispdiag.exe
- - %windir%\\system32\\ipconfig.exe
- - %windir%\\system32\\logman.exe
- - %windir%\\system32\\tracelog.exe
- - %programfiles%\\windows defender\\mpcmdrun.exe
- - %windir%\\system32\\MdmDiagnosticsTool.exe
- - %windir%\\system32\\pnputil.exe
+ - Privacy guardrails: To enable diagnostic data capture while reducing the risk of an IT admin inadvertently capturing user-generated documents, only the following commands are allowed:
+ - %windir%\\system32\\certutil.exe
+ - %windir%\\system32\\dxdiag.exe
+ - %windir%\\system32\\gpresult.exe
+ - %windir%\\system32\\msinfo32.exe
+ - %windir%\\system32\\netsh.exe
+ - %windir%\\system32\\nltest.exe
+ - %windir%\\system32\\ping.exe
+ - %windir%\\system32\\powercfg.exe
+ - %windir%\\system32\\w32tm.exe
+ - %windir%\\system32\\wpr.exe
+ - %windir%\\system32\\dsregcmd.exe
+ - %windir%\\system32\\dispdiag.exe
+ - %windir%\\system32\\ipconfig.exe
+ - %windir%\\system32\\logman.exe
+ - %windir%\\system32\\tracelog.exe
+ - %programfiles%\\windows defender\\mpcmdrun.exe
+ - %windir%\\system32\\MdmDiagnosticsTool.exe
+ - %windir%\\system32\\pnputil.exe
- **FoldersFiles**
- Captures log files from a given path (without recursion).
- Expected input value: File path with or without wildcards, such as "%windir%\\System32", or "%programfiles%\\*.log".
- - Privacy guardrails: To enable diagnostic log capture while reducing the risk of an IT admin inadvertently capturing user-generated documents, only paths under the following roots are allowed:
- - %PROGRAMFILES%
- - %PROGRAMDATA%
- - %PUBLIC%
- - %WINDIR%
- - %TEMP%
- - %TMP%
- - Additionally, only files with the following extensions are captured:
- - .log
- - .txt
- - .dmp
- - .cab
- - .zip
- - .xml
- - .html
- - .evtx
- - .etl
+ - Privacy guardrails: To enable diagnostic log capture while reducing the risk of an IT admin inadvertently capturing user-generated documents, only paths under the following roots are allowed:
+ - %PROGRAMFILES%
+ - %PROGRAMDATA%
+ - %PUBLIC%
+ - %WINDIR%
+ - %TEMP%
+ - %TMP%
+ - Additionally, only files with the following extensions are captured:
+ - .log
+ - .txt
+ - .dmp
+ - .cab
+ - .zip
+ - .xml
+ - .html
+ - .evtx
+ - .etl
-**DiagnosticArchive/ArchiveResults**
-Added in version 1.4 of the CSP in Windows 10, version 1903. This policy setting displays the results of the last archive run.
+**DiagnosticArchive/ArchiveResults**
+Added in version 1.4 of the CSP in Windows 10, version 1903. This policy setting displays the results of the last archive run.
The supported operation is Get.
-The data type is string.
+The data type is string.
A Get to the above URI will return the results of the data gathering for the last diagnostics request. For the example above it returns:
@@ -230,6 +232,7 @@ A Get to the above URI will return the results of the data gathering for the las
Each data gathering node is annotated with the HRESULT of the action and the collection is also annotated with an overall HRESULT. In this example, note that the mdmdiagnosticstool.exe command failed.
### Making use of the uploaded data
+
The zip archive which is created and uploaded by the CSP contains a folder structure like the following:
```powershell
@@ -313,7 +316,7 @@ foreach( $element in $resultElements )
Copy-Item $file.FullName -Destination (Join-Path -Path $reformattedArchivePath -ChildPath $leafSummaryString)
}
}
-#endregion
+#endregion
Remove-Item -Path $diagnosticArchiveTempUnzippedPath -Force -Recurse
```
That example script produces a set of files similar to the following, which can be a useful view for an administrator interactively browsing the results without needing to navigate any sub-folders or refer to `results.xml` repeatedly:
@@ -341,17 +344,17 @@ The Policy functionality within the DiagnosticLog CSP configures Windows event l
The following section describes the nodes for the Policy functionality.
-**Policy**
+**Policy**
Added in version 1.4 of the CSP in Windows 10, version 1903. Root node to control settings for channels in Event Log.
The supported operation is Get.
-**Policy/Channels**
+**Policy/Channels**
Added in version 1.4 of the CSP in Windows 10, version 1903. Node that contains Event Log channel settings.
The supported operation is Get.
-**Policy/Channels/_ChannelName_**
+**Policy/Channels/_ChannelName_**
Added in version 1.4 of the CSP in Windows 10, version 1903. Dynamic node to represent a registered channel. The node name must be a valid Windows event log channel name, such as ``Microsoft-Client-Licensing-Platform%2FAdmin``. When specifying the name in the LocURI, it must be URL encoded, otherwise it may unexpectedly translate into a different URI.
Supported operations are Add, Delete, and Get.
@@ -414,7 +417,7 @@ Get **Channel**
```
-**Policy/Channels/_ChannelName_/MaximumFileSize**
+**Policy/Channels/_ChannelName_/MaximumFileSize**
Added in version 1.4 of the CSP in Windows 10, version 1903. This policy setting specifies the maximum size of the log file in megabytes.
If you enable this policy setting, you can configure the maximum log file size to be between 1 megabyte and 2 terabytes in megabyte increments.
@@ -510,7 +513,7 @@ Replace **MaximumFileSize**
```
-**Policy/Channels/_ChannelName_/SDDL**
+**Policy/Channels/_ChannelName_/SDDL**
Added in version 1.4 of the CSP in Windows 10, version 1903. This policy setting represents SDDL string controlling access to the channel.
Supported operations are Add, Delete, Get, and Replace.
@@ -519,7 +522,7 @@ The data type is string.
Default string is as follows:
-https://docs.microsoft.com/windows/desktop/WES/eventmanifestschema-channeltype-complextype.
+https://docs.microsoft.com/windows/desktop/WES/eventmanifestschema-channeltype-complextype.
Add **SDDL**
``` xml
@@ -608,14 +611,14 @@ Replace **SDDL**
```
-**Policy/Channels/_ChannelName_/ActionWhenFull**
-Added in version 1.4 of the CSP in Windows 10, version 1903. This policy setting controls Event Log behavior when the log file reaches its maximum size.
+**Policy/Channels/_ChannelName_/ActionWhenFull**
+Added in version 1.4 of the CSP in Windows 10, version 1903. This policy setting controls Event Log behavior when the log file reaches its maximum size.
Supported operations are Add, Delete, Get, and Replace.
The data type is string.
-The following are the possible values:
+The following are the possible values:
- Truncate — When the log file reaches its maximum file size, new events are not written to the log and are lost.
- Overwrite — When the log file reaches its maximum file size, new events overwrite old events.
- Archive — When the log file reaches its maximum size, the log file is saved to the location specified by the "Archive Location" policy setting. If archive location value is not set, the new file is saved in the same directory as current log file.
@@ -709,14 +712,14 @@ Replace **ActionWhenFull**
```
-**Policy/Channels/_ChannelName_/Enabled**
+**Policy/Channels/_ChannelName_/Enabled**
Added in version 1.4 of the CSP in Windows 10, version 1903. This policy setting specifies whether the channel should be enabled or disabled.
Supported operations are Add, Delete, Get, and Replace.
The data type is boolean.
-The following are the possible values:
+The following are the possible values:
- TRUE — Enables the channel.
- FALSE — Disables the channel.
@@ -828,22 +831,22 @@ The DiagnosticLog CSP maintains a log file for each collector node and the log f
For each collector node, the user can:
-- Start or stop the session with all registered and enabled providers
-- Query session status
-- Change trace log file mode
-- Change trace log file size limit
+- Start or stop the session with all registered and enabled providers
+- Query session status
+- Change trace log file mode
+- Change trace log file size limit
The configurations log file mode and log file size limit does not take effect while trace session is in progress. These are applied when user stops the current session and then starts it again for this collector.
For each registered provider in this collector, the user can:
-- Specify keywords to filter events from this provider
-- Change trace level to filter events from this provider
-- Enable or disable the provider in the trace session
+- Specify keywords to filter events from this provider
+- Change trace level to filter events from this provider
+- Enable or disable the provider in the trace session
The changes on **State**, **Keywords**, and **TraceLevel** takes effect immediately while trace session is in progress.
-> [!Note]
+> [!NOTE]
> Microsoft-WindowsPhone-Enterprise-Diagnostics-Provider (GUID - 3da494e4-0fe2-415C-b895-fb5265c5c83b) has the required debug resource files built into Windows OS, which will allow the logs files to be decoded on the remote machine. Any other logs may not have the debug resources required to decode.
### Channel-based tracing
@@ -864,34 +867,34 @@ For more information about using DiagnosticLog to collect logs remotely from a P
To gather diagnostics using this CSP:
-1. Specify a *CollectorName* for the container of the target ETW providers.
-2. (Optional) Set logging and log file parameters using the following options:
+1. Specify a *CollectorName* for the container of the target ETW providers.
+2. (Optional) Set logging and log file parameters using the following options:
- TraceLogFileMode
- LogFileSizeLimitMB
-3. Indicate one or more target ETW providers by supplying its *ProviderGUID* to the Add operation of EtwLog/Collectors/*CollectorName*/Providers/*ProviderGUID*.
-4. (Optional) Set logging and log file parameters using the following options:
+3. Indicate one or more target ETW providers by supplying its *ProviderGUID* to the Add operation of EtwLog/Collectors/*CollectorName*/Providers/*ProviderGUID*.
+4. (Optional) Set logging and log file parameters using the following options:
- TraceLevel
- Keywords
-5. Start logging using **TraceControl** EXECUTE command “START”.
-6. Perform actions on the target device that will generate activity in the log files.
-7. Stop logging using **TraceControl** EXECUTE command “STOP”.
-8. Collect the log file located in the `%temp%` folder using the method described in [Reading a log file](#reading-a-log-file).
+5. Start logging using **TraceControl** EXECUTE command “START”.
+6. Perform actions on the target device that will generate activity in the log files.
+7. Stop logging using **TraceControl** EXECUTE command “STOP”.
+8. Collect the log file located in the `%temp%` folder using the method described in [Reading a log file](#reading-a-log-file).
The following section describes the nodes for EtwLog functionality.
-**EtwLog**
+**EtwLog**
Node to contain the Error Tracing for Windows log.
The supported operation is Get.
-**EtwLog/Collectors**
+**EtwLog/Collectors**
Interior node to contain dynamic child interior nodes for active providers.
The supported operation is Get.
-**EtwLog/Collectors/***CollectorName*
+**EtwLog/Collectors/_CollectorName_**
Dynamic nodes to represent active collector configuration.
Supported operations are Add, Delete, and Get.
@@ -937,7 +940,7 @@ Delete a collector
```
-**EtwLog/Collectors/*CollectorName*/TraceStatus**
+**EtwLog/Collectors/*CollectorName*/TraceStatus**
Specifies whether the current logging status is running.
The data type is an integer.
@@ -947,11 +950,11 @@ The supported operation is Get.
The following table represents the possible values:
| Value | Description |
-|-------|-------------|
+| ----- | ----------- |
| 0 | Stopped |
| 1 | Started |
-**EtwLog/Collectors/*CollectorName*/TraceLogFileMode**
+**EtwLog/Collectors/*CollectorName*/TraceLogFileMode**
Specifies the log file logging mode.
The data type is an integer.
@@ -961,11 +964,11 @@ Supported operations are Get and Replace.
The following table lists the possible values:
| Value | Description |
-|-------|--------------------|
+| ----- | ------------------ |
| EVENT_TRACE_FILE_MODE_SEQUENTIAL (0x00000001) | Writes events to a log file sequentially; stops when the file reaches its maximum size. |
-| EVENT_TRACE_FILE_MODE_CIRCULAR (0x00000002) | Writes events to a log file. After the file reaches the maximum size, the oldest events are replaced with incoming events. |
+| EVENT_TRACE_FILE_MODE_CIRCULAR (0x00000002) | Writes events to a log file. After the file reaches the maximum size, the oldest events are replaced with incoming events. |
-**EtwLog/Collectors/*CollectorName*/TraceControl**
+**EtwLog/Collectors/*CollectorName*/TraceControl**
Specifies the logging and report action state.
The data type is a string.
@@ -973,9 +976,9 @@ The data type is a string.
The following table lists the possible values:
| Value | Description |
-|-------|--------------------|
+| ----- | ------------------ |
| START | Start log tracing. |
-| STOP | Stop log tracing |
+| STOP | Stop log tracing. |
The supported operation is Execute.
@@ -1029,7 +1032,7 @@ Stop collector trace logging
```
-**EtwLog/Collectors/*CollectorName*/LogFileSizeLimitMB**
+**EtwLog/Collectors/*CollectorName*/LogFileSizeLimitMB**
Sets the log file size limit, in MB.
The data type is an integer.
@@ -1038,15 +1041,15 @@ Valid values are 1-2048. The default value is 4.
Supported operations are Get and Replace.
-**EtwLog/Collectors/*CollectorName*/Providers**
+**EtwLog/Collectors/*CollectorName*/Providers**
Interior node to contain dynamic child interior nodes for active providers.
The supported operation is Get.
-**EtwLog/Collectors/*CollectorName*/Providers/***ProviderGUID*
+**EtwLog/Collectors/*CollectorName*/Providers/_ProviderGUID_**
Dynamic nodes to represent active provider configuration per provider GUID.
-> [!Note]
+> [!NOTE]
> Microsoft-WindowsPhone-Enterprise-Diagnostics-Provider (GUID - 3da494e4-0fe2-415C-b895-fb5265c5c83b) has the required debug resource files built into Windows OS, which will allow the logs files to be decoded on the remote machine. Any other logs may not have the debug resources required to decode.
Supported operations are Add, Delete, and Get.
@@ -1092,7 +1095,7 @@ Delete a provider
```
-**EtwLog/Collectors/*CollectorName*/Providers/*ProviderGUID*/TraceLevel**
+**EtwLog/Collectors/*CollectorName*/Providers/*ProviderGUID*/TraceLevel**
Specifies the level of detail included in the trace log.
The data type is an integer.
@@ -1102,12 +1105,12 @@ Supported operations are Get and Replace.
The following table lists the possible values:
| Value | Description |
-|-------|--------------------|
+| ----- | ------------------ |
| 1 – TRACE_LEVEL_CRITICAL | Abnormal exit or termination events |
-| 2 – TRACE_LEVEL_ERROR | Severe error events |
-| 3 – TRACE_LEVEL_WARNING | Warning events such as allocation failures |
-| 4 – TRACE_LEVEL_INFORMATION | Non-error events, such as entry or exit events |
-| 5 – TRACE_LEVEL_VERBOSE | Detailed information |
+| 2 – TRACE_LEVEL_ERROR | Severe error events |
+| 3 – TRACE_LEVEL_WARNING | Warning events such as allocation failures |
+| 4 – TRACE_LEVEL_INFORMATION | Non-error events, such as entry or exit events |
+| 5 – TRACE_LEVEL_VERBOSE | Detailed information |
Set provider **TraceLevel**
@@ -1132,7 +1135,7 @@ Set provider **TraceLevel**
```
-**EtwLog/Collectors/*CollectorName*/Providers/*ProviderGUID*/Keywords**
+**EtwLog/Collectors/*CollectorName*/Providers/*ProviderGUID*/Keywords**
Specifies the provider keywords to be used as MatchAnyKeyword for this provider.
The data type is a string.
@@ -1156,7 +1159,7 @@ Get provider **Keywords**
-
The root node.
Supported operation is Get. @@ -70,7 +71,7 @@ Update
Supported operations are Get and Add. -**ApprovedUpdates/***Approved Update Guid* +**ApprovedUpdates/_Approved Update Guid_**
Specifies the update GUID.
To auto-approve a class of updates, you can specify the Update Classifications GUIDs. We strongly recommend to always specify the DefinitionsUpdates classification (E0789628-CE08-4437-BE74-2495B842F43B), which are used for anti-malware signatures. There are released periodically (several times a day). Some businesses may also want to auto-approve security updates to get them deployed quickly. @@ -93,7 +94,7 @@ Update
Supported operation is Get. -**FailedUpdates/***Failed Update Guid* +**FailedUpdates/_Failed Update Guid_**
Update identifier field of the UpdateIdentity GUID that represent an update that failed to download or install.
Supported operation is Get. @@ -118,7 +119,7 @@ Update
Supported operation is Get. -**InstalledUpdates/***Installed Update Guid* +**InstalledUpdates/_Installed Update Guid_**
UpdateIDs that represent the updates installed on a device.
Supported operation is Get. @@ -133,7 +134,7 @@ Update
Supported operation is Get. -**InstallableUpdates/***Installable Update Guid* +**InstallableUpdates/_Installable Update Guid_**
Update identifiers that represent the updates applicable and not installed on a device.
Supported operation is Get. @@ -141,9 +142,9 @@ Update **InstallableUpdates/*Installable Update Guid*/Type**
The UpdateClassification value of the update. Valid values are: -- 0 - None -- 1 - Security -- 2 = Critical +- 0 - None +- 1 - Security +- 2 - Critical
Supported operation is Get. @@ -157,7 +158,7 @@ Update
Supported operation is Get. -**PendingRebootUpdates/***Pending Reboot Update Guid* +**PendingRebootUpdates/_Pending Reboot Update Guid_**
Update identifiers for the pending reboot state.
Supported operation is Get. @@ -188,26 +189,25 @@ Added in Windows 10, version 1803. Node for the rollback operations. **Rollback/QualityUpdate** Added in Windows 10, version 1803. Roll back latest Quality Update, if the machine meets the following conditions: -- Condition 1: Device must be Windows Update for Business Connected -- Condition 2: Device must be in a Paused State -- Condition 3: Device must have the Latest Quality Update installed on the device (Current State) +- Condition 1: Device must be Windows Update for Business Connected +- Condition 2: Device must be in a Paused State +- Condition 3: Device must have the Latest Quality Update installed on the device (Current State) If the conditions are not true, the device will not Roll Back the Latest Quality Update. **Rollback/FeatureUpdate** Added in Windows 10, version 1803. Roll Back Latest Feature Update, if the machine meets the following conditions: -- Condition 1: Device must be Windows Update for Business Connected -- Condition 2: Device must be in Paused State -- Condition 3: Device must have the Latest Feature Update Installed on the device (Current State) -- Condition 4: Machine should be within the uninstall period +- Condition 1: Device must be Windows Update for Business Connected +- Condition 2: Device must be in Paused State +- Condition 3: Device must have the Latest Feature Update Installed on the device (Current State) +- Condition 4: Machine should be within the uninstall period -> [!Note] -> This only works for Semi Annual Channel Targeted devices. +> [!NOTE] +> This only works for Semi-Annual Channel Targeted devices. If the conditions are not true, the device will not Roll Back the Latest Feature Update. - **Rollback/QualityUpdateStatus** Added in Windows 10, version 1803. Returns the result of last RollBack QualityUpdate operation. @@ -217,6 +217,3 @@ Added in Windows 10, version 1803. Returns the result of last RollBack FeatureUp ## Related topics [Configuration service provider reference](configuration-service-provider-reference.md) - - - diff --git a/windows/client-management/mdm/win32appinventory-csp.md b/windows/client-management/mdm/win32appinventory-csp.md index 1e0af5deb5..c8c22786a1 100644 --- a/windows/client-management/mdm/win32appinventory-csp.md +++ b/windows/client-management/mdm/win32appinventory-csp.md @@ -18,9 +18,9 @@ ms.date: 06/26/2017 The Win32AppInventory configuration service provider is used to provide an inventory of installed applications on a device. The following shows the Win32AppInventory configuration service provider management objects in tree format as used by Open Mobile Alliance Device Management (OMA DM), OMA Client Provisioning, and Enterprise DM. + ``` -./Vendor/MSFT -Win32AppInventory +./Vendor/MSFT/Win32AppInventory ----Win32InstalledProgram --------InstalledProgram ------------Name @@ -32,40 +32,41 @@ Win32AppInventory ------------MsiProductCode ------------MsiPackageCode ``` -**./Vendor/MSFT/Win32AppInventory** + +**./Vendor/MSFT/Win32AppInventory** The root node for the Win32AppInventory configuration service provider. The supported operation is Get. -**Win32InstalledProgram** +**Win32InstalledProgram** This represents an inventory of installed Win32 applications on the device. The supported operation is Get. -**Win32InstalledProgram/**InstalledProgram +**Win32InstalledProgram/_InstalledProgram_** A node that contains information for a specific application. -**Win32InstalledProgram/**InstalledProgram**/Name** +**Win32InstalledProgram/_InstalledProgram_/Name** A string that specifies the name of the application. The supported operation is Get. -**Win32InstalledProgram/**InstalledProgram**/Publisher** +**Win32InstalledProgram/_InstalledProgram_/Publisher** A string that specifies the publisher of the application. The supported operation is Get. -**Win32InstalledProgram/**InstalledProgram**/Version** +**Win32InstalledProgram/_InstalledProgram_/Version** A string that specifies the version of the application. The supported operation is Get. -**Win32InstalledProgram/**InstalledProgram**/Language** +**Win32InstalledProgram/_InstalledProgram_/Language** A string that specifies the language of the application. The supported operation is Get. -**Win32InstalledProgram/**InstalledProgram**/RegKey** +**Win32InstalledProgram/_InstalledProgram_/RegKey** A string that specifies product code or registry subkey. For MSI-based applications this is the product code. @@ -74,32 +75,21 @@ For applications found in Add/Remove Programs, this is the registry subkey. The supported operation is Get. -**Win32InstalledProgram/**InstalledProgram**/Source** +**Win32InstalledProgram/_InstalledProgram_/Source** A string that specifies where the application was discovered, such as MSI or Add/Remove Programs. The supported operation is Get. -**Win32InstalledProgram/**InstalledProgram**/MsiProductCode** +**Win32InstalledProgram/_InstalledProgram_/MsiProductCode** A GUID that uniquely identifies a particular MSI product. The supported operation is Get. -**Win32InstalledProgram/**InstalledProgram**/MsiPackageCode** +**Win32InstalledProgram/_InstalledProgram_/MsiPackageCode** A GUID that identifies an MSI package. Multiple products can make up a single package. The supported operation is Get. ## Related topics - [Configuration service provider reference](configuration-service-provider-reference.md) - - - - - - - - - -