Citrix创建一个新命令以传送到桌面
New-BrokerMachineCommand
语法
New-BrokerMachineCommand -User <String> -Category <String> -CommandName <String> [-DesktopGroups <DesktopGroup[]>] [-SendTrigger <MachineCommandTrigger>] [-SendDeadline <TimeSpan>] [-CommandData <Byte[]>] [-LoggingId <Guid>] [-AdminAddress <String>] [<CommonParameters>] New-BrokerMachineCommand -MachineUid <Int32> -Category <String> -CommandName <String> [-SendTrigger <MachineCommandTrigger>] [-SendDeadline <TimeSpan>] [-CommandData <Byte[]>] [-LoggingId <Guid>] [-AdminAddress <String>] [<CommonParameters>] New-BrokerMachineCommand -SessionUid <Int64> -Category <String> -CommandName <String> [-SendTrigger <MachineCommandTrigger>] [-SendDeadline <TimeSpan>] [-CommandData <Byte[]>] [-LoggingId <Guid>] [-AdminAddress <String>] [<CommonParameters>] New-BrokerMachineCommand -Synchronous -MachineUid <Int32> -Category <String> -CommandName <String> [-CommandData <Byte[]>] [-LoggingId <Guid>] [-AdminAddress <String>] [<CommonParameters>]
详细说明
创建一个排队等待传送到桌面的新命令。命令使用 Category 参数发送到安装在桌面上的特定处理程序。每个处理程序都有自己的命令列表,这些命令由 CommandName 参数标识。可以使用 CommandData 参数以处理程序指定的格式提供可选命令数据。
命令针对特定用户、会话或计算机。针对用户的命令可以进一步限制为一个或多个桌面组。
SendTrigger 用于将命令限制为与目标相关的特定事件。例如,当目标计算机注册或目标用户重新连接到会话时。当目标发生 SendTrigger 时,该命令将发送到计算机。
如果提供了 Synchronous 开关,则目标必须是一台机器,并且不能指定 SendTrigger。如果计算机当前已注册,则命令会立即发送到计算机,如果计算机未注册,则命令将失败。
请注意,Category 和 CommandName 的组合长度限制为 64 个字符。Category 和 CommandName 必须完全是字母数字,并且不包含任何空格。
相关命令
参数
名字 | 描述 | 必填? | 管道输入 | 默认值 |
---|---|---|---|---|
类别 | 要将命令发送到的桌面上的服务。 | 真 | true (ByPropertyName) | |
命令名称 | 要发送的命令的名称(由服务定义)。 | 真 | true (ByPropertyName) | |
用户 | 其桌面或会话应接收命令的用户。 | 真 | true (ByPropertyName) | 任何用户。 |
机器 Uid | 应接收命令的特定计算机。 | 真 | true (ByPropertyName) | |
会话 Uid | 当前登录的用户会话应接收命令。 | 真 | true (ByPropertyName) | 任何会话。 |
同步 | 立即发送命令并在等待回复时阻止。 | 真 | 假 | 假 |
命令数据 | 命令中包含的可选附加数据。 | 假 | true (ByPropertyName) | 没有 |
日志记录 ID | 指定此 cmdlet 调用构成其一部分的高级作的标识符。Desktop Studio 和 Desktop Director 通常会创建高级作。PowerShell 脚本还可以通过 Start-LogHighLevelOperation 和 Stop-LogHighLevelOperation cmdlet 将一系列 cmdlet 调用包装在高级作中。 | 假 | 假 | |
管理员地址 | 指定 PowerShell 管理单元将连接到的 XenDesktop 控制器的地址。这可以作为主机名或 IP 地址提供。 | 假 | 假 | 本地主机。一旦任何 cmdlet 提供了值,此值将成为默认值。 |
桌面组 | 进一步将针对用户的命令限制为这些桌面组中的计算机。 | 假 | true (ByPropertyName) | 不受桌面组限制。 |
发送触发器 | 将命令排队以进行传递,直到此特定事件发生。有效值为 NextContact、Broker、LogOn、Logoff、Disconnect 和 Reconnect。 | 假 | true (ByPropertyName) | 默认值为 ‘NextContact’,因此在下次与桌面通信时发送命令。 |
发送截止时间 | 如果在指定的时间跨度之前未传递命令,则自动取消命令。 | 假 | true (ByPropertyName) | 命令在 24 小时后过期。 |
输入类型
没有
不接受来自输入管道的参数。
返回值
Citrix.Broker.Admin.SDK.MachineCommand
添加到命令 queue.### Citrix.Broker.Admin.SDK.MachineSynchronousCommandResponse 的新命令 使用 Synchronous 选项时,命令会立即发送到指定的计算机并进行处理。返回的 SDK 对象描述了命令以及该命令处理的结果。## 说明 命令受基于桌面组、类别和命令名称的委托管理限制的约束。
例子
示例 1
New-BrokerMachineCommand -Category UserProfileManager -CommandName "ResetUpmProfile" -DesktopGroups 1 -CommandData $byteArray -SendTrigger logon -user domain1\user1
描述
———–
当用户 domain1\user1 登录到桌面组 1 中的任何计算机时,指示 User Profile Manager 服务使用编码的 $byteArray 命令数据执行“ResetUpmProfile”命令
示例 2
New-BrokerMachineCommand -Synchronous -Category "MonitorService" -CommandName "EnableLogging" -MachineUid 13
描述
———–
指示监控服务立即在 Uid 为 13 的机器上执行 EnableLogging 命令。