我已经搜索了许多地方,无法找到修改现有MSMQueue权限的方法。
通常,在创建队列期间设置权限。在这种情况下没有发生。删除队列并重新安装不是一种选择。
对于在现有队列上更新权限的任何帮助,我将不胜感激。
我知道我可以做到:
[Reflection.Assembly]::LoadWithPartialName("System.Messaging") | Out-Null
$msmq = [System.Messaging.MessageQueue]
$q = $msmq::Create($qName,$true)
$q.SetPermissions($Access,[System.Messaging.MessageQueueAccessRights]::ReceiveMessage, [System.Messaging.AccessControlEntryType]::Set)
,我知道我可以删除队列,但是在这种情况下,这不是一个选择。我需要的是另一种掌握MSMQ设置$ q的方法,然后我应该能够设置SetPermissions。我只是不知道我们需要什么$ msmq :: {我需要的东西}($ qName)。
请注意,我无法使用Powershell更高版本中提供的MSMQ cmdlet。