使用 sc.exe 使用当前用户帐户创建 Windows 服务

Posted

技术标签:

【中文标题】使用 sc.exe 使用当前用户帐户创建 Windows 服务【英文标题】:Create windows service with current user account using sc.exe 【发布时间】:2012-06-04 18:07:24 【问题描述】:

我正在尝试编写一个批处理文件来创建一个 Windows 服务,该服务以当前运行该批处理文件的用户身份运行。换句话说,如果我,user_x 运行批处理文件,创建的服务将以我,user_x 的身份登录。

由于用户必须登录才能运行批处理文件,我希望有一种方法可以在不输入用户密码的情况下创建服务。

到目前为止,我一直在使用 sc.exe 创建“本地系统”Windows 服务,效果很好。但是我不明白如何为当前用户做同样的事情。有什么想法吗?

【问题讨论】:

查看帮助,obj= (默认 = LocalSystem) - 您已经使用 LocalSystem - 如果您使用他们的用户名,它是否有效? 它可以,但是它需要密码,我认为Harry是对的,没有办法不输入密码。还是谢谢。 【参考方案1】:

不,您不能在不知道用户密码的情况下创建以用户身份运行的服务,即使您已经以相关用户身份登录也是如此。这是因为系统必须在注册表中保存用户密码的副本(使用可逆加密)才能将服务配置为以该用户身份运行。

【讨论】:

以上是关于使用 sc.exe 使用当前用户帐户创建 Windows 服务的主要内容,如果未能解决你的问题,请参考以下文章

禁用自动登录Windows 7(和缺少帐户图标)

Windows下使用命令sc.exe查看服务状态管理服务

使用 SC.exe 或 InstallUtil.exe 安装 Windows 服务 - 有区别,但哪个?

Visual Studio 安装项目 - 使用 Windows 标准用户帐户安装当前用户

为用户 (S4U) 令牌创建服务

使用Firebase Google用户身份验证更改用户