使用 Windows PowerShell 和 WMI 管理 UE-V 2.x 设置位置模板

Microsoft用户体验虚拟化 (UE-V) 2.0、2.1 和 2.1 SP1 使用 XML 设置位置模板来定义用户体验虚拟化捕获和应用的设置。 UE-V 包括一组标准设置位置模板。 它还包括 UE-V 生成器工具,可用于创建自定义设置位置模板。 创建和部署设置位置模板后,可以使用 Windows PowerShell 和 Windows Management Instrumentation (WMI) 来管理这些模板。 有关 UE-V PowerShell cmdlet 的完整列表,请参阅 UE-V 2 Cmdlet 参考 (https://go.microsoft.com/fwlink/p/?LinkId=393495) 。

使用 Windows PowerShell 管理 UE-V 2 设置位置模板

UE-V 的 WMI 和 Windows PowerShell 功能包括启用、禁用、注册、更新和注销设置位置模板的功能。 通过使用这些功能,可以自动执行向 UE-V 代理注册、更新或注销模板的过程。 还可以使用 WMI 和 Windows PowerShell 命令手动注册模板。 通过将这些功能与电子软件分发解决方案、组策略或其他自动化部署方法(如脚本)结合使用,可以进一步自动执行该过程。

必须具有管理员权限才能更新、注册或注销设置位置模板。 启用、禁用或列出模板不需要管理员权限。

使用 Windows PowerShell 管理设置位置模板

  1. 使用具有管理员权限的帐户打开 Windows PowerShell 命令提示符。

  2. 使用以下 Windows PowerShell cmdlet 注册和管理 UE-V 设置位置模板。

    Windows PowerShell 命令 描述

    Get-UevTemplate

    列出在计算机上注册的所有设置位置模板。

    Get-UevTemplate –Application <string>

    列出在应用程序名称或模板名称包含 <字符串>的计算机上注册的所有设置位置模板。

    Get-UevTemplate –TemplateID <string>

    列出在模板 ID 包含 <字符串的计算机上注册的所有设置位置模板>。

    Get-UevTemplate [-ApplicationOrTemplateID] <string>

    列出在应用程序、模板名称或模板 ID 包含 <字符串的计算机上注册的所有设置位置模板>。

    Get-UevTemplateProgram [-ID] <template ID>

    获取程序和版本信息的名称,具体取决于模板 ID。

    Get-UevAppXPackage

    获取 Windows 应用的有效列表。

    Get-UevAppXPackage -Computer

    获取为计算机配置的 Windows 应用列表。

    Get-UevAppXPackage -CurrentComputerUser

    获取为当前用户配置的 Windows 应用列表。

    Register-UevTemplate [-Path] <template file path>[,<template file path>]

    通过使用文件路径中的相对路径和/或通配符,将一个或多个设置位置模板注册到 UE-V。 注册模板后,UE-V 会在已注册模板的计算机之间同步模板中定义的设置。

    Register-UevTemplate –LiteralPath <template file path>[,<template file path>]

    使用文本路径向 UE-V 注册一个或多个设置位置模板,其中任何字符都不能解释为通配符。 注册模板后,UE-V 会在已注册模板的计算机之间同步模板中定义的设置。

    Unregister-UevTemplate [-ID] <template ID>

    使用 UE-V 注销设置位置模板。 取消注册模板后,UE-V 将不再在计算机之间同步模板中定义的设置。

    Unregister-UevTemplate -All

    使用 UE-V 注销所有设置位置模板。 取消注册模板后,UE-V 将不再在计算机之间同步模板中定义的设置。

    Update-UevTemplate [-Path] <template file path>[,<template file path>]

    使用最新版本的模板更新一个或多个设置位置模板。 在文件路径中使用相对路径和/或通配符。 新模板应是比现有模板更新的版本。

    Update-UevTemplate –LiteralPath <template file path>[,<template file path>]

    使用最新版本的模板更新一个或多个设置位置模板。 使用模板文件的完整路径,其中任何字符都不能解释为通配符。 新模板应是比现有模板更新的版本。

    Clear-UevAppXPackage –Computer [-PackageFamilyName] <package family name>[,<package family name>]

    从计算机 Windows 应用列表中删除一个或多个 Windows 应用。

    Clear-UevAppXPackage -CurrentComputerUser

    从当前用户 Windows 应用列表中删除 Windows 应用。

    Clear-UevAppXPackage –Computer -All

    从计算机 Windows 应用列表中删除所有 Windows 应用。

    Clear-UevAppXPackage [–CurrentComputerUser] [-PackageFamilyName] <package family name>[,<package family name>]

    从当前用户 Windows 应用列表中删除一个或多个 Windows 应用。

    Clear-UevAppXPackage [–CurrentComputerUser] -All

    从当前用户 Windows 应用列表中删除所有 Windows 应用。

    Disable-UevTemplate [-ID] <template ID>

    为计算机的当前用户禁用设置位置模板。

    Disable-UevAppXPackage –Computer [-PackageFamilyName] <package family name>[,<package family name>]

    禁用计算机 Windows 应用列表中的一个或多个 Windows 应用。

    Disable-UevAppXPackage [–CurrentComputerUser] [-PackageFamilyName] <package family name>[,<package family name>]

    禁用当前用户 Windows 应用列表中的一个或多个 Windows 应用。

    Enable-UevTemplate [-ID] <template ID>

    为计算机的当前用户启用设置位置模板。

    Enable-UevAppXPackage –Computer [-PackageFamilyName] <package family name>[,<package family name>]

    在计算机 Windows 应用列表中启用一个或多个 Windows 应用。

    Enable-UevAppXPackage [–CurrentComputerUser] [-PackageFamilyName] <package family name>[,<package family name>]

    在当前用户 Windows 应用列表中启用一个或多个 Windows 应用。

    Test-UevTemplate [-Path] <template file path>[,<template file path>]

    确定一个或多个设置位置模板是否符合其 XML 架构。 可以使用相对路径和通配符。

    Test-UevTemplate –LiteralPath <template file path>[,<template file path>]

    确定一个或多个设置位置模板是否符合其 XML 架构。 该路径必须是模板文件的完整路径,但不包括通配符。

UE-V Windows PowerShell 功能使你能够管理企业中部署的一组设置模板。 使用以下过程使用 Windows PowerShell 管理一组模板。

使用 Windows PowerShell 管理一组设置位置模板

  1. 修改或更新所需的设置位置模板。

  2. 如果要修改或更新设置位置模板,请将这些设置位置模板部署到本地计算机可访问的文件夹。

  3. 在本地计算机上,打开具有管理员权限的 Windows PowerShell 窗口。

  4. 通过键入以下命令取消注册所有以前注册的模板版本。

    Unregister-UevTemplate -All
    

    此命令取消注册计算机上的所有活动模板。

  5. 通过键入以下命令注册更新的模板。

    Register-UevTemplate <path to template folder>\*.xml
    

    此命令注册位于指定模板文件夹中的所有设置位置模板。

Windows 应用列表

通过在 Windows 应用列表中列出 Windows 应用,可以指定为设置同步启用或禁用该应用。 应用在列表中按其程序包系列名称以及应为该应用启用或禁用设置同步进行标识。 将这些设置与未列出的默认同步行为设置一起使用时,可以控制是否同步 Windows 应用。

若要显示已安装 Windows 应用的程序包系列名称,请在 Windows PowerShell 命令提示符处输入:

Get-AppxPackage | Sort-Object PackageFamilyName | Format-Table PackageFamilyName

若要在 Windows PowerShell 命令提示符处显示可在计算机上同步设置及其程序包系列名称、启用状态和已启用源的 Windows 应用列表,请输入: Get-UevAppxPackage

Get-UevAppxPackage 属性的定义

DisplayName 在公司设置中心应用程序中向用户显示的名称。 属性 DisplayName 派生自 PackageFamilyName 属性。

PackageFamilyName 为当前用户安装的包的名称。

启用 定义是否将应用的设置配置为同步。

EnabledSource 设置启用或禁用应用的配置的位置。 可能的值为: NotSetLocalMachineLocalUserPolicyMachinePolicyUser

NotSet 策略未配置为同步此应用。

LocalMachine 启用状态在注册表的本地计算机部分中设置。

LocalUser 启用状态在注册表的当前用户部分中设置。

PolicyMachine 启用状态在注册表的本地计算机部分的策略部分中设置。

若要获取用户配置的 Windows 应用列表,请在 Windows PowerShell 命令提示符处输入: Get-UevAppxPackage –CurrentComputerUser

若要获取计算机配置的 Windows 应用列表,请在 Windows PowerShell 命令提示符处输入: Get-UevAppxPackage –Computer

对于 CurrentComputerUser 或 Computer 任一参数,cmdlet 返回在用户或计算机级别配置的 Windows 应用列表。

属性的定义

DisplayName 在公司设置中心应用程序中向用户显示的名称。 属性 DisplayName 派生自 PackageFamilyName 属性。

PackageFamilyName 为当前用户安装的包的名称。

启用 定义是将应用的设置配置为为指定的交换机(即 用户计算机)同步。

安装 如果为当前用户安装了应用(即 PackageFamilyName),则为 True。

使用 WMI 管理 UE-V 2 设置位置模板

用户体验虚拟化提供以下 WMI 命令集。 管理员可以使用这些界面从 Windows PowerShell 管理设置位置模板,并自动执行模板管理任务。

使用 WMI 管理设置位置模板

  1. 使用具有管理员权限的帐户打开 Windows PowerShell 窗口。

  2. 使用以下 WMI 命令注册和管理 UE-V 设置位置模板。

    Windows PowerShell command 描述

    Get-WmiObject -Namespace root\Microsoft\UEV SettingsLocationTemplate | Select-Object TemplateId,TemplateName, TemplateVersion,Enabled | Format-Table -Autosize

    列出为计算机注册的所有设置位置模板。

    Invoke-WmiMethod –Namespace root\Microsoft\UEV –Class SettingsLocationTemplate –Name GetProcessInfoByTemplateId <template Id>

    获取程序和版本信息的名称,具体取决于模板名称。

    Get-WmiObject -Namespace root\Microsoft\UEV EffectiveWindows8App

    获取 Windows 应用的有效列表。

    Get-WmiObject -Namespace root\Microsoft\UEV MachineConfiguredWindows8App

    获取为计算机配置的 Windows 应用列表。

    Get-WmiObject -Namespace root\Microsoft\UEV UserConfiguredWindows8App

    获取为当前用户配置的 Windows 应用列表。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class SettingsLocationTemplate -Name Register -ArgumentList <template path >

    向 UE-V 注册设置位置模板。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class SettingsLocationTemplate -Name UnregisterByTemplateId -ArgumentList <template ID>

    使用 UE-V 注销设置位置模板。 取消注册模板后,UE-V 将不再在计算机之间同步模板中定义的设置。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class SettingsLocationTemplate -Name Update -ArgumentList <template path>

    使用 UE-V 更新设置位置模板。 新模板应比现有模板版本更新。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class MachineConfiguredWindows8App -Name RemoveApp -ArgumentList <package family name | package family name>

    从计算机 Windows 应用列表中删除一个或多个 Windows 应用。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class UserConfiguredWindows8App -Name RemoveApp -ArgumentList <package family name | package family name>

    从当前用户 Windows 应用列表中删除一个或多个 Windows 应用。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class SettingsLocationTemplate -Name DisableByTemplateId -ArgumentList <template ID>

    使用 UE-V 禁用一个或多个设置位置模板。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class MachineConfiguredWindows8App -Name DisableApp -ArgumentList <package family name | package family name>

    禁用计算机 Windows 应用列表中的一个或多个 Windows 应用。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class UserConfiguredWindows8App -Name DisableApp -ArgumentList <package family name | package family name>

    禁用当前用户 Windows 应用列表中的一个或多个 Windows 应用。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class SettingsLocationTemplate -Name EnableByTemplateId -ArgumentList <template ID>

    使用 UE-V 启用设置位置模板。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class MachineConfiguredWindows8App -Name EnableApp -ArgumentList <package family name | package family name>

    在计算机 Windows 应用列表中启用 Windows 应用。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class UserConfiguredWindows8App -Name EnableApp -ArgumentList <package family name | package family name>

    在当前用户 Windows 应用列表中启用 Windows 应用。

    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class SettingsLocationTemplate -Name Validate -ArgumentList <template path>

    确定给定设置位置模板是否符合其 XML 架构。

注意 如果 WMI 命令调用包系列名称列表,该列表必须采用引号并用管道符号分隔, "<package family name | package family name>"例如 。

使用 Windows PowerShell 部署 UE-V 代理

如何使用 Windows PowerShell 部署 UE-V 代理

  1. 在可访问的网络共享中暂存 UE-V 代理安装包。

    注意 使用 AgentSetup.exe 部署 UE-V 代理的 32 位和 64 位版本。 Windows Installer 包(AgentSetupx86.msi 和 AgentSetupx64.msi)可用于每个体系结构。 若要稍后使用安装文件卸载 UE-V 代理,必须使用相同的文件类型。

  2. 使用以下 Windows PowerShell 命令之一安装 UE-V 代理。

    • & 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%

有 UE-V 问题? 使用 UE-V TechNet 论坛

使用 Windows PowerShell 和 WMI 管理 UE-V 2.x

管理 UE-V 2.x