Purge MSMQ queue and reset IIS from a bat file

拥有回忆 提交于 2019-11-30 13:47:58

Take a look on MSMQAdm Utility

Tasks administered through the utility programs include the following:

  • Browsing local queues
  • Purging messages
  • Deleting individual messages
  • Stopping and starting MSMQ service
  • Connecting and disconnecting from the network

Don't forget about powershell, take a look on PowerShell Community Extensions

Update

Open powershell and write line by line

[Reflection.Assembly]::LoadWithPartialName("System.Messaging")
$queueName = '.\Private$\testQueue'
$queue = new-object -TypeName System.Messaging.MessageQueue -ArgumentList $queueName
$queue.Purge()

Call powershell from cmd

  1. Create txt file.
  2. Insert all lines
  3. Change file extension on "ps1"

The easiest way call script from cmd.

powershell.exe -executionpolicy Unrestricted C:\purgemsmq.ps1

IVISIONEDI

THis Code Works:

[Reflection.Assembly]::LoadWithPartialName("System.Messaging") | Out-Null 
$Name=(get-wmiobject win32_computersystem).name
$QName=(
"FormatName:Direct=OS:$name\System$;DEADXACT",
"FormatName:Direct=OS:$name\System$;DEADLETTER"
)

foreach ($Q in $Qname){
$MessageQueue = New-Object System.Messaging.MessageQueue($Q)
$MSGCount=$($MessageQueue.GetMessageEnumerator2()).count

IF($MSGCount){
$MessageQueue.Purge()
Write-Host "$Q has been purged of $MSGCount messages." -ForegroundColor green
}
Else{
Write-Host "$Q is clean"}

} 
Victor

PowerShell script to purge all private queues on local machine:

[Reflection.Assembly]::LoadWithPartialName("System.Messaging")
$MachineName=(get-wmiobject win32_computersystem).name
[System.Messaging.MessageQueue]::GetPrivateQueuesByMachine("$MachineName") | % { $_.Purge(); }

As explained in https://stackoverflow.com/a/11793579/1235394, easiest way to execute it is:

  • save script to file purge-private-msmq-queues.ps1
  • in the same folder create script file purge-private-msmq-queues.cmd with following content:

    powershell -executionpolicy Unrestricted .\purge-private-msmq-queues.ps1
    
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!