Citrix Virtual Apps and Desktops SDK

Remove-BrokerApplication

Deletes one or more applications, or an association of an application.

Syntax

Remove-BrokerApplication
      [-InputObject] <Application[]>
      [-Force]
      [-ApplicationGroup <ApplicationGroup>]
      [-DesktopGroup <DesktopGroup>]
      [-LoggingId <Guid>]
      [<CitrixCommonParameters>]
      [<CommonParameters>]
<!--NeedCopy-->
Remove-BrokerApplication
      [-Force]
      [-Name] <String>
      [-ApplicationGroup <ApplicationGroup>]
      [-DesktopGroup <DesktopGroup>]
      [-LoggingId <Guid>]
      [<CitrixCommonParameters>]
      [<CommonParameters>]
<!--NeedCopy-->

Description

The Remove-BrokerApplication cmdlet deletes one or more applications, or you can use it to delete just the association of an application to a desktop group or application group.

Its usage dictates the behavior of the cmdlet. If only the application is specified as a parameter, then the cmdlet deletes the application. It also deletes any associations this application has with other objects, such as with access policy rules or desktop groups. More specifically, when an application is deleted the following happens:

  • The association to any desktop groups is removed.
  • The association to any application groups is removed.
  • The association to any tags is removed.
  • Any configured file-type association objects for this application are deleted.
  • The association to any user accounts is removed.
  • The association to any access session conditions is removed.
  • The access policy rule object for this application, if one existed, is deleted.
  • Finally, the application object itself is deleted.

Note that if the application is in use by a user then the application cannot be deleted.

If more than just the application is supplied as a parameter to the cmdlet (for instance, if a DesktopGroup object is also specified) then the application is not deleted. Instead, only the association from the application to that desktop group is removed.

Examples

EXAMPLE 1

This command deletes the application that has a BrowserName of “Notepad”.

Remove-BrokerApplication "Notepad"
<!--NeedCopy-->

EXAMPLE 2

This command removes the association of the desktop group that has a name of “Private DesktopGroup” from the application that has a BrowserName of “Notepad”. It does not otherwise modify the application.

$app = Get-BrokerApplication -BrowserName "Notepad"
$group = Get-BrokerDesktopGroup -Name "Private DesktopGroup"
Remove-BrokerApplication -InputObject $app -DesktopGroup $group
<!--NeedCopy-->

Parameters

-InputObject

Specifies the applications to delete. The Uid can also be substituted for the application objects.

Type: Application[]
Position: 2
Default value: None
Required: True
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-Name

Specifies the name of the application to remove.

Type: String
Position: 2
Default value: None
Required: True
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True

-Force

Remove application even if it’s in use. Removing an application that is currently in use, can potentially leave an application session containing no applications. If all the applications that are currently active in a disconnected application session are removed, the user will be unable to reconnect to the session. Forcing removal of an in-use application does not impact the actual session itself.

Type: SwitchParameter
Position: Named
Default value: False
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-ApplicationGroup

Specifies the application group that this application should no longer be associated with. The Uid or Name can also be substituted for the application group object.

Type: ApplicationGroup
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-DesktopGroup

Specifies the desktop group that this application should no longer be associated with. The Uid or Name can also be substituted for the desktop group object.

Type: DesktopGroup
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-LoggingId

Specifies the identifier of the high level operation that this cmdlet call forms a part of. Desktop Studio and Desktop Director typically create High Level Operations. PowerShell scripts can also wrap a series of cmdlet calls in a High Level Operation by way of the Start-LogHighLevelOperation and Stop-LogHighLevelOperation cmdlets.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

CitrixCommonParameters

This cmdlet supports the common Citrix parameters: -AdminAddress, -AdminClientIP, -BearerToken, -TraceParent, -TraceState and -VirtualSiteId. For more information, see about_CitrixCommonParameters.

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

Citrix.Broker.Admin.SDK.Application

The application objects can be specified as input.

Outputs

None

This cmdlet does not return any output.

Remove-BrokerApplication