向域中的所有活动用户发送锁定或常规消息,跨体系结构



我正在尝试设置一个脚本,该脚本将向域中的所有用户发送消息 - 混合,有些在Windows 10 Surface Pro上,有些在Citrix VDI上。

底部的 Citrix 部分不太正确,在启动会话时,我似乎需要将 Citrix 模块导入 DDC,即使我通过 PS 会话(new-pssession)连接到控制器。VDI 用户桌面上的消息未显示,不确定原因...

      $Cred = Read-Host "enter-username e.g. domainuser.name" 
            $computers = Get-Content C:Scriptsallcomputers.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 DOMAINCred
               Invoke-Command -Session $s -ScriptBlock { $sessions = Get-BrokerSession -UserName DOMAINUser ;
Send-BrokerSessionMessage $sessions -MessageStyle Information -Title TestTitle -Text TestMessage
               }
               Get-PSSession | Remove-PSSession

如果我在交互式会话中使用脚本块中的命令,则模块似乎没有安装,因此注释掉了 2 行...... :S

感谢您的帮助 - 将通过PowerShell向所有Citrix XDT会话发送消息的工作代码:

$s = New-PSSession -cn CitrixDDC -Credential DomainAdministrator
           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

最新更新