delphi服务如何以administrator账号运行

chq 2010-02-02 09:32:56
在服务中用winexec运行一个命令,不过服务是以system账号来运行的,得不到想要的结果,如何才能让服务启动的时候用administrator账号来运行
手动设置的话就不要说了
...全文
208 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sevk 2010-02-23
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/285879
找到一个用API实现的,不知道有没有用。
cnzdgs 2010-02-02
  • 打赏
  • 举报
回复
用指定帐号加载程序需要知道密码,用LogonUser、CreateProcessAsUser创建进程。
另一种方式是在安装服务时指定administrator账号和密码,服务本身以administrator身份加载。
如果想用当前登录用户身份加载程序,用WTSQueryUserToken、CreateProcessAsUser创建进程。
gyk120 2010-02-02
  • 打赏
  • 举报
回复
放假了
服务启动的时候的确要以Admin权限启动,那个时候还没有system权限,只是启动完毕之后由Windows的服务管理器分配给他System权限
byteh 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gyk120 的回复:]
服务启动的时候都是用administrator账号,只不过启动之后被分配了System权限,目前据我所知好像不能改成admin权限,不知道手动能设置么?
[/Quote]

你该放假了吧!
byteh 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gyk120 的回复:]
服务启动的时候都是用administrator账号,只不过启动之后被分配了System权限,目前据我所知好像不能改成admin权限,不知道手动能设置么?
[/Quote]

是administrator吗?system也是用户呀,
SID:S-1-5-18
名称:Local System
说明:操作系统使用的服务帐户

当Windows启动后你用其他用户登录(非Administrator),注册表相关地方是没有保存Administrator用户的信息的。
SID:S-1-5-domain-500
名称:Administrator
说明:系统管理员的用户帐户。默认情况下,它是唯一能够完全控制系统的用户帐户。
gyk120 2010-02-02
  • 打赏
  • 举报
回复
服务启动的时候都是用administrator账号,只不过启动之后被分配了System权限,目前据我所知好像不能改成admin权限,不知道手动能设置么?
byteh 2010-02-02
  • 打赏
  • 举报
回复
有疑问了也许把你的需求和我沟通一下,可以给你个思路!
byteh 2010-02-02
  • 打赏
  • 举报
回复
和用户个人设置有关吗?

服务的运行身份是无法改的,Windows的认证机制如此!
bjcx994 2010-02-02
  • 打赏
  • 举报
回复
学习!
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2010-02-02 09:32
社区公告
暂无公告