windows 7 下SYSTEM账户建立的MSMQ消息队列如何删除

    由于项目需要一直在测试MSMQ,最近试验安装程序时发现管理员建立的队列(本文中都是指专用队列),以local system身份运行的服务不能访问(windows 2003下无此问题)!于是我删掉了队列,然后安装服务启动,果然服务自己可以建立队列并使用没有问题了。

    可是,安装程序测试后,调试程序时发现我已控制台方式运行的程序也不能访问服务形式的程序建立的队列了,于是还想依法炮制,删除那个消息队列,可是,一会儿我就傻眼了,在计算机管理界面中不但我不能删除而且里面的消息都没有权限查询,修改其安全设置也不成功(我使用的用户,是管理员组的,没问题)!查看其安全设置,发现只有SYSTEM用户有完全控制的权限。怎么办,还是老办法, 求助万能的网络!经搜索发现一种使用SC 启动SYSTEM服务的方法可用。具体过程如下:

用SC命令,注册系统服务system:

c:\> sc Create SYSTEM binPath= "cmd /K start" type= own type= interact

启动system服务:

c:\> sc start SYSTEM

其中注册服务只需要执行一次,以后要启动,直接启动system服务即可。

注意:第一天命令中等于号一定要和前面的选项连在一起,不能有空格,但是等号后面则一定要加空格!

此时,弹出一个窗口(见下图),点击查看消息,windows会启动一个新的shell,并显示一个命令窗口控制台。

在控制台中键入“explorer”可以启动桌面,但是很多功能都不能使用,比如我想抓个图就不成功。但是计算机管理功能可以使用,可以已成功删掉system用户的消息队列。使用后别忘了输入exit命令并点击返回按钮回归原来的桌面下。

此外,要删除注册的服务,只需要在控制台中输入:

sc delete SYSTEM

以上,就是我在windows 7下使用MSMQ的一些遭遇,希望能帮到有相同遭遇的人。

原文地址:https://www.cnblogs.com/dajianshi/p/2827084.html