我正在尝试设置一个脚本,该脚本将向域中的所有用户发送消息 - 混合,有些是在Windows 10 Surface Pro上,有些是Citrix VDI。
底部的Citrix Part不是很正确,在启动会话时,我似乎需要将Citrix模块导入DDC,即使我通过PS Session(new-pssession)连接到控制器。 VDI用户桌面上的消息未显示,并且不确定原因......
$Cred = Read-Host "enter-username e.g. domain\user.name"
$computers = Get-Content C:\Scripts\allcomputers.txt #| Where-Object { $_ }
#foreach ($computer in $computers) {
# Invoke-Command -computername $computer -scriptblock {msg * "INSERT MESSAGE TO STAFF HERE"} -Credential $cred
}
# Import-Module Citrix.XenDesktop.Admin?
# Add-PSSnapin Citrix?
$s = New-PSSession -cn DDC -Credential DOMAIN\Cred
Invoke-Command -Session $s -ScriptBlock { $sessions = Get-BrokerSession -UserName DOMAIN\User ;
Send-BrokerSessionMessage $sessions -MessageStyle Information -Title TestTitle -Text TestMessage
}
Get-PSSession | Remove-PSSession
如果我在交互式会话中使用脚本块中的命令,则模块似乎没有安装,因此注释掉了2行......:S
答案 0 :(得分:0)
感谢您的帮助 - 工作代码,它将通过PowerShell向所有Citrix XDT会话发送消息:
$s = New-PSSession -cn CitrixDDC -Credential Domain\Administrator
Invoke-Command -Session $s -ScriptBlock { import-module
Citrix.XenDesktop.Admin; Add-PSSnapin Citrix.*;
$sessions = Get-BrokerSession -UserName Domain\* `
Send-BrokerSessionMessage $sessions -MessageStyle Information -Title
TestTitle -Text TestMessage
}
Get-PSSession | Remove-PSSession