Citrix Virtual Apps and Desktops SDK

Remove-BrokerMachine

Removes one or more machines from its desktop group or catalog.

Syntax

Remove-BrokerMachine
      [-InputObject] <Machine[]>
      [-Force]
      [-DesktopGroup <DesktopGroup>]
      [-LoggingId <Guid>]
      [<CitrixCommonParameters>]
      [<CommonParameters>]
<!--NeedCopy-->
Remove-BrokerMachine
      [-Force]
      [-MachineName] <String>
      [-DesktopGroup <DesktopGroup>]
      [-LoggingId <Guid>]
      [<CitrixCommonParameters>]
      [<CommonParameters>]
<!--NeedCopy-->

Description

The Remove-BrokerMachine cmdlet removes one or more machines from their desktop group or catalog. There are three forms:

  • Use the -InputObject parameter to remove a single machine instance or

array of instances from their desktop group or catalog.

  • Use the -MachineName parameter to remove the single named machine from

its group or catalog.

  • Use pipelining to pipe machine instances to the command.

To remove machines from their desktop group use the -DesktopGroup parameter; the specified group must be the one that contains the machines. If more than one machine is being removed from its group they must all be members of the same group.

If the -DesktopGroup parameter is not used then the machines are removed from their catalog. Removing a machine from its catalog deletes the record of the machine from the Citrix Broker Service.

Machines cannot be removed from their catalog while they are members of a desktop group.

Examples

EXAMPLE 1

These all remove a single machine from a desktop group, identifying the group by instance, UID, or name.

Remove-BrokerMachine -InputObject $machine -DesktopGroup $desktopGroup
Remove-BrokerMachine -InputObject $machine -DesktopGroup 2
Remove-BrokerMachine $machine -DesktopGroup "MyDesktopGroup"
<!--NeedCopy-->

EXAMPLE 2

These remove the machine called “DOMAIN\MyMachine” from its desktop group.

Remove-BrokerMachine -MachineName "DOMAIN\MyMachine" -DesktopGroup 2
Remove-BrokerMachine DOMAIN\MyMachine -DesktopGroup "MyDesktopGroup"
Remove-BrokerMachine DOMAIN\MyMachine -DesktopGroup $desktopGroup
<!--NeedCopy-->

EXAMPLE 3

These all remove a machine from its catalog.

Remove-BrokerMachine -MachineName DOMAIN\MyMachine
Remove-BrokerMachine "DOMAIN\MyMachine"
Remove-BrokerMachine $machine
<!--NeedCopy-->

EXAMPLE 4

These find specific machines and remove them from their desktop group or catalog.

Get-BrokerMachine -Uid 3 | Remove-BrokerMachine -DesktopGroup $dg
Get-BrokerMachine -CatalogUid 4 | Remove-BrokerMachine
<!--NeedCopy-->

Parameters

-InputObject

An array of machines to be removed from their desktop group or catalog.

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

-MachineName

The name of the single machine to remove (must match the MachineName property of the machine).

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

-Force

Forces removal of machine from a desktop group even if it is still in use (that is, there are user sessions running on the machine). Forcing removal of a machine does not disconnect or logoff the user sessions.

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

-DesktopGroup

The desktop group from which the machines are to be removed, specified by name, UID, or instance.

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.Machine

You can pipe in the machines to be removed.

Outputs

None

By default, this cmdlet returns no output.

Remove-BrokerMachine