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

  1. 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.

  2. 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

  1. 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
    
  2. 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

  1. Open a PowerShell window as an Administrator. Import the UE-V PowerShell module with the following command.

    Import-module UEV
    
  2. 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

  1. 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.

  2. 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

Administering UE-V 1.0

Operations for UE-V 1.0