The following posts contains common App-V 5 Powershell commands. Assuming a package consisting of the following:
Package Name: AlkaneSolutions
AlkaneSolutions.appv
AlkaneSolutions_DeploymentConfig.xml
AlkaneSolutions_UserConfig.xml
and a connection group consisting of:
Package Name: AlkaneSolutions_ConnectionGroup
AlkaneSolutions_ConnectionGroup.xml
General Commands
Import the App-V 5 module (so we can use the cmdlets below)
Import-Module AppvClient
Set execution policy to unrestricted (used during testing – should really be set by policy in a live environment)
Set-ExecutionPolicy unrestricted
Enable Package Scripting (can also be done via policy):
Set-AppvClientConfiguration -EnablePackageScripts 1
Package Commands
Add Package
Add-AppvClientPackage "<Path to package>\AlkaneSolutions.appv"
Add Package with a Deployment Config
Add-AppvClientPackage "<Path to package>\AlkaneSolutions.appv" -DynamicDeploymentConfiguration "<Path to package>\AlkaneSolutions_DeploymentConfig.xml"
Publish Package (-Global will publish globally. Omitting this will publish to the user)
Publish-AppvClientPackage -Name "AlkaneSolutions" -Global
Mount the package at 100%
Mount-AppvClientPackage -Name "AlkaneSolutions"
Add, Publish and Mount Package on One Line
Add-AppvClientPackage "<Path to package>\AlkaneSolutions.appv" | Publish-AppvClientPackage -Global | Mount-AppvClientPackage
Add and publish App-V package along with a deployment xml
Add-AppvClientPackage "<Path to package>\AlkaneSolutions.appv" -DynamicDeploymentConfiguration "<Path to package>\AlkaneSolutions_DeploymentConfig.xml" | Publish-AppvClientPackage -Global
Add and publish App-V package along with a User Config xml (note how -Global is omitted from this command)
Add-AppvClientPackage "<Path to package>\AlkaneSolutions.appv" | Publish-AppvClientPackage -DynamicUserConfigurationPath "<Path to package>\AlkaneSolutions_UserConfig.xml"
Unpublish package
Unpublish-AppvClientPackage -name "AlkaneSolutions"
Delete App-V Package from cache
Remove-AppvClientPackage -name "AlkaneSolutions"
Connection Group Commands
Add Connection Group
Add-AppvClientConnectionGroup -path "<Path to package>\AlkaneSolutions_ConnectionGroup.xml"
Enable Connection Group (-Global will publish globally. Omitting this will publish to the user)
Enable-AppvClientConnectionGroup -name "AlkaneSolutions_ConnectionGroup" -Global
Add and Enable a Connection Group on One Line
Add-AppvClientConnectionGroup -path "<Path to package>\AlkaneSolutions_ConnectionGroup.xml" | Enable-AppvClientConnectionGroup -Global
Disable Connection Group
Disable-AppvClientConnectionGroup -name "AlkaneSolutions_ConnectionGroup"
Remove Connection Group
Remove-AppvClientConnectionGroup -name "AlkaneSolutions_ConnectionGroup"
Disable and Remove Connection Group on One Line
Disable-AppvClientConnectionGroup -name "AlkaneSolutions_ConnectionGroup" | Remove-AppvClientConnectionGroup
Verification Commands
Get App-V Client Configuration Settings
Get-AppvClientConfiguration
View all added (not neccessarily published) packages (useful for retrieving names, GUIDs, publishing status etc)
Get-AppvClientPackage -all
View all added (not neccessarily published) connection groups (useful for retrieving namesm GUIDs, publishing status etc)
Get-AppvClientConnectionGroup -all


The commands where easy to understand, thanks to the helpful Sub-titles provided with each command, and the commands work too. I was able to publish my connection group and remove it with the command lines found on this page.
I used the command Get-AppvClientPackage –all during my testing to to make the appv package Id and version Id’s easy to see.
Highly recommend this site, top information. Thanks.
I was able to import the AV Client and publish the app easier than 1..2..3.
Keep up the great work!
Don’t get confused between adding and publishing. I imagine you’re looking for something like this:
Get-AppvClientPackage -all | Where-Object IsPublishedToUser -eq $false