如何使用 Windows PowerShell管理在独立计算机上运行的 App-V 包

适用于:

  • Windows 10
  • Windows 11

以下部分介绍如何在具有 Windows PowerShell cmdlet 的独立客户端计算机上执行各种管理任务。

返回包列表

输入 Get-AppvClientPackage cmdlet 以返回授权给特定用户的包列表。 其参数为 -Name-Version-PackageID-VersionID

例如:

Get-AppvClientPackage –Name "ContosoApplication" -Version 2

添加包

使用 Add-AppvClientPackage cmdlet 将包添加到计算机。

重要提示

此示例仅添加一个包。 它不会将包发布到用户或计算机。

例如:

$Contoso = Add-AppvClientPackage \\\\path\\to\\appv\\package.appv

发布包

使用 Publish-AppvClientPackage cmdlet 将已添加到特定用户或全局添加到计算机上的任何用户的包。

输入带有应用程序名称的 cmdlet 以将其发布到用户。

Publish-AppvClientPackage "ContosoApplication"

若要全局发布应用程序,只需添加 -Global 参数。

Publish-AppvClientPackage "ContosoApplication" -Global

将包发布到特定用户

注意

必须使用 App-V 5.0 SP2 修补程序包 5 或更高版本才能使用此参数。

管理员可以使用 Publish-AppvClientPackage cmdlet 指定可选的 –UserSID 参数,从而将包发布到特定用户,其中 -UserSID 表示最终用户的安全标识符 (SID) 。

使用此参数:

  • 可以从用户或管理员会话运行此 cmdlet。
  • 必须使用管理凭据登录才能使用 参数。
  • 最终用户必须登录。
  • 必须 (SID) 提供最终用户的安全标识符。

例如:

Publish-AppvClientPackage "ContosoApplication" -UserSID S-1-2-34-56789012-3456789012-345678901-2345

添加和发布包

使用 Add-AppvClientPackage cmdlet 将包添加到计算机并将其发布到用户。

例如:

Add-AppvClientPackage <path to App-V package> | Publish-AppvClientPackage

取消发布现有包

使用 Unpublish-AppvClientPackage cmdlet 取消发布已授予用户权限但未从计算机中删除该包的包。

例如:

Unpublish-AppvClientPackage "ContosoApplication"

取消发布特定用户的包

注意

必须使用 App-V 5.0 SP2 修补程序包 5 或更高版本才能使用此参数。

管理员可以将可选的 -UserSID 参数与 Unpublish-AppvClientPackage cmdlet 结合使用来取消发布特定用户的包,其中 -UserSID 表示最终用户的安全标识符 (SID) 。

使用此参数:

  • 可以从用户或管理员会话运行此 cmdlet。
  • 必须使用管理凭据登录才能使用 参数。
  • 最终用户必须登录。
  • 必须 (SID) 提供最终用户的安全标识符。

例如:

Unpublish-AppvClientPackage "ContosoApplication" -UserSID S-1-2-34-56789012-3456789012-345678901-2345

删除现有包

使用 Remove-AppvClientPackage cmdlet 从计算机中删除包。

例如:

Remove-AppvClientPackage "ContosoApplication"

注意

已将 App-V cmdlet 分配给前面示例中的变量,只是为了清楚起见;赋值不是必需的。 大多数 cmdlet 可以合并,如 添加和发布包中所示。 有关详细教程,请参阅 App-V 5.0 客户端 PowerShell 深入探讨

仅允许管理员发布或取消发布包

从 App-V 5.0 SP3 开始,可以使用 Set-AppvClientConfiguration cmdlet 和 -RequirePublishAsAdmin 参数仅允许管理员 (不) 最终用户发布或取消发布包。

可以将 -RequirePublishAsAdmin 参数设置为以下值:

  • 0:False
  • 1:True

例如:

Set-AppvClientConfiguration –RequirePublishAsAdmin1

若要使用 App-V 管理控制台设置此配置,请参阅 如何使用管理控制台发布包

关于挂起的包:UserPending 和 GlobalPending

从 App-V 5.0 SP2 开始,如果运行的Windows PowerShell cmdlet 影响当前正在使用的包,则尝试执行的任务将处于挂起状态。 例如,如果在使用该包中的应用程序时尝试发布包,然后运行 Get-AppvClientPackage,则挂起状态会显示在 cmdlet 输出中,如下所示:

Cmdlet 输出项 说明
UserPending 指示列出的包是否具有正在应用于用户的挂起任务:
-真
-假
GlobalPending 指示列出的包是否具有正在全局应用于计算机的挂起任务:
-真
-假

根据以下规则,挂起的任务稍后将运行:

任务类型 适用规则
基于用户的
例如, (将包发布到用户)
挂起的任务将在用户注销后执行,然后重新登录。
基于全局
例如, (全局启用连接组)
当计算机关闭并重新启动时,将执行挂起的任务。

有关挂起任务的详细信息,请参阅 升级正在使用的 App-V 包