Enable-AppVentiXSeamlessPublishing
Enables seamless publishing for the specified AppVentiX publishing task.
Syntax
Enable-AppVentiXSeamlessPublishing
-Id <String>
-SubscriptionId <String>
-TenantId <String>
-ResourceGroupName <String>
-ApplicationGroupName <String>
-HostPoolName <String>
-AssignmentName <String>
[-RunVirtual]
[<CommonParameters>]
Enable-AppVentiXSeamlessPublishing
-Id <String>
-SubscriptionId <String>
-TenantId <String>
-ResourceGroupName <String>
-ApplicationGroupName <String>
-HostPoolName <String>
-AssignmentName <String>
-SeamlessApps <PSCustomObject[]>
[<CommonParameters>]
Description
The Enable-AppVentiXSeamlessPublishing function enables seamless publishing for the specified AppVentiX publishing task. It supports publishing to Azure Virtual Desktop (AVD) application groups.
When Azure parameters are provided, the function:
- Connects to Azure using the Az PowerShell modules
- Creates or updates the AVD application group if needed
- Assigns an Azure AD group or user to the application group
- Removes existing applications from the group and publishes the new ones
- Updates the publishing task XML with seamless application details
When no Azure parameters are provided, the function returns the publish command parameters as output objects so they can be used with another publishing tool.
Parameters
-Id
Specifies the ID of the publishing task for which to enable seamless publishing. Accepts pipeline input by property name.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
-SubscriptionId
Specifies the Azure subscription ID where the AVD resources are located.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-TenantId
Specifies the Azure tenant ID.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-ResourceGroupName
Specifies the name of the Azure resource group containing the AVD resources.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-ApplicationGroupName
Specifies the name of the Azure Virtual Desktop application group to publish applications to. Has alias: ApplicationGroup.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-HostPoolName
Specifies the name of the Azure Virtual Desktop host pool associated with the application group. Has alias: HostPool.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-AssignmentName
Specifies the name of the Azure AD group or user to assign to the application group.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
-SeamlessApps
Specifies the applications to publish seamlessly. Each PSCustomObject must contain the properties: Order, Executable, Argument, IconPath, FriendlyName, RunVirtual, Description.
| Type: | PSCustomObject[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
-RunVirtual
When specified, marks the applications as running virtually (App-V style). Only applicable when using the IDAzureAll parameter set (automatic app detection).
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Examples
Example 1: Enable seamless publishing for all apps in a package
Enable-AppVentiXSeamlessPublishing -Id '12345678-1234-1234-1234-123456789012' `
-SubscriptionId '12345678-1234-1234-1234-123456789012' `
-TenantId '00000000-0000-0000-0000-000000000000' `
-ResourceGroupName 'MyResourceGroup' `
-ApplicationGroupName 'MyApplicationGroup' `
-HostPoolName 'MyHostPool' `
-AssignmentName 'MyAADGroup'
Enables seamless publishing for all applications detected in the package.
Example 2: Enable seamless publishing from a new task
$params = @{
SubscriptionId = '12345678-1234-1234-1234-123456789012'
TenantId = '00000000-0000-0000-0000-000000000000'
ResourceGroupName = 'MyResourceGroup'
ApplicationGroupName = 'MyApplicationGroup'
HostPoolName = 'MyHostPool'
AssignmentName = 'MyAADGroup'
}
$newTask | Enable-AppVentiXSeamlessPublishing @params
Uses the output of New-AppVentiXPublishingTask piped to enable seamless publishing.
Example 3: Enable seamless publishing with specific applications
Enable-AppVentiXSeamlessPublishing -Id '12345678-1234-1234-1234-123456789012' `
-SubscriptionId '12345678-1234-1234-1234-123456789012' `
-TenantId '00000000-0000-0000-0000-000000000000' `
-ResourceGroupName 'MyResourceGroup' `
-ApplicationGroupName 'MyApplicationGroup' `
-HostPoolName 'MyHostPool' `
-AssignmentName 'MyAADGroup' `
-SeamlessApps @(
[PSCustomObject]@{
Order = '0'
Executable = 'MSIXApp1ID#Path\To\MSIXApp1.exe'
Argument = ''
IconPath = 'C:\Program Files\WindowsApps\App.1.1.1.1_x64__abc\Assets\App1.png'
FriendlyName = 'App1'
RunVirtual = $false
Description = 'This is the first application'
}
)
Enables seamless publishing for specific applications rather than auto-detecting from the package manifest.
Notes
- Requires a valid AppVentiX license
- Requires the Az.Accounts (minimum 2.17.0), Az.DesktopVirtualization (minimum 4.3.0), and Az.Resources (minimum 7.4.0) PowerShell modules
- An active Azure connection is required; the function will prompt for login if not already connected
- If no Azure parameters are provided, the function returns publish command parameters as output objects