Managing the UE-V 1.0 Agent and Packages with PowerShell and WMI
You can use WMI and PowerShell to manage Microsoft User Experience Virtualization (UE-V) Agent configuration and synchronization behavior.
How to deploy the UE-V agent with PowerShell
Stage the UE-V installer file in an accessible network share.
Note Use AgentSetup.exe to deploy both 32-bit and 64-bit versions of the UE-V Agent. Windows Installer Files versions, AgentSetupx86.msi and AgentSetupx64.msi, are available for each architecture. To uninstall the UE-V Agent at a later time using the installation file, you must use the same file type.
Use one of the following PowerShell commands to install the agent.
& AgentSetup.exe /quiet /norestart /log "%temp%\UE-VAgentInstaller.log" SettingsStoragePath=\\server\settingsshare\%username%
& msiexec.exe /i "<path to msi file>" /quiet /norestart /l*v "%temp%\UE-VAgentInstaller.log" SettingsStoragePath=\\server\settingsshare\%username%
How to configure the UE-V Agent with PowerShell
Use an account with administrator rights to open a PowerShell window. Import the UE-V PowerShell module by using the following command.
Import-module UEV
Use the following PowerShell commands to configure the agent.
PowerShell command
Description
Get-UevConfiguration
View the effective UE-V agent settings. User-specific settings have precedence over the computer settings.
Get-UevConfiguration - CurrentComputerUser
View the UE-V agent settings values for the current user only.
Get-UevConfiguration -Computer
View the UE-V agent configuration settings values for all users on the computer.
Set-UevConfiguration -Computer -SettingsStoragePath <path to _settings_storage_location>
Define a per-computer settings storage location.
Set-UevConfiguration -CurrentComputerUser -SettingsStoragePath <path to _settings_storage_location>
Define a per-user settings storage location.
Set-UevConfiguration -Computer -SyncTimeoutInMilliseconds <timeout in milliseconds>
Set the synchronization timeout in milliseconds
Set-UevConfiguration -CurrentComputerUser -SyncTimeoutInMilliseconds <timeout in milliseconds>
Set the synchronization timeout for the current user.
Set-UevConfiguration -Computer -MaxPackageSizeInBytes <size in bytes>
Configure the UE-V agent to report when a settings package file size reaches a defined threshold. Set the threshold package size in bytes.
Set-UevConfiguration -CurrentComputerUser -MaxPackageSizeInBytes <size in bytes>
Set the package size warning threshold for the current user.
Set-UevConfiguration –Computer –SettingsTemplateCatalogPath <path to catalog>
Set the settings template catalog path.
Set-UevConfiguration -Computer -SyncMethod <sync method>
Set the synchronization method: OfflineFiles or None.
Set-UevConfiguration -CurrentComputerUser -SyncMethod <sync method>
Set the synchronization method for the current user: OfflineFiles or None.
Set-UEVConfiguration -Computer –EnableSettingsImportNotify
Enable notification to occur when the import of user settings is delayed.
Use –DisableSettingsImportNotify to disable notification.
Set-UEVConfiguration - CurrentComputerUser -EnableSettingsImportNotify
Enable notification for the current user when the import of user settings is delayed.
Use –DisableSettingsImportNotify to disable notification.
Set-UEVConfiguration -Computer -SettingsImportNotifyDelayInSeconds
Specify the time in seconds before the user is notified
Set-UEVConfiguration - CurrentComputerUser -SettingsImportNotifyDelayInSeconds
Specify the time in seconds before notification for the current user.
Set-UevConfiguration –Computer –DisableSync
Disable UE-V for all the users on the computer.
Use –EnableSync to enable or re-enable.
Set-UevConfiguration –CurrentComputerUser -DisableSync
Disable UE-V for the current user on the computer.
Use –EnableSync to enable or re-enable.
Clear-UevConfiguration –Computer -<setting name>
Clear a specific setting for all users on the computer.
Clear-UevConfiguration –CurrentComputerUser -<setting name>
Clear a specific setting for the current user only.
Export-UevConfiguration <settings migration file>
Export the UE-V computer configuration to a settings migration file. The extension of the file must be “.uev”.
The export cmdlet exports all UE-V agent settings that are configurable with the -computer parameter.
Import-UevConfiguration <settings migration file>
Import the UE-V computer configuration from a settings migration file (.uev file).
How to export UE-V package settings and repair UE-V templates with PowerShell
Open a PowerShell window as an Administrator. Import the UE-V PowerShell module with the following command.
Import-module UEV
Use the following PowerShell commands to configure the agent.
PowerShell command
Description
Export-UevPackage MicrosoftCalculator6.pkgx
Extracts the settings from a Microsoft Calculator package file and converts them into a human-readable format in XML.
Repair-UevTemplateIndex
Repairs the index of the UE-V settings location templates.
How to configure the UE-V Agent with WMI
User Experience Virtualization provides the following set of WMI commands. Administrators can use this interface to configure the UE-V agent from the command line and automate typical configuration tasks.
Use an account with administrator rights to open a PowerShell window.
Use the following WMI commands to configure the agent.
PowerShell command Description Get-WmiObject -Namespace root\Microsoft\UEV Configuration
View the active UE-V agent settings. User-specific settings have precedence over the computer settings.
Get-WmiObject -Namespace root\Microsoft\UEV UserConfiguration
View the UE-V agent configuration that is defined for user.
Get-WmiObject -Namespace root\Microsoft\UEV ComputerConfiguration
View the UE-V agent configuration that is defined for computer.
$config = Get-WmiObject -Namespace root\Microsoft\UEV ComputerConfiguration
$config.SettingsStoragePath = <path_to_settings_storage_location>
$config.Put()
Define a per-computer settings storage location.
$config = Get-WmiObject -Namespace root\Microsoft\UEV UserConfiguration
$config.SettingsStoragePath = <path_to_settings_storage_location>
$config.Put()
Define a per-user settings storage location.
$config = Get-WmiObject -Namespace root\Microsoft\UEV ComputerConfiguration
$config.SyncTimeoutInMilliseconds = <timeout_in_milliseconds>
$config.Put()
Set the synchronization timeout in milliseconds.
$config = Get-WmiObject -Namespace root\Microsoft\UEV ComputerConfiguration
$config.MaxPackageSizeInBytes = <size_in_bytes>
$config.Put()
Configure the UE-V agent to report when a settings package file size reaches a defined threshold. Set the threshold package file size in bytes.
$config = Get-WmiObject -Namespace root\Microsoft\UEV ComputerConfiguration
$config.SyncMethod = <sync_method>
$config.Put()
Set the synchronization method: OfflineFiles or None.
$config = Get-WmiObject -Namespace root\Microsoft\UEV ComputerConfiguration
$config.<setting name> = <setting value>
$config.Put()
Update a specific per-computer setting. To clear the setting, use $null as the setting value.
$config = Get-WmiObject -Namespace root\Microsoft\UEV ComputerConfiguration
$config.<setting name> = <setting value>
$config.Put()
Update a specific per-user setting. To clear the setting, use $null as the setting value.
Upon configuration of the UE-V Agent with WMI and PowerShell, the defined configuration is stored in the registry in the following locations:
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UEV\Agent\Configuration
\HKEY_CURRENT_USER\SOFTWARE\Microsoft\UEV\Agent\Configuration