-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmsmq_install.ps1
25 lines (20 loc) · 1005 Bytes
/
msmq_install.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[Reflection.Assembly]::LoadWithPartialName("System.Messaging")
function Delete-Queue($queueName) {
if ([System.Messaging.MessageQueue]::Exists($queueName))
{
[System.Messaging.MessageQueue]::Delete($queueName)
Write-Host "Deleting queue $queueName"
}
}
function Create-Queue($queueName, $userName) {
$qb = [System.Messaging.MessageQueue]::Create($queueName)
if ($userName) {
$acl = ([System.Messaging.MessageQueueAccessRights]::GenericRead -bor [System.Messaging.MessageQueueAccessRights]::GenericWrite)
$qb.SetPermissions($userName, $acl, [System.Messaging.AccessControlEntryType]::Set)
}
}
function Set-QueueAcls($queueName, $userName, $acl) {
}
$queues = ".\private$\messagebus", ".\private$\subscriptions", ".\private$\error", ".\private$\client", ".\private$\worker", ".\private$\worker2", ".\private$\external"
$appPoolUser = "DefaultAppPool" # Win7/2008 + IIS 7.5
$queues | % { Delete-Queue $_; Create-Queue $_ $appPoolUser }