iojsioi 发表于 2018-6-19 08:56:14

命令手动创建windows系统服务

  由于安全软件设置原因,勿将U8自动备份系统服务删掉了,导致数据无法正常自动备份,经过分析排查,发现U8正常情况下确实有一个自动备份的服务。

  然后使用命令方式手动创建了一个服务:
  sc create U8TaskService binpath= "d:\U8SOFT\U8TaskService.exe" Type= share Start= auto

  再通过重新设置U8自动备份任务,测试自动备份功能恢复正常。

  附创建服务命令格式:
sc create Servicename   servername
  可选,可以使用双斜线,如\\\\myserver,也可以是\\\\192.168.0.1来操作远程计算机。如果在本地计算机上操作就不用添加任何参数。
  Servicename
  在注册表中为service key制定的名称。注意这个名称是不同于显示名称的(这个名称可以用net start和服务控制面板看到),而SC是使用服务键名来鉴别服务的。
  Optionname
  这个optionname和optionvalues参数允许你指定操作命令参数的名称和数值。注意,这一点很重要在操作名称和等号之间是没有空格的。
  如果你想要看每个命令的可以用的optionvalues,你可以使用sc command这样的格式。这会为你提供详细的帮助。
  Optionvalues
  为optionname的参数的名称指定它的数值。有效数值范围常常限制于哪一个参数的optionname。如果要列表请用sc command来询问每个命令。
  Optionname--Optionvalues描述
  type=----own, share, interact, kernel, filesys
  关于建立服务的类型,选项值包括驱动程序使用的类型,默认是share。
  start=----boot, sys tem, auto, demand, disabled
  关于启动服务的类型,选项值包括驱动程序使用的类型,默认是demand(手动)。
  error=----normal, severe, critical, ignore
  当服务在导入失败错误的严重性,默认是normal。
  binPath=--(string)
  服务二进制文件的路径名,这里没有默认值,这个字符串是必须设置的。
  group=----(string)
  这个服务属于的组,这个组的列表保存在注册表中的ServiceGroupOrder下。默认是nothing。
  tag=----(string)
  如果这个字符串被设置为yes,sc可以从CreateService call中得到一个tagId。然而,SC并不显示这个标签,所以使用这个没有多少意义。默认是nothing
  depend=----(space separated string)有空格的字符串。
  在这个服务启动前必须启动的服务的名称或者是组。
  obj=----(string)
  账号运行使用的名称,也可以说是登陆身份。默认是localsys tem
  Displayname=--(string)
  一个为在用户界面程序中鉴别各个服务使用的字符串。
  password=--(string)
  一个密码,如果一个不同于localsys tem的账号使用时需要使用这个。
  Optionvalues
  Optionname参数名称的数值列表。参考optionname。当我们输入一个字符串时,如果输入一个空的引用这意味着一个空的字符串将被导入。
  需要注意的是:
  1. 在option= xxxxx格式中,“=”号和后面的内容一定要有空格,如depend=Tcpip
  2. 如果命令中的需要进行双引号的嵌套,使用反斜杠加引号 " \" " 来进行转义处理。
页: [1]
查看完整版本: 命令手动创建windows系统服务