Merge pull request #8645 from vinaypamnani-msft/vp-csp-appdef

Update AppDefaults CSP
This commit is contained in:
Stacyrch140 2023-08-02 13:51:44 -04:00 committed by GitHub
commit 9b4246adcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,7 +4,7 @@ description: Learn more about the ApplicationDefaults Area in Policy CSP.
author: vinaypamnani-msft
manager: aaroncz
ms.author: vinpa
ms.date: 05/11/2023
ms.date: 08/01/2023
ms.localizationpriority: medium
ms.prod: windows-client
ms.technology: itpro-manage
@ -36,20 +36,8 @@ ms.topic: reference
<!-- DefaultAssociationsConfiguration-OmaUri-End -->
<!-- DefaultAssociationsConfiguration-Description-Begin -->
<!-- Description-Source-ADMX -->
This policy specifies the path to a file (e.g. either stored locally or on a network location) that contains file type and protocol default application associations. This file can be created using the DISM tool.
For example:
Dism.exe /Online /Export-DefaultAppAssociations:C:\AppAssoc.txt.
For more information, refer to the DISM documentation on TechNet.
If this group policy is enabled and the client machine is domain-joined, the file will be processed and default associations will be applied at logon time.
If the group policy isn't configured, disabled, or the client machine isn't domain-joined, no default associations will be applied at logon time.
If the policy is enabled, disabled, or not configured, users will still be able to override default file type and protocol associations.
<!-- Description-Source-DDF-Forced -->
This policy allows an administrator to set default file type and protocol associations. When set, default associations will be applied on sign-in to the PC. The association file can be created using the DISM tool (dism /online /export-defaultappassociations:appassoc.xml). The file can be further edited by adding attributes to control how often associations are applied by the policy. The file then needs to be base64 encoded before being added to SyncML. If policy is enabled and the client machine is Azure Active Directory joined, the associations assigned in SyncML will be processed and default associations will be applied.
<!-- DefaultAssociationsConfiguration-Description-End -->
<!-- DefaultAssociationsConfiguration-Editable-Begin -->
@ -84,14 +72,10 @@ If the policy is enabled, disabled, or not configured, users will still be able
**Example**:
To create the SyncML, follow these steps:
<ol>
<li>Install a few apps and change your defaults.</li>
<li>From an elevated prompt, run "dism /online /export-defaultappassociations:appassoc.xml"</li>
<li>Take the XML output and put it through your favorite base64 encoder app.</li>
<li>Paste the base64 encoded XML into the SyncML</li>
</ol>
Here's an example output from the dism default association export command:
1. Install a few apps and change your defaults.
1. From an elevated prompt, run `dism /online /export-defaultappassociations:C:\appassoc.xml`. Here's an example output from the dism default association export command:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations>
@ -103,12 +87,31 @@ Here's an example output from the dism default association export command:
</DefaultAssociations>
```
Here's the base64 encoded result:
Starting in Windows 11, version 22H2, two new attributes are available for further customization of the policy. These attributes can be used to change how often the policy associations are applied.
``` syntax
- **Version** attribute for `DefaultAssociations`. This attribute is used to control when **Suggested** associations are applied. Whenever the **Version** value is incremented, a **Suggested** association is applied one time.
- **Suggested** attribute for `Association`. The default value is false. If it's false, the **Association** is applied on every sign-in. If it's true, the **Association** is only applied once for the current **DefaultAssociations** Version. When the **Version** is incremented, the **Association** is applied once again, on next sign-in.
In the following example, the **Association** for `.htm` is applied on first sign-in of the user, and all others are applied on every sign-in. If **Version** is incremented, and the updated file is deployed to the user, the **Association** for `.htm` is applied again:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations Version="1">
<AssociationIdentifier=".htm"ProgId="AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9"ApplicationName="Microsoft Edge"Suggested="true"/>
<AssociationIdentifier=".html"ProgId="AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9"ApplicationName="Microsoft Edge"/>
<AssociationIdentifier=".pdf"ProgId="AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723"ApplicationName="Microsoft Edge"/>
<AssociationIdentifier="http"ProgId="AppXq0fevzme2pys62n3e0fbqa7peapykr8v"ApplicationName="Microsoft Edge"/>
<AssociationIdentifier="https"ProgId="AppX90nv6nhay5n6a98fnetv7tpk64pp35es"ApplicationName="Microsoft Edge"/>
</DefaultAssociations>
```
1. Take the XML output and put it through your favorite base64 encoder app. Here's the base64 encoded result:
```text
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxEZWZhdWx0QXNzb2NpYXRpb25zPg0KICA8QXNzb2NpYXRpb24gSWRlbnRpZmllcj0iLmh0bSIgUHJvZ0lkPSJBcHBYNGh4dGFkNzdmYmszamtrZWVya3JtMHplOTR3amYzczkiIEFwcGxpY2F0aW9uTmFtZT0iTWljcm9zb2Z0IEVkZ2UiIC8+DQogIDxBc3NvY2lhdGlvbiBJZGVudGlmaWVyPSIuaHRtbCIgUHJvZ0lkPSJBcHBYNGh4dGFkNzdmYmszamtrZWVya3JtMHplOTR3amYzczkiIEFwcGxpY2F0aW9uTmFtZT0iTWljcm9zb2Z0IEVkZ2UiIC8+DQogIDxBc3NvY2lhdGlvbiBJZGVudGlmaWVyPSIucGRmIiBQcm9nSWQ9IkFwcFhkNG5yejhmZjY4c3JuaGY5dDVhOHNianlhcjFjcjcyMyIgQXBwbGljYXRpb25OYW1lPSJNaWNyb3NvZnQgRWRnZSIgLz4NCiAgPEFzc29jaWF0aW9uIElkZW50aWZpZXI9Imh0dHAiIFByb2dJZD0iQXBwWHEwZmV2em1lMnB5czYybjNlMGZicWE3cGVhcHlrcjh2IiBBcHBsaWNhdGlvbk5hbWU9Ik1pY3Jvc29mdCBFZGdlIiAvPg0KICA8QXNzb2NpYXRpb24gSWRlbnRpZmllcj0iaHR0cHMiIFByb2dJZD0iQXBwWDkwbnY2bmhheTVuNmE5OGZuZXR2N3RwazY0cHAzNWVzIiBBcHBsaWNhdGlvbk5hbWU9Ik1pY3Jvc29mdCBFZGdlIiAvPg0KPC9EZWZhdWx0QXNzb2NpYXRpb25zPg0KDQo=
```
Here's the SyncML example:
1. Paste the base64 encoded XML into the SyncML. Here's the SyncML example:
```xml
<?xml version="1.0" encoding="utf-8"?>