首页 新闻 会员 周边

C# windows服务账户的一个棘手问题

0
悬赏园豆:100 [已解决问题] 解决于 2014-09-29 16:27

已经启动的服务A,如何通过代码来更改其账户,如原来的账户为LocalServce,更改为LocalSystem?大神帮帮忙吧~

爱钻牛角尖的程序猿的主页 爱钻牛角尖的程序猿 | 初学一级 | 园豆:4
提问于:2014-09-25 11:09
< >
分享
最佳答案
0

没用的,不重新启动的话,账户不会变的。

收获园豆:50
爱编程的大叔 | 高人七级 |园豆:30839 | 2014-09-25 11:18

需求是这样的,现在服务是LocalService账户,也只能通过代码来修改账户,而不可以重新安装来更改,如果可以先用代码更改,重新启动服务有效的话也可以,麻烦大神讲讲思路

爱钻牛角尖的程序猿 | 园豆:4 (初学一级) | 2014-09-25 11:29

@路可: 如果可以重新启动服务的话,不需要代码啊,直接在服务管理器里面修改就行了。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-09-25 11:39

@爱编程的大叔:我是问能用代码的方式更改吗?我知道可以服务管理器里可以做到

爱钻牛角尖的程序猿 | 园豆:4 (初学一级) | 2014-09-25 11:41

@路可: 理论上肯定是行的。

你参考下这篇文章吧

Configuring Windows services using Command Prompt

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-09-25 11:53

@爱编程的大叔: 我看过了,没什么用,内容和我的需求不太一样,真愁啊~~~~~~

爱钻牛角尖的程序猿 | 园豆:4 (初学一级) | 2014-09-25 14:43
其他回答(2)
0
收获园豆:20
519740105 | 园豆:5810 (大侠五级) | 2014-09-25 11:18

ServiceProcessInstaller里有个Account属性,设置成ServiceAccount.User,然后把Username和Password属性设置成你要用的账户就行了.

 

这个,其实还是需要把服务卸载,而不是只是简单的停止来达到目的。

支持(0) 反对(0) 519740105 | 园豆:5810 (大侠五级) | 2014-09-25 11:20
0

停止,卸载,启动都可以通过调用cmd命令实现,只要权限足够,试试可不可以

收获园豆:30
draculav | 园豆:734 (小虾三级) | 2014-09-25 17:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册