我想从数据库中提取服务的凭证(更具动态性)
在服务上调用.Start()之前,我使用sc.exe在OnStart内部更改凭据。
sc.exe更改起作用了,但我注意到它直到我再次重启后才生效。
也就是说,我注意到它的系统是作为它运行的用户。一旦我再次重启,它显示我的域名帐户。
有没有其他方法可以更改凭据,使我可以在OnStart实际运行之前在它内部进行更改?
谢谢,大卫
发布于 2013-01-11 02:13:57
有没有其他方法可以在OnStart实际运行之前更改凭据,使我可以在它内部执行此操作?
不是的。当执行OnStart时,服务确实会运行,所以无论您做什么,都将为时已晚。
设置凭据,以及启动类型、命令行、依赖项等其他内容,应该被视为设置/安装/注册任务。
您可能会设想一些(相当复杂的)引导机制,比如一个服务在更新其凭据之前启动另一个服务。我真的会问自己,这一切是否值得。
从系统操作/管理的角度来看,一个“动态”改变其用户的服务似乎也是相当不可预测的。
https://stackoverflow.com/questions/14264407
复制相似问题