Monday, 14 September 2015

Creating a MSMQ queue with Powershell

In Powershell, we can create a MSMQ queue using. In addition we can set the Access Control rights on the queue readily.

#MSMQ Queue Creation Tool (Powershell) 
#Setup the script here 
$queueName = ".\somepublicqueue"
$userNameWithFullPermission = "somedomain\someuser" #adjust username here 
Write-Host "MSMQ Queue creation tool" 
Write-Host "" 
Write-Host "Loading the .NET Messaging assembly ...." 
Write-Host "Loaded System.Messaging assembly." 
Write-Host ""
Write-Host "Creating MSMQ PublicQueue" 
if (![System.Messaging.MessageQueue]::Exists($queueName)){
    Write-Host "Creating queue with name: $queueName"
    $queue = [System.Messaging.MessageQueue]::Create($queueName) 
    Write-Host "Queue created."
    Write-Host "Setting up permissions on queue $queueName Giving full permission to user: $userNameWithFullPermission"
    Write-Host "Queue permissions set."
else {
    Write-Host "Queue already exists." 
Write-Host "The following public queues were found on this machine" 
$queues = [System.Messaging.MessageQueue]::GetPublicQueuesByMachine(".") 
foreach ($q in $queues){
 Write-Host "        "$q.QueueName -ForegroundColor Yellow
Write-Host "Done.";

No comments:

Post a Comment