使用 Windows PowerShell 和 WMI (Windows 10) 管理 UE-V 设置位置模板

用户体验虚拟化 (UE-V) 使用 XML 设置位置模板来定义用户体验虚拟化捕获并应用的设置。 UE-V 包括一组标准设置位置模板。 它还包括 UE-V 模板生成器工具,可用于创建自定义设置位置模板。 创建和部署设置位置模板后,可以使用 Windows PowerShell 和 Windows Management Instrumentation (WMI) 来管理这些模板。

注意

有关 UE-V cmdlet 的完整列表,请参阅 Windows PowerShell 中的用户体验虚拟化

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

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 Lists计算机上注册的所有设置位置模板。
    Get-UevTemplate -Application <string> Lists应用程序名称或模板名称包含的计算机上注册的所有设置位置模板。
    Get-UevTemplate -TemplateID <string> Lists模板 ID 所在的计算机上注册的所有设置位置模板。
    Get-UevTemplate [-ApplicationOrTemplateID] <string> Lists应用程序或模板名称或模板 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 应用列表 Windows PowerShell,请输入:Get-UevAppxPackage

Get-UevAppxPackage 属性的定义

PackageFamilyName

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

启用

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

EnabledSource

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

NotSet

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

LocalMachine

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

LocalUser

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

PolicyMachine

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

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

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

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

属性的定义

PackageFamilyName

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

启用

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

安装

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

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

用户体验虚拟化提供以下 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 Lists为计算机注册的所有设置位置模板。
    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> 从计算机 Windows 应用列表中删除一个或多个 Windows 应用。
    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class UserConfiguredWindows8App -Name RemoveApp -ArgumentList <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> 禁用计算机 Windows 应用列表中的一个或多个 Windows 应用。
    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class UserConfiguredWindows8App -Name DisableApp -ArgumentList <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> 在计算机 Windows 应用列表中启用 Windows 应用。
    Invoke-WmiMethod -Namespace root\Microsoft\UEV -Class UserConfiguredWindows8App -Name EnableApp -ArgumentList <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 和 WMI管理 UE-V,在 Windows PowerShell 中管理 UE-V用户体验虚拟化