如何以当前用户身份创建并安装Windows服务?
以当前用户身份安装Windows服务(适配图形层访问需求)
由于SYSTEM账户无交互式桌面权限,无法访问图形层资源,要让服务以当前用户身份运行,可按以下方式操作:
方法一:使用PowerShell安装
执行以下命令,会弹出凭据输入窗口,填入当前用户的账号密码即可:
New-Service -Name "YourServiceName" -BinaryPathName "C:\Full\Path\To\Your\Service.exe" -DisplayName "Your Service Display Name" -StartupType Automatic -Credential (Get-Credential)
方法二:使用sc命令安装
替换命令中的用户名、密码、路径等参数后执行:
sc create "YourServiceName" binPath= "C:\Full\Path\To\Your\Service.exe" obj= ".\YourLocalUserName" password= "YourUserPassword" displayname= "Your Service Display Name" start= auto
注意:
obj=后的.代表本地用户域,若用户属于域账户,需替换为域名。
必要权限配置
当前用户需拥有「作为服务登录」权限,配置步骤:
- 打开本地安全策略(运行
secpol.msc) - 依次展开「本地策略」→「用户权限分配」
- 找到「作为服务登录」策略,添加当前用户
验证配置
打开服务管理器(运行services.msc),找到目标服务:
- 右键选择「属性」→切换到「登录」选项卡
- 确认登录身份为当前用户,且服务启动类型符合预期
内容的提问来源于stack exchange,提问作者Erwan Douaille




