Continued edit

This commit is contained in:
Heidi Lohr
2018-08-10 16:54:38 -07:00
parent 550470dc9a
commit 143abd8bed
2 changed files with 54 additions and 98 deletions

View File

@ -16,13 +16,15 @@ After you have deployed App-V for Windows 10, you can use the following informat
## Moving the App-V server
The App-V server connects to the App-V database. Therefore you can install the management component on any computer on the network and then connect it to the App-V database. For more information, see [How to move the App-V server to another computer](appv-move-the-appv-server-to-another-computer.md).
The App-V server connects to the App-V database, which means you can install the management component and connect it to the App-V database on any computer on the network. For more information, see [How to move the App-V server to another computer](appv-move-the-appv-server-to-another-computer.md).
## Determine if an App-V application is running virtualized
Independent software vendors (ISV) who want to determine if an application is running virtualized with App-V should open a named object called **AppVVirtual-<PID>** in the default namespace. For example, Windows API **GetCurrentProcessId()** can be used to obtain the current process's ID, for example 4052, and then if a named Event object called **AppVVirtual-4052** can be successfully opened using **OpenEvent()** in the default namespace for read access, then the application is virtual. If the **OpenEvent()** call fails, the application is not virtual.
Independent software vendors (ISV) who want to determine if an application is running virtualized with App-V should open a named object called **AppVVirtual-<PID>** in the default namespace (PID stands for process ID). To find the process ID of the process you're currently using, enter the Windows API **GetCurrentProcessId()**.
Additionally, ISVs who want to explicitly virtualize or not virtualize calls on specific APIs with App-V 5.1 and later, can use the **VirtualizeCurrentThread()** and **CurrentThreadIsVirtualized()** functions implemented in the AppEntSubsystems32.dll module. These provide a way of hinting at a downstream component that the call should or should not be virtualized.
For example, let's say the process ID is 4052. If you can successfully open a named Event object called **AppVVirtual-4052** with the **OpenEvent()** API in the default read access namespace, then the application is virtual. If the **OpenEvent()** call fails, the application isn't virtual.
Additionally, ISVs who want to explicitly virtualize or not virtualize calls on specific APIs with App-V 5.1 and later can use the **VirtualizeCurrentThread()** and **CurrentThreadIsVirtualized()** functions implemented in the AppEntSubsystems32.dll module to hint to a downstream component whether the call should be virtualized or not.
## Have a suggestion for App-V?

View File

@ -1,6 +1,6 @@
---
title: How to Manage App-V Packages Running on a Stand-Alone Computer by Using Windows PowerShell (Windows 10)
description: How to Manage App-V Packages Running on a Stand-Alone Computer by Using Windows PowerShell
title: How to manage App-V packages running on a stand-alone computer by using Windows PowerShell (Windows 10)
description: How to manage App-V packages running on a stand-alone computer by using Windows PowerShell.
author: MaggiePucciEvans
ms.pagetype: mdop, appcompat, virtualization
ms.mktglfcycl: deploy
@ -8,128 +8,82 @@ ms.sitesec: library
ms.prod: w10
ms.date: 04/19/2017
---
# How to manage App-V packages running on a stand-alone computer by using Windows PowerShell
>Applies to: Windows 10, version 1607
# How to Manage App-V Packages Running on a Stand-Alone Computer by Using Windows PowerShell
The following sections explain how to perform various management tasks on a stand-alone client computer with Windows PowerShell cmdlets.
**Applies to**
- Windows 10, version 1607
## 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*.
The following sections explain how to perform various management tasks on a stand-alone client computer by using Windows PowerShell:
For example:
- [To return a list of packages](#bkmk-return-pkgs-standalone-posh)
```PowerShell
Get-AppvClientPackage Name ContosoApplication -Version 2
```
- [To add a package](#bkmk-add-pkgs-standalone-posh)
## Add a package
- [To publish a package](#bkmk-pub-pkg-standalone-posh)
Use the **Add-AppvClientPackage** cmdlet to add a package to a computer.
- [To publish a package to a specific user](#bkmk-pub-pkg-a-user-standalone-posh)
>[!IMPORTANT]
>This example only adds a package. It does not publish the package to the user or the computer.
- [To add and publish a package](#bkmk-add-pub-pkg-standalone-posh)
For example:
- [To unpublish an existing package](#bkmk-unpub-pkg-standalone-posh)
```PowerShell
$Contoso = Add-AppvClientPackage \\\\path\\to\\appv\\package.appv
```
- [To unpublish a package for a specific user](#bkmk-unpub-pkg-specfc-use)
## Publish a package
- [To remove an existing package](#bkmk-remove-pkg-standalone-posh)
Use the **Publish-AppvClientPackage** cmdlet to publish a package that has been added to a specific user or globally to any user on the computer.
- [To enable only administrators to publish or unpublish packages](#bkmk-admins-pub-pkgs)
Enter the cmdlet with the application name to publish it to the user.
- [Understanding pending packages (UserPending and GlobalPending)](#bkmk-understd-pend-pkgs)
```PowerShell
Publish-AppvClientPackage ContosoApplication
```
## <a href="" id="bkmk-return-pkgs-standalone-posh"></a>To return a list of packages
To publish the application globally, just add the *-Global* parameter.
```Powershell
Publish-AppvClientPackage ContosoApplication -Global
```
Use the following information to return a list of packages that are entitled to a specific user:
## Publish a package to a specific user
**Cmdlet**: Get-AppvClientPackage
>[!NOTE]  
>You must use App-V 5.0 SP2 Hotfix Package 5 or later to use this parameter.
**Parameters**: -Name -Version -PackageID -VersionID
**Example**: Get-AppvClientPackage Name “ContosoApplication” -Version 2
## <a href="" id="bkmk-add-pkgs-standalone-posh"></a>To add a package
Use the following information 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.
 
**Cmdlet**: Add-AppvClientPackage
**Example**: $Contoso = Add-AppvClientPackage \\\\path\\to\\appv\\package.appv
## <a href="" id="bkmk-pub-pkg-standalone-posh"></a>To publish a package
Use the following information to publish a package that has been added to a specific user or globally to any user on the computer.
<table>
<colgroup>
<col width="30%" />
<col width="70%" />
</colgroup>
<thead>
<tr class="header">
<th align="left">Publishing method</th>
<th align="left">Cmdlet and example</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td align="left"><p>Publishing to the user</p></td>
<td align="left"><p><strong>Cmdlet</strong>: Publish-AppvClientPackage</p>
<p><strong>Example</strong>: Publish-AppvClientPackage “ContosoApplication”</p></td>
</tr>
<tr class="even">
<td align="left"><p>Publishing globally</p></td>
<td align="left"><p><strong>Cmdlet</strong>: Publish-AppvClientPackage</p>
<p><strong>Example</strong>: Publish-AppvClientPackage “ContosoApplication” -Global</p></td>
</tr>
</tbody>
</table>
 
## <a href="" id="bkmk-pub-pkg-a-user-standalone-posh"></a>To 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).
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 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).
- You must be logged in with administrative credentials to use the parameter.
For example:
- The end user must be logged in.
```PowerShell
Publish-AppvClientPackage ContosoApplication -UserSID S-1-2-34-56789012-3456789012-345678901-2345
```
- You must provide the end users security identifier (SID).
## Add and publish a package
**Cmdlet**: Publish-AppvClientPackage
Use the **Add-AppvClientPackage** cmdlet to add a package to a computer and publish it to the user.
**Example**: Publish-AppvClientPackage “ContosoApplication” -UserSID S-1-2-34-56789012-3456789012-345678901-2345
For example:
## <a href="" id="bkmk-add-pub-pkg-standalone-posh"></a>To add and publish a package
Use the following information to add a package to a computer and publish it to the user.
**Cmdlet**: Add-AppvClientPackage
**Example**: Add-AppvClientPackage \\\\path\\to\\appv\\package.appv | Publish-AppvClientPackage
## <a href="" id="bkmk-unpub-pkg-standalone-posh"></a>To unpublish an existing package
```PowerShell
Add-AppvClientPackage \\\\path\\to\\appv\\package.appv | Publish-AppvClientPackage
```
## Unpublish an existing package
Use the following information to unpublish a package which has been entitled to a user but not remove the package from the computer.
@ -137,7 +91,7 @@ Use the following information to unpublish a package which has been entitled to
**Example**: Unpublish-AppvClientPackage “ContosoApplication”
## <a href="" id="bkmk-unpub-pkg-specfc-use"></a>To unpublish a package for a specific user
## Unpublish a package for a specific user
**Note**