Set-BrokerMachineMaintenanceMode
Sets whether the specified machine(s) are in maintenance mode.
Syntax
Set-BrokerMachineMaintenanceMode
[-InputObject] <Machine[]>
[-MaintenanceMode] <Boolean>
[-LoggingId <Guid>]
[<CitrixCommonParameters>]
[<CommonParameters>]
Description
The cmdlet can be used to set whether a machine is in maintenance mode or not. A machine in maintenance mode is not available for new sessions, and for managed machines all automatic power management is disabled.
There are times when it is necessary to disable desktops. You can do this by setting the InMaintenanceMode property of a desktop to \$true. This puts it into maintenance mode. The broker excludes single-session desktops in maintenance mode from brokering decisions and does not start new sessions on them. Existing sessions are unaffected. For multi-session desktops in maintenance mode, reconnections to existing sessions are allowed, but no new sessions are created on the machine.
Desktops in maintenance mode are also excluded from automatic power management, although explicit power actions are still performed.
This cmdlet is equivalent to using the Set-BrokerMachine cmdlet to set the value of only the InMaintenanceMode property.
Examples
EXAMPLE 1
This example finds all machines in domain MyDomain and removes them from maintenance mode by setting their InMaintenanceMode property to false.
$machines = Get-BrokerMachine -MachineName 'MyDomain\*'
Set-BrokerMachineMaintenanceMode -InputObject $machines $false
Parameters
-InputObject
The machine instances whose InMaintenanceMode property you want to set.
| Type: | Machine[] |
| Position: | 2 |
| Default value: | None |
| Required: | True |
| Accept pipeline input: | True (ByValue) |
| Accept wildcard characters: | False |
-MaintenanceMode
Sets whether the machine is in maintenance mode or not. A machine in maintenance mode is not available for new sessions, and for managed machines all automatic power management is disabled.
| Type: | Boolean |
| Position: | 3 |
| Default value: | None |
| Required: | True |
| 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 whose properties you want to set.
Outputs
None
By default, this cmdlet returns no output.