diff --git a/windows/manage/uev-application-template-schema-reference.md b/windows/manage/uev-application-template-schema-reference.md index 64e4da4255..aec34ff030 100644 --- a/windows/manage/uev-application-template-schema-reference.md +++ b/windows/manage/uev-application-template-schema-reference.md @@ -218,7 +218,7 @@ See for a complete list of character ent **Type: String** -ID populates a unique identifier for a particular template. This tag becomes the primary identifier that the UE-V service uses to reference the template at runtime (for example, see the output of the Get-UevTemplate and Get-UevTemplateProgram PowerShell cmdlets). By convention, this tag should not contain any spaces, which simplifies scripting. Version numbers of applications should be specified in this element to allow for easy identification of the template, such as `MicrosoftCalculator6` or `MicrosoftOffice2010Win64`. +ID populates a unique identifier for a particular template. This tag becomes the primary identifier that the UE-V service uses to reference the template at runtime (for example, see the output of the Get-UevTemplate and Get-UevTemplateProgram PowerShell cmdlets). By convention, this tag should not contain any spaces, which simplifies scripting. Version numbers of applications should be specified in this element to allow for easy identification of the template, such as `MicrosoftOffice2016Win64`. ### Version Element @@ -323,7 +323,7 @@ The UE-V template generator encodes the greater than and less than characters as   -In rare circumstances, the FileName value will not necessarily include the .exe extension, but it should be specified as part of the value. For example, `MyApplictication.exe` should be specified instead of `MyApplictication`. The second example will not apply the template to the process if the actual name of the executable file is “MyApplication.exe”. +In rare circumstances, the FileName value will not necessarily include the .exe extension, but it should be specified as part of the value. For example, `MyApplication.exe` should be specified instead of `MyApplication`. The second example will not apply the template to the process if the actual name of the executable file is “MyApplication.exe”. ### Architecture @@ -331,7 +331,7 @@ In rare circumstances, the FileName value will not necessarily include the .exe **Type: Architecture (String)** -Architecture refers to the processor architecture for which the target executable was compiled. Valid values are Win32 for 32-bit applications or Win64 for 64-bit applications. If present, this tag limits the applicability of the settings location template to a particular application architecture. For an example of this, compare the %ProgramFiles%\\Microsoft User Experience Virtualization\\templates\\ MicrosoftOffice2010Win32.xml and MicrosoftOffice2010Win64.xml files included with UE-V. This is useful when relative paths change between different versions of an executable or if settings have been added or removed when moving from one processor architecture to another. +Architecture refers to the processor architecture for which the target executable was compiled. Valid values are Win32 for 32-bit applications or Win64 for 64-bit applications. If present, this tag limits the applicability of the settings location template to a particular application architecture. For an example of this, compare the %ProgramFiles%\\Microsoft User Experience Virtualization\\templates\\ MicrosoftOffice2016Win32.xml and MicrosoftOffice2016Win64.xml files included with UE-V. This is useful when relative paths change between different versions of an executable or if settings have been added or removed when moving from one processor architecture to another. If this element is absent, the settings location template ignores the process’ architecture and applies to both 32 and 64-bit processes if the file name and other attributes apply. @@ -953,915 +953,6 @@ Here is the SettingsLocationTemplate.xsd file showing its elements, child elemen ``` -## UE-V 2.0 Application Template Schema Reference - - -This section details the XML structure of the UE-V 2.0 settings location template and provides guidance for editing this file. - -### In This Section - -- [XML Declaration and Encoding Attribute](#xml) - -- [Namespace and Root Element](#namespace) - -- [Data types](#data) - -- [Name Element](#name) - -- [ID Element](#id) - -- [Version Element](#version) - -- [Author Element](#author) - -- [Processes and Process Element](#processes) - -- [Application Element](#application) - -- [Common Element](#common) - -- [SettingsLocationTemplate Element](#settingslocationtemplate) - -- [Appendix: SettingsLocationTemplate.xsd](#appendix) - -### XML Declaration and Encoding Attribute - -**Mandatory: True** - -**Type: String** - -The XML declaration must specify the XML version 1.0 attribute (<?xml version="1.0">). Settings location templates created by the UE-V template generator are saved in UTF-8 encoding, although the encoding is not explicitly specified. We recommend that you include the encoding="UTF-8" attribute in this element as a best practice. All templates included with the product specify this tag as well (see the documents in %ProgramFiles%\\Microsoft User Experience Virtualization\\Templates for reference). For example: - -`` - -### Namespace and Root Element - -**Mandatory: True** - -**Type: String** - -UE-V uses the http://schemas.microsoft.com/UserExperienceVirtualization/2012/SettingsLocationTemplate namespace for all applications. SettingsLocationTemplate is the root element and contains all other elements. Reference SettingsLocationTemplate in all templates using this tag: - -`` - -### Data types - -These are the data types for the UE-V application template schema. - -**GUID** -GUID describes a standard globally unique identifier regular expression in the form "\\{\[a-fA-F0-9\]{8}-\[a-fA-F0-9\]{4}-\[a-fA-F0-9\]{4}-\[a-fA-F0-9\]{4}-\[a-fA-F0-9\]{12}\\}". This is used in the Filesetting\\Root\\KnownFolder element to verify the formatting of well-known folders. - -**FilenameString** -FilenameString refers to the file name of a process to be monitored. Its values are restricted by the regex \[^\\\\\\?\\\*\\|<>/:\]+, (that is, they may not contain backslash characters, asterisk or question mark wild-card characters, the pipe character, the greater than or less than sign, forward slash, or colon characters). - -**IDString** -IDString refers to the ID value of Application elements, SettingsLocationTemplate, and Common elements (used to describe application suites that share common settings). It is restricted by the same regex as FilenameString (\[^\\\\\\?\\\*\\|<>/:\]+). - -**TemplateVersion** -TemplateVersion is an integer value used to describe the revision of the settings location template. Its value may range from 0 to 2147483647. - -**Empty** -Empty refers to a null value. This is used in Process\\ShellProcess to indicate that there is no process to monitor. This value should not be used in any application templates. - -**Author** -The Author data type is a complex type that identifies the author of a template. It contains two child elements: **Name** and **Email**. Within the Author data type, the Name element is mandatory while the Email element is optional. This type is described in more detail under the SettingsLocationTemplate element. - -**Range** -Range defines an integer class consisting of two child elements: **Minimum** and **Maximum**. This data type is implemented in the ProcessVersion data type. If specified, both Minimum and Maximum values must be included. - -**ProcessVersion** -ProcessVersion defines a type with four child elements: **Major**, **Minor**, **Build**, and **Patch**. This data type is used by the Process element to populate its ProductVersion and FileVersion values. The data for this type is a Range value. The Major child element is mandatory and the others are optional. - -**Architecture** -Architecture enumerates two possible values: **Win32** and **Win64**. These values are used to specify process architecture. - -**Process** -The Process data type is a container used to describe processes to be monitored by UE-V. It contains six child elements: **Filename**, **Architecture**, **ProductName**, **FileDescription**, **ProductVersion**, and **FileVersion**. This table details each element’s respective data type: - - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementData TypeMandatory

Filename

FilenameString

True

Architecture

Architecture

False

ProductName

String

False

FileDescription

String

False

ProductVersion

ProcessVersion

False

FileVersion

ProcessVersion

False

- -  - -**Processes** -The Processes data type represents a container for a collection of one or more Process elements. Two child elements are supported in the Processes sequence type: **Process** and **ShellProcess**. Process is an element of type Process and ShellProcess is of data type Empty. At least one item must be identified in the sequence. - -**Path** -Path is consumed by RegistrySetting and FileSetting to refer to registry and file paths. This element supports two optional attributes: **Recursive** and **DeleteIfNotFound**. Both values are set to default=”False”. - -Recursive indicates that the path and all subfolders are included for file settings or that all child registry keys are included for registry settings. In both cases, all items at the current level are included in the data captured. For a FileSettings object, all files within the specified folder are included in the data captured by UE-V but folders are not included. For registry paths, all values in the current path are captured but child registry keys are not captured. In both cases, care should be taken to avoid capturing large data sets or large numbers of items. - -The DeleteIfNotFound attribute removes the setting from the user’s settings storage path data. This may be desirable in cases where removing these settings from the package will save a large amount of disk space on the settings storage path file server. - -**FileMask** -FileMask specifies only certain file types for the folder that is defined by Path. For example, Path might be `C:\users\username\files` and FileMask could be `*.txt` to include only text files. - -**RegistrySetting** -RegistrySetting represents a container for registry keys and values and the associated desired behavior on the part of the UE-V Agent. Four child elements are defined within this type: **Path**, **Name**, **Exclude**, and a sequence of the values **Path** and **Name**. - -**FileSetting** -FileSetting contains parameters associated with files and files paths. Four child elements are defined: **Root**, **Path**, **FileMask**, and **Exclude**. Root is mandatory and the others are optional. - -**Settings** -Settings is a container for all the settings that apply to a particular template. It contains instances of the Registry, File, SystemParameter, and CustomAction settings described earlier. In addition, it can also contain the following child elements with behaviors described: - - ---- - - - - - - - - - - - - - - - - -
ElementDescription

Asynchronous

Asynchronous settings packages are applied without blocking the application startup so that the application start proceeds while the settings are still being applied. This is useful for settings that can be applied asynchronously, such as those get/set through an API, like SystemParameterSetting.

PreventOverlappingSynchronization

By default, UE-V only saves settings for an application when the last instance of an application using the template is closed. When this element is set to ‘false’, UE-V exports the settings even if other instances of an application are running. Suited templates – those that include a Common element section– that are shipped with UE-V use this flag to enable shared settings to always export on application close, while preventing application-specific settings from exporting until the last instance is closed.

- -  - -### Name Element - -**Mandatory: True** - -**Type: String** - -Name specifies a unique name for the settings location template. This is used for display purposes when referencing the template in WMI, PowerShell, Event Viewer and debug logs. In general, avoid referencing version information, as this can be objected from the ProductVersion element. For example, specify `My Application` rather than `My Application 1.1`. - -**Note**   -UE-V does not reference external DTDs, so it is not possible to use named entities in a settings location template. For example, do not use ® to refer to the registered trade mark sign ®. Instead, use canonical numbered references to include these types of special characters, for example, &\#174 for the ® character. This rule applies to all string values in this document. - -See for a complete list of character entities. UTF-8-encoded documents may include the Unicode characters directly. Saving templates through the UE-V template generator converts character entities to their Unicode representations automatically. - -  - -### ID Element - -**Mandatory: True** - -**Type: String** - -ID populates a unique identifier for a particular template. This tag becomes the primary identifier that the UE-V Agent uses to reference the template at runtime (for example, see the output of the Get-UevTemplate and Get-UevTemplateProgram PowerShell cmdlets). By convention, this tag should not contain any spaces, which simplifies scripting. Version numbers of applications should be specified in this element to allow for easy identification of the template, such as `MicrosoftCalculator6` or `MicrosoftOffice2010Win64`. - -### Version Element - -**Mandatory: True** - -**Type: Integer** - -**Minimum Value: 0** - -**Maximum Value: 2147483647** - -Version identifies the version of the settings location template for administrative tracking of changes. The UE-V template generator automatically increments this number by one each time the template is saved. Notice that this field must be a whole number integer; fractional values, such as `2.5` are not allowed. - -**Hint:** You can save notes about version changes using XML comment tags ``, for example: - -``` syntax - - 4 -``` - -**Important**   -This value is queried to determine if a new version of a template should be applied to an existing template in these instances: - -- When the scheduled Template Auto Update task executes - -- When the Update-UevTemplate PowerShell cmdlet is executed - -- When the microsoft\\uev:SettingsLocationTemplate Update method is called through WMI - -  - -### Author Element - -**Mandatory: False** - -**Type: String** - -Author identifies the creator of the settings location template. Two optional child elements are supported: **Name** and **Email**. Both attributes are optional, but, if the Email child element is specified, it must be accompanied by the Name element. Author refers to the full name of the contact for the settings location template, and email should refer to an email address for the author. We recommend that you include this information in templates published publicly, for example, on the [UE-V Template Gallery](http://gallery.technet.microsoft.com/site/search?f%5B0%5D.Type=RootCategory&f%5B0%5D.Value=UE-V). - -### Processes and Process Element - -**Mandatory: True** - -**Type: Element** - -Processes contains at least one `` element, which in turn contains the following child elements: **Filename**, **Architecture**, **ProductName**, **FileDescription**, **ProductVersion**, and **FileVersion**. The Filename child element is mandatory and the others are optional. A fully populated element contains tags similar to this example: - -``` syntax - - MyApplication.exe - Win64 - MyApplication - MyApplication.exe - - - - - - - - - - - - - -``` - -### Filename - -**Mandatory: True** - -**Type: String** - -Filename refers to the actual file name of the executable as it appears in the file system. This element specifies the primary criterion that UE-V uses to evaluate whether a template applies to a process or not. This element must be specified in the settings location template XML. - -Valid filenames must not match the regular expression \[^\\\\\\?\\\*\\|<>/:\]+, that is, they may not contain backslash characters, asterisk or question mark wild-card characters, the pipe character, the greater than or less than sign, forward slash, or colon (the \\ ? \* | < > / or : characters.). - -**Hint:** To test a string against this regex, use a PowerShell command window and substitute your executable’s name for **YourFileName**: - -`"YourFileName.exe" -match "[\\\?\*\|<>/:]+"` - -A value of **True** indicates that the string contains illegal characters. Here are some examples of illegal values: - -- \\\\server\\share\\program.exe - -- Program\*.exe - -- Pro?ram.exe - -- Program<1>.exe - -**Note**   -The UE-V template generator encodes the greater than and less than characters as > and < respectively. - -  - -In rare circumstances, the FileName value will not necessarily include the .exe extension, but it should be specified as part of the value. For example, `MyApplictication.exe` should be specified instead of `MyApplictication`. The second example will not apply the template to the process if the actual name of the executable file is “MyApplication.exe”. - -### Architecture - -**Mandatory: False** - -**Type: Architecture (String)** - -Architecture refers to the processor architecture for which the target executable was compiled. Valid values are Win32 for 32-bit applications or Win64 for 64-bit applications. If present, this tag limits the applicability of the settings location template to a particular application architecture. For an example of this, compare the %ProgramFiles%\\Microsoft User Experience Virtualization\\templates\\ MicrosoftOffice2010Win32.xml and MicrosoftOffice2010Win64.xml files included with UE-V. This is useful when relative paths change between different versions of an executable or if settings have been added or removed when moving from one processor architecture to another. - -If this element is absent, the settings location template ignores the process’ architecture and applies to both 32 and 64-bit processes if the file name and other attributes apply. - -**Note**   -UE-V does not support ARM processors in this version. - -  - -### ProductName - -**Mandatory: False** - -**Type: String** - -ProductName is an optional element used to identify a product for administrative purposes or reporting. ProductName differs from Filename in that there are no regular expression restrictions on its value. This allows for more easily understood descriptions of a process where the executable name may not be obvious. For example: - -``` syntax - - MyApplication.exe - My Application 6.x by Contoso.com - - - - -``` - -### FileDescription - -**Mandatory: False** - -**Type: String** - -FileDescription is an optional tag that allows for an administrative description of the executable file. This is a free text field and can be useful in distinguishing multiple executables within a software package where there is a need to identify the function of the executable. - -For example, in a suited application, it might be useful to provide reminders about the function of two executables (MyApplication.exe and MyApplicationHelper.exe), as shown here: - -``` syntax - - - - MyApplication.exe - My Application Main Engine - - - - - - MyApplicationHelper.exe - My Application Background Process Executable - - - - - -``` - -### ProductVersion - -**Mandatory: False** - -**Type: String** - -ProductVersion refers to the major and minor product versions of a file, as well as a build and patch level. ProductVersion is an optional element, but if specified, it must contain at least the Major child element. The value must express a range in the form Minimum="X" Maximum="Y" where X and Y are integers. The Minimum and Maximum values can be identical. - -The product and file version elements may be left unspecified. Doing so makes the template “version agnostic”, meaning that the template will apply to all versions of the specified executable. - -**Example 1:** - -Product version: 1.0 specified in the UE-V template generator produces the following XML: - -``` syntax - - - - -``` - -**Example 2:** - -File version: 5.0.2.1000 specified in the UE-V template generator produces the following XML: - -``` syntax - - - - - - -``` - -**Incorrect Example 1 – incomplete range:** - -Only the Minimum attribute is present. Maximum must be included in a range as well. - -``` syntax - - - -``` - -**Incorrect Example 2 – Minor specified without Major element:** - -Only the Minor element is present. Major must be included as well. - -``` syntax - - - -``` - -### FileVersion - -**Mandatory: False** - -**Type: String** - -FileVersion differentiates between the release version of a published application and the internal build details of a component executable. For the majority of commercial applications, these numbers are identical. Where they vary, the product version of a file indicates a generic version identification of a file, while file version indicates a specific build of a file (as in the case of a hotfix or update). This uniquely identifies files without breaking detection logic. - -To determine the product version and file version of a particular executable, right-click on the file in Windows Explorer, select Properties, then click on the Details tab. - -Including a FileVersion element for an application allows for more granular fine-tuning detection logic, but is not necessary for most applications. The ProductVersion element settings are checked first, and then FileVersion is checked. The more restrictive setting will apply. - -The child elements and syntax rules for FileVersion are identical to those of ProductVersion. - -``` syntax - - MSACCESS.EXE - Win32 - - - - - - - - - -``` - -### Application Element - -Application is a container for settings that apply to a particular application. It is a collection of the following fields/types. - - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field/TypeDescription

Name

Specifies a unique name for the settings location template. This is used for display purposes when referencing the template in WMI, PowerShell, Event Viewer and debug logs. For more information, see [Name](#name).

ID

Populates a unique identifier for a particular template. This tag becomes the primary identifier that the UE-V Agent uses to reference the template at runtime. For more information, see [ID](#id).

Description

An optional description of the template.

LocalizedNames

An optional name displayed in the UI, localized by a language locale.

LocalizedDescriptions

An optional template description localized by a language locale.

Version

Identifies the version of the settings location template for administrative tracking of changes. For more information, see [Version](#version).

DeferToMSAccount

Controls whether this template is enabled in conjunction with a Microsoft account or not. If MSA syncing is enabled for a user on a machine, then this template will automatically be disabled.

DeferToOffice365

Similar to MSA, this controls whether this template is enabled in conjunction with Office365. If Office 365 is being used to sync settings, this template will automatically be disabled.

Processes

A container for a collection of one or more Process elements. For more information, see [Processes](#processes).

Settings

A container for all the settings that apply to a particular template. It contains instances of the Registry, File, SystemParameter, and CustomAction settings. For more information, see Settings in [Data types](#data).

- -  - -### Common Element - -Common is similar to an Application element, but it is always associated with two or more Application elements. The Common section represents the set of settings that are shared between those Application instances. It is a collection of the following fields/types. - - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field/TypeDescription

Name

Specifies a unique name for the settings location template. This is used for display purposes when referencing the template in WMI, PowerShell, Event Viewer and debug logs. For more information, see [Name](#name).

ID

Populates a unique identifier for a particular template. This tag becomes the primary identifier that the UE-V Agent uses to reference the template at runtime. For more information, see [ID](#id).

Description

An optional description of the template.

LocalizedNames

An optional name displayed in the UI, localized by a language locale.

LocalizedDescriptions

An optional template description localized by a language locale.

Version

Identifies the version of the settings location template for administrative tracking of changes. For more information, see [Version](#version).

DeferToMSAccount

Controls whether this template is enabled in conjunction with a Microsoft account or not. If MSA syncing is enabled for a user on a machine, then this template will automatically be disabled.

DeferToOffice365

Similar to MSA, this controls whether this template is enabled in conjunction with Office365. If Office 365 is being used to sync settings, this template will automatically be disabled.

Settings

A container for all the settings that apply to a particular template. It contains instances of the Registry, File, SystemParameter, and CustomAction settings. For more information, see Settings in [Data types](#data).

- -  - -### SettingsLocationTemplate Element - -This element defines the settings for a single application or a suite of applications. - - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field/TypeDescription

Name

Specifies a unique name for the settings location template. This is used for display purposes when referencing the template in WMI, PowerShell, Event Viewer and debug logs. For more information, see [Name](#name).

ID

Populates a unique identifier for a particular template. This tag becomes the primary identifier that the UE-V Agent uses to reference the template at runtime. For more information, see [ID](#id).

Description

An optional description of the template.

LocalizedNames

An optional name displayed in the UI, localized by a language locale.

LocalizedDescriptions

An optional template description localized by a language locale.

- -  - -### Appendix: SettingsLocationTemplate.xsd - -Here is the SettingsLocationTemplate.xsd file showing its elements, child elements, attributes, and parameters: - -``` syntax - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - ## Have a suggestion for UE-V? Add or vote on suggestions [here](http://uev.uservoice.com/forums/280428-microsoft-user-experience-virtualization). For UE-V issues, use the [UE-V TechNet Forum](https://social.technet.microsoft.com/Forums/en-us/home?forum=mdopuev&filter=alltypes&sort=lastpostdesc). diff --git a/windows/manage/uev-configuring-uev-with-group-policy-objects.md b/windows/manage/uev-configuring-uev-with-group-policy-objects.md index fdf66d4ede..ccd5bc2a99 100644 --- a/windows/manage/uev-configuring-uev-with-group-policy-objects.md +++ b/windows/manage/uev-configuring-uev-with-group-policy-objects.md @@ -12,11 +12,8 @@ ms.prod: w10 # Configuring UE-V with Group Policy Objects -Some Microsoft User Experience Virtualization (UE-V) Group Policy settings can be defined for computers, and other Group Policy settings can be defined for users. +Some User Experience Virtualization (UE-V) Group Policy settings can be defined for computers, and other Group Policy settings can be defined for users. The Group Policy administrative templates for these settings are included in Windows 10, version 1607. - The following policy settings can be configured for UE-V. @@ -112,14 +109,20 @@ The following policy settings can be configured for UE-V.

Tray Icon

Computers Only

This Group Policy setting enables the User Experience Virtualization (UE-V) tray icon.

-

The default is enabled.

+

This setting only has an effect for UE-V 2.x and earlier. It has no effect for UE-V in Windows 10, version 1607.

Use User Experience Virtualization (UE-V)

Computers and Users

-

This Group Policy setting lets you enable or disable User Experience Virtualization (UE-V).

+

This setting only has an effect for UE-V 2.x and earlier. For UE-V in Windows 10, version 1607, use the **Enable UE-V** setting.

Enable or disable this Group Policy setting.

+ +

Enable UE-V

+

Computers and Users

+

This policy setting allows you to enable or disable User Experience Virtualization (UE-V) feature. Reboot is needed for enable to take effect.

+

This setting only has an effect for UE-V in Windows 10, version 1607. For UE-V 2.x and earlier, choose the **Use User Experience Virtualization (UE-V)** setting.

+ diff --git a/windows/manage/uev-managing-settings-location-templates-using-windows-powershell-and-wmi.md b/windows/manage/uev-managing-settings-location-templates-using-windows-powershell-and-wmi.md index 30d3c10ab4..730b901445 100644 --- a/windows/manage/uev-managing-settings-location-templates-using-windows-powershell-and-wmi.md +++ b/windows/manage/uev-managing-settings-location-templates-using-windows-powershell-and-wmi.md @@ -12,7 +12,7 @@ ms.prod: w10 # Managing UE-V Settings Location Templates Using Windows PowerShell and WMI -Microsoft User Experience Virtualization (UE-V) uses XML settings location templates to define the settings that User Experience Virtualization captures and applies. UE-V includes a set of standard settings location templates. It also includes the UE-V template generator tool that enables you to create custom settings location templates. After you create and deploy settings location templates, you can manage those templates by using Windows PowerShell and the Windows Management Instrumentation (WMI). For a complete list of UE-V PowerShell cmdlets, see [UE-V 2 Cmdlet Reference](http://go.microsoft.com/fwlink/p/?LinkId=393495) (http://go.microsoft.com/fwlink/p/?LinkId=393495). +Microsoft User Experience Virtualization (UE-V) uses XML settings location templates to define the settings that User Experience Virtualization captures and applies. UE-V includes a set of standard settings location templates. It also includes the UE-V template generator tool that enables you to create custom settings location templates. After you create and deploy settings location templates, you can manage those templates by using Windows PowerShell and the Windows Management Instrumentation (WMI). For a complete list of UE-V PowerShell cmdlets, see [UE-V 2 Cmdlet Reference](https://technet.microsoft.com/library/dn520275.aspx). ## Manage UE-V settings location templates by using Windows PowerShell @@ -329,29 +329,8 @@ User Experience Virtualization provides the following set of WMI commands. Admin -   - - **Note**   - Where a list of Package Family Names is called by the WMI command, the list must be in quotes and separated by a pipe symbol, for example, `""`. - -   - -### Deploying the UE-V Agent using Windows PowerShell - -**How to deploy the UE-V Agent by using Windows PowerShell** - -1. Stage the UE-V Agent installation package in an accessible network share. - - **Note**   - Use AgentSetup.exe to deploy both 32-bit and 64-bit versions of the UE-V Agent. The Windows Installer packages, AgentSetupx86.msi and AgentSetupx64.msi, are available for each architecture. To uninstall the UE-V Agent at a later time by using the installation file, you must use the same file type. - -   - -2. Use one of the following Windows PowerShell commands to install the UE-V Agent. - - - `& AgentSetup.exe /quiet /norestart /log "%temp%\UE-VAgentInstaller.log" SettingsStoragePath=\\server\settingsshare\%username%` - - - `& msiexec.exe /i "" /quiet /norestart /l*v "%temp%\UE-VAgentInstaller.log" SettingsStoragePath=\\server\settingsshare\%username%` +**Note**   +Where a list of Package Family Names is called by the WMI command, the list must be in quotes and separated by a pipe symbol, for example, `""`. ## Have a suggestion for UE-V? @@ -362,12 +341,3 @@ Add or vote on suggestions [here](http://uev.uservoice.com/forums/280428-microso [Administering UE-V with Windows PowerShell and WMI](uev-administering-uev-with-windows-powershell-and-wmi.md) [Administering UE-V](uev-administering-uev.md) - -  - -  - - - - - diff --git a/windows/manage/uev-managing-uev-agent-and-packages-with-windows-powershell-and-wmi.md b/windows/manage/uev-managing-uev-agent-and-packages-with-windows-powershell-and-wmi.md index ddac184e94..c27dda49c1 100644 --- a/windows/manage/uev-managing-uev-agent-and-packages-with-windows-powershell-and-wmi.md +++ b/windows/manage/uev-managing-uev-agent-and-packages-with-windows-powershell-and-wmi.md @@ -13,24 +13,6 @@ ms.prod: w10 You can use Windows Management Instrumentation (WMI) and Windows PowerShell to manage Microsoft User Experience Virtualization (UE-V) service configuration and synchronization behavior. For a complete list of UE-V PowerShell cmdlets, see [UE-V 2 Cmdlet Reference](https://technet.microsoft.com/library/dn520275.aspx). - ## To configure the UE-V service by using Windows PowerShell @@ -51,140 +33,153 @@ You can use Windows Management Instrumentation (WMI) and Windows PowerShell to m +

Enable-UEV

+

+

Turns on the UE-V service. Requires reboot.

+ + +

Disable-UEV

+

Turns off the UE-V service. Requires reboot.

+ + +

Get-UevStatus

+

Displays whether UE-V service is enabled or disabled, using a Boolean value.

+ +

Get-UevConfiguration

Gets the effective UE-V service settings. User-specific settings have precedence over the computer settings.

- -

Get-UevConfiguration - CurrentComputerUser

+ +

Get-UevConfiguration -CurrentComputerUser

Gets the UE-V service settings values for the current user only.

- +

Get-UevConfiguration -Computer

Gets the UE-V service configuration settings values for all users on the computer.

- +

Get-UevConfiguration -Details

Gets the details for each configuration setting. Displays where the setting is configured or if it uses the default value. Is displayed if the current setting is valid.

- +

Set-UevConfiguration -Computer –ContactITDescription <IT description>

Sets the text that is displayed in the Company Settings Center for the help link.

- +

Set-UevConfiguration -Computer -ContactITUrl <string>

Sets the URL of the link in the Company Settings Center for the help link. Any URL protocol can be used.

- +

Set-UevConfiguration -Computer –EnableDontSyncWindows8AppSettings

Configures the UE-V service to not synchronize any Windows apps for all users on the computer.

- +

Set-UevConfiguration -CurrentComputerUser – EnableDontSyncWindows8AppSettings

Configures the UE-V service to not synchronize any Windows apps for the current computer user.

- +

Set-UevConfiguration -Computer –EnableFirstUseNotification

Configures the UE-V service to display notification the first time the service runs for all users on the computer.

- +

Set-UevConfiguration -Computer –DisableFirstUseNotification

Configures the UE-V service to not display notification the first time that the service runs for all users on the computer.

- +

Set-UevConfiguration -Computer –EnableSettingsImportNotify

Configures the UE-V service to notify all users on the computer when settings synchronization is delayed.

Use the DisableSettingsImportNotify parameter to disable notification.

- -

Set-UevConfiguration - CurrentComputerUser -EnableSettingsImportNotify

+ +

Set-UevConfiguration -CurrentComputerUser -EnableSettingsImportNotify

Configures the UE-V service to notify the current user when settings synchronization is delayed.

Use the DisableSettingsImportNotify parameter to disable notification.

- +

Set-UevConfiguration -Computer –EnableSyncUnlistedWindows8Apps

Configures the UE-V service to synchronize all Windows apps that are not explicitly disabled by the Windows app list for all users of the computer. For more information, see "Get-UevAppxPackage" in [Managing UE-V 2.x Settings Location Templates Using Windows PowerShell and WMI](uev-managing-settings-location-templates-using-windows-powershell-and-wmi.md).

Use the DisableSyncUnlistedWindows8Apps parameter to configure the UE-V service to synchronize only Windows apps that are explicitly enabled by the Windows App List.

- -

Set-UevConfiguration - CurrentComputerUser - EnableSyncUnlistedWindows8Apps

+ +

Set-UevConfiguration -CurrentComputerUser - EnableSyncUnlistedWindows8Apps

Configures the UE-V service to synchronize all Windows apps that are not explicitly disabled by the Windows app list for the current user on the computer. For more information, see "Get-UevAppxPackage" in [Managing UE-V 2.x Settings Location Templates Using Windows PowerShell and WMI](uev-managing-settings-location-templates-using-windows-powershell-and-wmi.md).

Use the DisableSyncUnlistedWindows8Apps parameter to configure the UE-V service to synchronize only Windows apps that are explicitly enabled by the Windows App List.

- +

Set-UevConfiguration –Computer –DisableSync

Disables UE-V for all the users on the computer.

Use the EnableSync parameter to enable or re-enable.

- +

Set-UevConfiguration –CurrentComputerUser -DisableSync

Disables UE-V for the current user on the computer.

Use the EnableSync parameter to enable or re-enable.

- +

Set-UevConfiguration -Computer –EnableTrayIcon

Enables the UE-V icon in the notification area for all users of the computer.

Use the DisableTrayIcon parameter to disable the icon.

- +

Set-UevConfiguration -Computer -MaxPackageSizeInBytes <size in bytes>

Configures the UE-V service to report when a settings package file size reaches the defined threshold for all users on the computer. Sets the threshold package size in bytes.

- +

Set-UevConfiguration -CurrentComputerUser -MaxPackageSizeInBytes <size in bytes>

Configures the UE-V service to report when a settings package file size reaches the defined threshold. Sets the package size warning threshold for the current user.

- +

Set-UevConfiguration -Computer -SettingsImportNotifyDelayInSeconds

Specifies the time in seconds before the user is notified for all users of the computer

- -

Set-UevConfiguration - CurrentComputerUser -SettingsImportNotifyDelayInSeconds

+ +

Set-UevConfiguration -CurrentComputerUser -SettingsImportNotifyDelayInSeconds

Specifies the time in seconds before notification for the current user is sent.

- +

Set-UevConfiguration -Computer -SettingsStoragePath <path to _settings_storage_location>

Defines a per-computer settings storage location for all users of the computer.

- +

Set-UevConfiguration -CurrentComputerUser -SettingsStoragePath <path to _settings_storage_location>

Defines a per-user settings storage location.

- +

Set-UevConfiguration –Computer –SettingsTemplateCatalogPath <path to catalog>

Sets the settings template catalog path for all users of the computer.

- +

Set-UevConfiguration -Computer -SyncMethod <sync method>

Sets the synchronization method for all users of the computer: SyncProvider or None.

- +

Set-UevConfiguration -CurrentComputerUser -SyncMethod <sync method>

Sets the synchronization method for the current user: SyncProvider or None.

- +

Set-UevConfiguration -Computer -SyncTimeoutInMilliseconds <timeout in milliseconds>

Sets the synchronization time-out in milliseconds for all users of the computer

- -

Set- UevConfiguration -CurrentComputerUser -SyncTimeoutInMilliseconds <timeout in milliseconds>

+ +

Set-UevConfiguration -CurrentComputerUser -SyncTimeoutInMilliseconds <timeout in milliseconds>

Set the synchronization time-out for the current user.

- +

Clear-UevConfiguration –Computer -<setting name>

Clears the specified setting for all users on the computer.

- +

Clear-UevConfiguration –CurrentComputerUser -<setting name>

Clears the specified setting for the current user only.

- +

Export-UevConfiguration <settings migration file>

Exports the UE-V computer configuration to a settings migration file. The file name extension must be .uev.

The Export cmdlet exports all UE-V service settings that are configurable with the Computer parameter.

- +

Import-UevConfiguration <settings migration file>

Imports the UE-V computer configuration from a settings migration file. The file name extension must be .uev.

@@ -210,8 +205,8 @@ You can use Windows Management Instrumentation (WMI) and Windows PowerShell to m

Description

-

Export-UevPackage MicrosoftCalculator6.pkgx

-

Extracts the settings from a Microsoft Calculator package file and converts them into a human-readable format in XML.

+

Export-UevPackage MicrosoftNotepad.pkgx

+

Extracts the settings from a Microsoft Notepad package file and converts them into a human-readable format in XML.

Repair-UevTemplateIndex

diff --git a/windows/manage/uev-sync-methods.md b/windows/manage/uev-sync-methods.md index c14e111116..9d4efdd50e 100644 --- a/windows/manage/uev-sync-methods.md +++ b/windows/manage/uev-sync-methods.md @@ -8,82 +8,32 @@ ms.sitesec: library ms.prod: w10 --- - # Sync Methods for UE-V -The Microsoft User Experience Virtualization (UE-V) Agent lets you synchronize users’ application and Windows settings with the settings storage location. The *Sync Method* configuration defines how the UE-V Agent uploads and downloads those settings to the settings storage location. UE-V introduces a new SyncMethod called the *SyncProvider*. For more information about trigger events that start the synchronization of application and Windows settings, see [Sync Trigger Events for UE-V](uev-sync-trigger-events.md). +The User Experience Virtualization (UE-V) service lets you synchronize users’ application and Windows settings with the settings storage location. The *Sync Method* configuration defines how the UE-V service uploads and downloads those settings to the settings storage location. UE-V includes a SyncMethod called the *SyncProvider*. For more information about trigger events that start the synchronization of application and Windows settings, see [Sync Trigger Events for UE-V](uev-sync-trigger-events.md). ## SyncMethod Configuration +This table provides a description of each SyncMethod configuration: -This table explains the changes to SyncMethod from UE-V v1.0 to v2.0 to v2.1, as well as the settings for each configuration: - - ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SyncMethod Configuration

V1.0

V2.0

V2.1 and V2.1 SP1

Description

SyncProvider

n/a

Default

Default

Settings changes for a specific application or for global Windows desktop settings are saved locally to a cache folder. These changes are then synchronized with the settings storage location when a synchronization trigger event takes place. Pushing out changes will save the local changes to the settings storage path.

-

This default setting is the gold standard for computers. This option attempts to synchronize the setting and times out after a short delay to ensure that the application or operating system startup isn’t delayed for a long period of time.

-

This functionality is also tied to the Scheduled task – Sync Controller Application. The administrator controls the frequency of the Scheduled task. By default, computers synchronize their settings every 30 min after logging on.

OfflineFiles

Default

Deprecated

Deprecated

Behaves the same as SyncProvider in V2.0.

-

If Offline files are enabled and the folder is pinned then UE-V will unpin this folder and sync directly to the central SMB directory.

-

NOTE: In V1.0 if you wanted to use UE-V in a CorpNet disconnected manner (aka traveling with a Laptop), then the guidance is to use Offline Files to ensure that your settings roamed.  We received sufficient customer feedback that turning on Offline files is a non-trivial enterprise blocker. So in UE-V 2, we created a tightly coupled synchronization engine to cache your data locally and synchronize the settings to the central server. This feature area does not replace Offline Files or Folder Redirection.

-

UE-V 2 does not work well with Offline folders so the guidance is not to set the settings storage path to a pinned Offline or CSC folder.

External

n/a

n/a

Supported

New in UE-V 2.1, this configuration method specifies that if UE-V settings are written to a local folder on the user computer, then any external sync engine (such as OneDrive for Business, Work Folders, Sharepoint, or Dropbox) can be used to apply these settings to the different computers that users access.

None

Yes

Yes

Yes

This configuration setting is designed for the Virtual Desktop Infrastructure (VDI) and Streamed Application experience primarily. This setting should be used on Windows Server boxes used in a datacenter, where the connection will always be available.

-

Any settings changes are saved directly to the server. If the network connection to the settings storage path is not available, then the settings changes are cached on the device and are synchronized the next time that the Sync Provider runs. If the settings storage path is not found and the user profile is removed from a pooled VDI environment on logoff, then these settings changes are lost, and the user must reapply the change when the computer can again reach the settings storage path.

-

Apps and OS will wait indefinitely for the location to be present. This could cause App load or OS logon time to dramatically increase if the location is not found.

- - +| **SyncMethod Configuration** | **Description** | +|------------------------------|---------------------| +| SyncProvider (Default) | Settings changes for a specific application or for global Windows desktop settings are saved locally to a cache folder. These changes are then synchronized with the settings storage location when a synchronization trigger event takes place. Pushing out changes will save the local changes to the settings storage path.
This default setting is the gold standard for computers. This option attempts to synchronize the setting and times out after a short delay to ensure that the application or operating system startup isn’t delayed for a long period of time.
This functionality is also tied to the Scheduled task – Sync Controller Application. The administrator controls the frequency of the Scheduled task. By default, computers synchronize their settings every 30 min after logging on. | +| External | This configuration method specifies that if UE-V settings are written to a local folder on the user computer, then any external sync engine (such as OneDrive for Business, Work Folders, Sharepoint, or Dropbox) can be used to apply these settings to the different computers that users access. | +| None | This configuration setting is designed for the Virtual Desktop Infrastructure (VDI) and Streamed Application experience primarily. This setting should be used on computers running the Windows Server operating system in a datacenter, where the connection will always be available.
Any settings changes are saved directly to the server. If the network connection to the settings storage path is not available, then the settings changes are cached on the device and are synchronized the next time that the Sync Provider runs. If the settings storage path is not found and the user profile is removed from a pooled VDI environment on logoff, then these settings changes are lost, and the user must reapply the change when the computer can again reach the settings storage path.
Apps and OS will wait indefinitely for the location to be present. This could cause App load or OS logon time to dramatically increase if the location is not found. | You can configure the sync method in these ways: + - Through [Group Policy](uev-configuring-uev-with-group-policy-objects.md) settings - With the [System Center Configuration Pack](uev-configuring-uev-with-system-center-configuration-manager-2012.md) for UE-V -- After installation of the UE-V Agent, by using [Windows PowerShell or Windows Management Instrumentation (WMI)](uev-administering-uev-with-windows-powershell-and-wmi.md) +- After the UE-V service is enabled, by using [Windows PowerShell or Windows Management Instrumentation (WMI)](uev-administering-uev-with-windows-powershell-and-wmi.md) ## Have a suggestion for UE-V?