Setting MSMQ permissions for a private queue created by a different user

Right click on Your Queue -> Properties -> Security -> Goto Advanced and modify permission for groups.


And for a manual process if all else fails:

  1. Stop the MSMQ Service (Services -> Message Queuing)
  2. Open the C:\WINDOWS\system32\msmq\storage\lqs folder
  3. Find the config file in this folder that describes a queue that has "good" security permissions. You will need to open each file in turn with a text editor to determine which queue it relates to.
  4. Once you have the correct file open, locate the line in the file that begins Security=....
  5. Copy the whole line to your clipboard (watch out for Word Wrap, this line will be quite long)
  6. Find the config file in this folder that describes your problem queue
  7. Open this file in a text editor.
  8. Overwrite the Security=... line in this file with the contents of your clipboard
  9. Save the modified file
  10. Start the MSMQ service; new permissions will be picked up.

Cheers

John Breakwell


First, change the ownership of the queue to the Administrators group; then assign yourself the permissions you need.


The easiest approach to allow modifying permissions from the user which didn't allow do this is to run PowerShell as Administrator and run the command:

Get-MsmqQueue -Name "MyQueue" -QueueType Private | 
  Set-MsmqQueueAcl -UserName "Everyone" -Allow FullControl

This will allow you to edit permissions in the Windows user interface.