2012-04-16 29 views
2

有谁知道如何从PowerShell中的MSMQ专用队列中读取用户\组访问权限?我想这样做是为了安装NServiceBus服务的部署脚本的完整性检查,以确保服务用户在安装服务之前实际上具有对相应队列的读取访问权限。如何获取MSMQ专用队列的当前权限?

从System.Messaging.MessageQueue类的文档看来,有很多方法可以为队列设置权限,但没有获取权限的方法。

任何帮助,非常感谢!

-Jexx

回答

1

没有.net方法检索msmqueue上的实际ACL。

你需要做一些的P/Invoke :: MQGetQueueSecurity

这里的C#代码在PowerShell中:: pinvoke.net

+0

感谢您的答复添加型......这是那种我所期待的,但希望避免。我唯一的想法是,我可能会尝试模拟服务用户并在队列中查看,然后捕获任何错误。 – 2012-04-16 19:01:17

+1

我终于开始写一个小型图书馆来解决这个问题。 https://github.com/jlevitt/MSMQSecurity – 2012-08-17 21:55:44