Send-BrokerSessionMessage
Sends a message to a session.
Syntax
Send-BrokerSessionMessage
[-InputObject] <Session[]>
[-MessageStyle] <SendMessageStyle>
[-Title] <String>
[-Text] <String>
[-LoggingId <Guid>]
[<CitrixCommonParameters>]
[<CommonParameters>]
Description
Generates a message box in the target session(s).
Examples
EXAMPLE 1
Sends a message to all the sessions for any user in MYDOMAIN.
$sessions = Get-BrokerSession -UserName MYDOMAIN\*
Send-BrokerSessionMessage $sessions -MessageStyle Information -Title TestTitle -Text TestMessage
EXAMPLE 2
Sends a message to the session on the desktop with Uid 1.
$desktop = Get-BrokerDesktop -Uid 1
Send-BrokerSessionMessage $desktop.SessionUid -MessageStyle Information -Title TestTitle -Text TestMessage
EXAMPLE 3
Trap and display error information.
trap [Citrix.Broker.Admin.SDK.SdkOperationException]
{
write $("Exception name = " + $_.Exception.GetType().FullName)
write $("SdkOperationException.Status = " + $_.Exception.Status)
write $("SdkOperationException.ErrorData=")
$_.Exception.ErrorData
write $("SdkOperationException.InnerException = " + $_.Exception.InnerException)
$_.Exception.InnerException
continue
}
Send-BrokerSessionMessage -InputObject 10,11,12 -MessageStyle Information -Title "message title" -Text "message text"
Parameters
-InputObject
The target session(s) to send the message to.
| Type: | Session[] |
| Position: | 2 |
| Default value: | None |
| Required: | True |
| Accept pipeline input: | True (ByValue) |
| Accept wildcard characters: | False |
-MessageStyle
The style of message box to use (valid values are Critical, Question, Exclamation, or Information).
| Type: | SendMessageStyle |
| Position: | 3 |
| Default value: | None |
| Required: | True |
| Accept pipeline input: | True (ByValue) |
| Accept wildcard characters: | False |
-Title
Text to display in the messagebox title bar.
| Type: | String |
| Position: | 4 |
| Default value: | None |
| Required: | True |
| Accept pipeline input: | True (ByValue) |
| Accept wildcard characters: | False |
-Text
The message to display.
| Type: | String |
| Position: | 5 |
| 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.Session
The session to which to send the message can be piped in.
Outputs
None
By default, this cmdlet returns no output.
Notes
Sessions can be passed as the InputObject parameter as either session objects or their numeric Uids.
This operation is non-blocking and returns before it completes. The operation, however, is unlikely to fail unless there are communication problems between controller and machine, if bad arguments are passed to the cmdlet itself or if the machine cannot successfully execute the operation.
The transient nature of sessions means that the list of session objects or UIDs supplied to Send-BrokerSessionMessage could consist of valid and invalid sessions. Invalid sessions are detected and disregarded and the send message operation is invoked on the machines running valid sessions.
The system can fail to invoke the operation if the machine is not in an appropriate state or if there are problems in communicating with the machine. When an operation is invoked the system detects if the operation was initiated successfully or not by the session. As this operation is non-blocking the system doesn't detect or report whether the operation ultimately succeeded or failed after its successful initialization in the session.
Operation failures are reported through the broker SDK error handling mechanism (see about_Broker_ErrorHandling). In the event of errors the SdkErrorRecord error status code is set to SessionOperationFailed and its error data dictionary is populated with the following entries:
-
OperationsAttemptedCount: The number of operations attempted.
-
OperationsFailedCount - The number of failed operations.
-
OperationsSucceededCount - The number of successfully executed operations.
-
UnresolvedSessionFailuresCount - The number of operations that failed due to invalid sessions being supplied.
-
OperationInvocationFailuresCount - The number of operations that failed because they could not be invoked in the session.
-
DesktopExecutionFailuresCount - The number of operations that failed because they could not be successfully executed in the session.
The SdkErrorRecord message will also display the number of attempted, failed and successful operations in the following format:
"Session operation error - attempted:\<OperationsAttemptedCount\>, failed:\<OperationsFailedCount\>, succeeded:\<OperationsSucceededCount\>"