当前位置: 首页 > news >正文

windows c++ (9) 程序内注册服务并修改登录账户

实现方式全以批处理文件实现,直接在进程内调用即可

1、注册服务

注册服务manage.bat内容如下

@echo off
setlocalset ServiceExe=YouProcess.exe
set ServiceName=YouProcess
set BASE=%~dp0:: 检查命令行参数
if "%~1"=="" (echo Usage: manage_process.bat start|stop|installexit /b 1
):: 启动服务
if /i "%~1"=="start" (echo 启动服务...NET START %ServiceName%exit 
):: 停止服务
if /i "%~1"=="stop" (echo 停止服务...NET STOP %ServiceName%exit 
):: 安装服务
if /i "%~1"=="install" (echo 安装服务...start %BASE%%ServiceExe% "-install"echo 安装成功exit 
)echo Invalid argument: %~1
echo Usage: manage.bat start|stop|install
exit /b 1

安装指令:

manage.bat install

启动指令

manage.bat start

在项目过程中,如果你想实现卸载等操作直接在批处理文件内新增就行。

2、修改服务的登录账户

sc config YouProcess obj= ".\username" password= "yourpasd"

3、修改策略文件,将账户添加到服务登录权限组内

@echo off
setlocal enabledelayedexpansion:: 定义临时文件路径和数据库文件路径
set "policyFilePath=C:\secpol.cfg"
set "tempPolicyFile=%policyFilePath%.tmp"
set "databaseFile=C:\Windows\security\database\seccontent.sdb"  
:: 默认数据库路径:: 导出当前的安全策略
echo Exporting current security policy...
secedit /export /cfg "%policyFilePath%" || (echo Failed to export security policy.exit /b 1
):: 检查是否已存在目标配置
set "policyFound="
for /f "tokens=* delims=" %%a in ('type "%policyFilePath%" ^| findstr /i "SeServiceLogonRight"') do (set "policyFound=1"
):: 修改策略文件
(for /f "tokens=* delims=" %%a in ('type "%policyFilePath%"') do (set "line=%%a"if "!line:SeServiceLogonRight=!" neq "!line!" (echo SeServiceLogonRight = username,*S-1-5-80-0) else (echo %%a))if not defined policyFound (echo SeServiceLogonRight = username,*S-1-5-80-0)
) > "%tempPolicyFile%":: 替换原始文件
move /y "%tempPolicyFile%" "%policyFilePath%" >nul || (echo Failed to replace policy file.del "%tempPolicyFile%" >nul 2>&1exit /b 1
):: 导入修改后的安全策略(明确指定数据库文件)
echo Importing modified security policy...
secedit /configure /db %databaseFile% /cfg "%policyFilePath%" /areas USER_RIGHTS /overwrite /quiet || (
:: secedit /import /db "%databaseFile%" /cfg "%policyFilePath%" /areas USER_RIGHTS /overwrite || (echo Failed to import security policy. Check the log file: %windir%\security\logs\scesrv.logexit /b 1
):: 重启依赖服务(替代直接重启Winlogon)
echo Restarting dependent services...
net stop "User Manager" /y >nul 2>&1
net stop "Credential Manager" /y >nul 2>&1
net start "User Manager" >nul 2>&1
net start "Credential Manager" >nul 2>&1:: 提示重启系统(可选)
:: echo.
:: echo Note: A system restart may be required for changes to take effect fully.
:: echo Do you want to restart now? (Y/N)
:: set /p choice=
:: if /i "!choice!"=="Y" (
::     shutdown /r /t 0
:: ):: 清理临时文件(注释掉,按需启用)
:: echo Cleaning up...
:: del "%policyFilePath%" >nul 2>&1
:: del "%tempPolicyFile%" >nul 2>&1echo Operation completed successfully.

你需要修改标红的用户名称即可
在这里插入图片描述


文章转载自:

http://lRZlVMfa.txfxy.cn
http://6P2JU4qU.txfxy.cn
http://3h4JBC6u.txfxy.cn
http://xdCBvcOq.txfxy.cn
http://SjBC14n4.txfxy.cn
http://CiitJmva.txfxy.cn
http://YjSR5eB2.txfxy.cn
http://meuNkeeq.txfxy.cn
http://ICUGxLJi.txfxy.cn
http://MBU8ZvY3.txfxy.cn
http://rkfYL3sa.txfxy.cn
http://l7bVVcsX.txfxy.cn
http://JtUSmkkS.txfxy.cn
http://yvtv6KxO.txfxy.cn
http://Xiu1IfFA.txfxy.cn
http://IZX7ECM8.txfxy.cn
http://MG0ftbeS.txfxy.cn
http://zkmcJucU.txfxy.cn
http://rQOroxar.txfxy.cn
http://pCoPM8lb.txfxy.cn
http://i0G1HssB.txfxy.cn
http://5WXC65Vs.txfxy.cn
http://1LwyS8b6.txfxy.cn
http://zLCJEKIm.txfxy.cn
http://uCOSU1p6.txfxy.cn
http://zgUdaCaq.txfxy.cn
http://QYgZSoM7.txfxy.cn
http://HDfIO3Qs.txfxy.cn
http://I7Dci01K.txfxy.cn
http://X4wtlIgX.txfxy.cn
http://www.dtcms.com/a/187758.html

相关文章:

  • web 自动化之 yaml 数据/日志/截图
  • 关于github使用总结
  • GNU Screen 曝多漏洞:本地提权与终端劫持风险浮现
  • 集合-进阶
  • 生产排产系统正从传统计划工具向智能化、协同化方向演进
  • 安科瑞能量管理系统在徐州某电池厂新能源储能柜的应用
  • TDengine 做为 Spark 数据源
  • spark-local模式
  • Linux513 rsync本地传输 跨设备传输 一
  • openFeign远程调用
  • 中国版Cursor:基于CodeBuddy与EdgeOne Pages的在线键盘测试工具开发方案
  • 【C++】多线程和多进程
  • 【实战】基于 ABP vNext 构建高可用 S7 协议采集平台(西门子 PLC 通信全流程)
  • VR和眼动控制集群机器人的方法
  • Flannel Host-gw模式的优缺点
  • 生成式图像水印研究综述
  • 一键转换上百文件 Word 批量转 PDF 软件批量工具
  • C程序的存储空间分配
  • 【OpenCV】网络模型推理的简单流程分析(readNetFromONNX、setInput和forward等)
  • 大容量存储的高性能 T-BOX 方案对智能网联汽车的支撑
  • 汽车工厂数字孪生实时监控技术从数据采集到三维驱动实现
  • 数字孪生实时监控汽车零部件工厂智能化巡检新范式
  • 修改(替换)文件中的指定内容并保留文件修改前的时间(即修改前后文件的最后修改时间保持不变)
  • [学习] RTKLib详解:qzslex.c、rcvraw.c与solution.c
  • matlab多智能体网络一致性研究
  • Linux(1)编译链接和gcc
  • 动态域名服务ddns怎么设置?如何使用路由器动态域名解析让外网访问内网?
  • Vitrualbox完美显示系统界面(只需三步)
  • 【源码+文档+调试讲解】党员之家服务系统小程序1
  • 数据治理域——日志数据采集设计