我想从数据库中提取服务的凭据(更具动态性)
我在服务上调用.Start()之前使用sc.exe来更改OnStart中的凭据 sc.exe更改有效,但我注意到它重新启动后才会生效。
即。我注意到它是作为运行用户的SYSTEM。一旦我再次重新启动它显示我的域帐户。
有没有其他方法可以更改凭据,允许我在实际运行之前在OnStart中执行此操作?
谢谢, 大卫
答案 0 :(得分:0)
有没有其他方法可以更改凭据,允许我在实际运行之前在OnStart中执行此操作?
没有。当OnStart
被执行时,服务确实实际运行,所以无论你做什么,都为时已晚。
设置凭据以及启动类型,命令行,依赖关系等其他内容应被视为设置/安装/注册任务。
您可能会想到一些(相当复杂的)自举机制,就像一个服务在更新其凭据之前启动另一个服务。我真的会问自己这是否值得。
从系统运营/管理层的角度来看,“动态”更改其用户的服务似乎也是不可预测的。