如何以编程方式创建Windows服务帐户

时间:2012-01-22 18:50:57

标签: windows security service permissions accounts

我需要以编程方式创建一个新的Windows帐户来运行我最近开发的Windows服务。

由于缺乏足够的权限,我无法使用任何现有的服务帐户(LocalService,NetworkService和LocalSystem),因此我必须在安装服务期间创建自己的帐户。

不幸的是,我不知道如何从代码(C#)实现这一点。但是,我知道我必须经历的步骤包括:

  • 创建帐户
  • 拒绝帐户通过控制台登录
  • 授予作为服务登录的权限。
  • 将帐户添加到PC上的本地管理员组

我的服务必须在Windows XP SP3及更高版本的所有Windows PC操作系统上安装和运行。

问题:哪些命令行工具可用于此目的(我可以从代码中调用这些命令行工具)?

此外,我们非常感谢任何相关链接,代码段或脚本!

1 个答案:

答案 0 :(得分:0)

如果您只想要一个命令,则可以这样做:

net user /ADD "newuser" "Pass phrase" /passwordchg:no

但是我过去曾调查过'授权登录服务',并且必须从Windows Server资源包下载一个额外的.exe才能执行此操作。这可能是一个痛苦,因为您需要重新分发.exe。

除非有人建议使用内置.exes的更好方法,否则我会尝试使用以下方法之一:

  • Powershell的
  • 的VBScript