如何使用脚本(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。

08-26 20:39