A while back I posted this , but to have something more “in your face” I put a GUI around it, and this is the latest version.
The script enumerates all messaging queue and displays it in a GUI. The GUI then refreshes every 10 seconds.
THE GUI has four tabs:
- Queue
Display the current queue - Message
Displays messages in the queue - Top 5 Q’s
This displays a “progress bar” of how big the queue actually is - About
Information about the script and options to change the refresh time, logging and output a graph to PowerGadgets
Queue Tab
This tab list all of the current message queues. It uses Get-TransportServer | get-queue | Sort MessageCount -descending
- Server Name drop down box
Allows you to select an individual server - Refresh button
Refreshes the data - Resume Q Button
While clicking on a queue, this button will issue a Resume-Queue -Identity - Suspend Q Button
While clicking on a queue, this button will issue a Suspend-Queue -Identity -confirm:$False - Retry Q Button
While clicking on a queue, this button will issue a Retry-Queue -Identity - Main Grid
If you double click on a queue, information about the queue will appear in a popup box
Message Tab
This tab shows the messages in the queue. If you selected a particular server on the Queue tab, it will only show the messages for that server
- Suspend Msg Button
While clicking on a message, this button will issue a Suspend-Message -Identity -confirm:$False - Resume Msg Button
While clicking on a message, this button will issue a Resume-Message -Identity - Remove Msg Button
While clicking on a message, this button will issue a Remove-Queue -Identity -withNDR $True -confirm:$False - Main Grid
If you double click on a message, information about the selected message will appear in a popup box
Top 5 Q’s Tab
This tab will list up to, the top 5 queues. It is very very basic, but a start
About Tab
The About tab details about the script and provides options for logging, changing the update interval and outputting the script using PowerGadgets.
- Log Stats
When checked the queue information will be logged in a csv file when the queue count is greater than 0. If unchecked, it will not be logged.
You can also select the log path - Enable Verbose Logging
When checked $debugpreference is set to “Continue”. When not checked it is set to “SilentlyContinue” - Output to PowerGadgets
This will output the Queue Identity and Message Count to a PowerGadgets graph - Maximum Graph Size
This is the scale of graph that appears on the Top 5 Q’s tab - Refresh Interval
Default is every 10 seconds. It can be changed here. You need to click update for this to take affect
Command Line
You can also specify the options using the command line
- -NODEBUG
Disable verbose logging - -REFRESH
Refresh interval in seconds - -MAXGRAPH
Maximum value for progress graph - -NOLOG
Do not log data - -LOGPATH
Log Path in quotes
Check it out and let me know what you think