如何使用脚本(Powershell)或命令行工具(C#)从客户端计算机上以编程方式从客户端计算机中的远程服务器中的MS Queue中清除/删除消息?
客户端计算机上的我的用户(凭据)在远程服务器的MS Queue中具有“完全控制”权限。
最佳答案
试试这个:
Invoke-Command -ComputerName "mycomputer" -ScriptBlock {
## if public then $queuename = ".\YOUR_Q_NAME"
$queuename = ".\private$\YOUR_Q_NAME"
[Reflection.Assembly]::LoadWithPartialName("System.Messaging") | Out-Null
$queue = New-Object -TypeName "System.Messaging.MessageQueue"
$queue.Path = $queuename
$messagecount = $queue.GetAllMessages().Length
$queue.Purge()
Write-Host "$queuename has been purged of $messagecount messages."
}
注意:需要在远程服务器中启用PS Remoting。