Моя очередь MSMQ создается с помощью PowerShell DSC engine. Я вижу, как создаются очереди. Поскольку механизм DSC запускается из учетной записи SYSTEM, владелец очереди также получает значение SYSTEM. Когда я пытаюсь установить MSMQ ACL из консоли PowerShell я постоянно получать следующее сообщение об ошибке:Не удается настроить MSMQ ACL с помощью командлета PowerShell
PS C:\Users\Administrator.DOMAIN> whoami; Get-MsmqQueue queue1 | Set-MsmqQueueACL -UserName "Everyone" -Allow FullControl
DOMAIN\administrator
Set-MsmqQueueACL : Failed to set security descriptor. Error code: 3222143013
At line:1 char:50
+ whoami; Get-MsmqQueue incredipay_atm_processor | Set-MsmqQueueACL -UserName "Eve ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidResult: (FullControl:MessageQueueAccessRights) [Set-MsmqQueueACL], Win32Exception
+ FullyQualifiedErrorId : Failed to set security descriptor. Error code: 3222143013,Microsoft.Msmq.PowerShell.Commands.SetMSMQQueueACLCommand
Я также не могу установить MSMQ ACL, используя пользовательский ресурс DSC, который в основном делает то же самое, только с системной учетной записью. Вопрос в том, есть ли способ установить разрешения MSMQ из ядра DSC PowerShell с помощью командлета Set-MSMQQueueACL. Или, по крайней мере, если я смогу решить упомянутую выше ошибку, то, возможно, я смогу решить и проблему DSC. Я запускаю Windows 2012 и WMF 4.0.
Заранее спасибо.
Так что прямо сейчас я передаю параметр [PSCredential] в свой пользовательский ресурс. Я пытаюсь сделать олицетворение, а затем выполнить необходимые команды, но, к сожалению, многие ресурсы по-прежнему используют SYSTEM при выполнении пользовательских команд, несмотря на то, что я пытаюсь изменить контекст процесса на учетную запись администратора домена. Вероятно, это причина, по которой MSMQ создает очереди с SYSTEM в качестве владельца очереди. –
Редактировать свой вопрос, чтобы показать код; должен помочь нам ответить. – briantist
Странная вещь, когда я пытаюсь установить ACL для очереди MSMQ (уже созданной DSC с помощью SYSTEM как владельца и полного доступа к управлению) изнутри контекста SYSTEM. Я получаю ошибку (которая запрещена), несмотря на то, что SYSTEM имеет FullControl доступ к очереди. –