windows-itpro-docs/windows/application-management/app-v/appv-manage-appv-packages-running-on-a-stand-alone-computer-with-powershell.md
2021-05-06 15:00:38 -07:00

6.4 KiB
Raw Blame History

title, description, author, ms.pagetype, ms.mktglfcycl, ms.sitesec, ms.prod, ms.date, ms.reviewer, manager, ms.author, ms.topic
title description author ms.pagetype ms.mktglfcycl ms.sitesec ms.prod ms.date ms.reviewer manager ms.author ms.topic
How to manage App-V packages running on a stand-alone computer by using Windows PowerShell (Windows 10) How to manage App-V packages running on a stand-alone computer by using Windows PowerShell. greg-lindsay mdop, appcompat, virtualization deploy library w10 09/24/2018 dansimp greglin article

How to manage App-V packages running on a stand-alone computer by using Windows PowerShell

Applies to: Windows 10, version 1607

The following sections explain how to perform various management tasks on a stand-alone client computer with Windows PowerShell cmdlets.

Return a list of packages

Enter the Get-AppvClientPackage cmdlet to return a list of packages entitled to a specific user. Its parameters are -Name, -Version, -PackageID, and -VersionID.

For example:

Get-AppvClientPackage Name "ContosoApplication" -Version 2

Add a package

Use the Add-AppvClientPackage cmdlet to add a package to a computer.

Important

This example only adds a package. It does not publish the package to the user or the computer.

For example:

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

Publish a package

Use the Publish-AppvClientPackage cmdlet to publish a package that has been added to either a specific user or globally to any user on the computer.

Enter the cmdlet with the application name to publish it to the user.

Publish-AppvClientPackage "ContosoApplication"

To publish the application globally, just add the -Global parameter.

Publish-AppvClientPackage "ContosoApplication" -Global

Publish a package to a specific user

Note

You must use App-V 5.0 SP2 Hotfix Package 5 or later to use this parameter.

An administrator can publish a package to a specific user by specifying the optional UserSID parameter with the Publish-AppvClientPackage cmdlet, where -UserSID represents the end users security identifier (SID).

To use this parameter:

  • You can run this cmdlet from the user or administrator session.
  • You must be logged in with administrative credentials to use the parameter.
  • The end user must be signed in.
  • You must provide the end users security identifier (SID).

For example:

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

Add and publish a package

Use the Add-AppvClientPackage cmdlet to add a package to a computer and publish it to the user.

For example:

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

Unpublish an existing package

Use the Unpublish-AppvClientPackage cmdlet to unpublish a package which has been entitled to a user but not remove the package from the computer.

For example:

Unpublish-AppvClientPackage "ContosoApplication"

Unpublish a package for a specific user

Note

You must use App-V 5.0 SP2 Hotfix Package 5 or later to use this parameter.

An administrator can unpublish a package for a specific user by using the optional -UserSID parameter with the Unpublish-AppvClientPackage cmdlet, where -UserSID represents the end users security identifier (SID).

To use this parameter:

  • You can run this cmdlet from the user or administrator session.
  • You must sign in with administrative credentials to use the parameter.
  • The end user must be signed in.
  • You must provide the end users security identifier (SID).

For example:

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

Remove an existing package

Use the Remove-AppvClientPackage cmdlet to remove a package from the computer.

For example:

Remove-AppvClientPackage "ContosoApplication"

Note

App-V cmdlets have been assigned to variables for the previous examples for clarity only; assignment is not a requirement. Most cmdlets can be combined as displayed in Add and publish a package. For a detailed tutorial, see App-V 5.0 Client PowerShell Deep Dive.

Enable only administrators to publish or unpublish packages

Starting in App-V 5.0 SP3, you can use the Set-AppvClientConfiguration cmdlet and -RequirePublishAsAdmin parameter to enable only administrators (not end users) to publish or unpublish packages.

You can set the -RequirePublishAsAdmin parameter to the following values:

  • 0: False
  • 1: True

For example:

Set-AppvClientConfiguration RequirePublishAsAdmin1

To use the App-V Management console to set this configuration, see How to publish a package by using the Management Console.

About pending packages: UserPending and GlobalPending

Starting in App-V 5.0 SP2, if you run a Windows PowerShell cmdlet that affects a package currently in use, the task you're trying to perform is placed in a pending state. For example, if you try to publish a package when an application in that package is being used, and then run Get-AppvClientPackage, the pending status appears in the cmdlet output as follows:

Cmdlet output item Description
UserPending Indicates whether the listed package has a pending task that is being applied to the user:
- True
- False
GlobalPending Indicates whether the listed package has a pending task that is being applied globally to the computer:
- True
- False

The pending task will run later, according to the following rules:

Task type Applicable rule
User-based
(for example, publishing a package to a user)
The pending task will be performed after the user logs off and then logs back on.
Globally based
(for example, enabling a connection group globally)
The pending task will be performed when the computer is shut down and then restarted.

For more information about pending tasks, see Upgrading an in-use App-V package.