程序员开发实例大全宝库

网站首页 > 编程文章 正文

Windows服务管理器|SrvMan-命令行

zazugpt 2024-10-21 13:36:23 编程文章 30 ℃ 0 评论

Windows服务管理器(SrvMan 1.0)

Windows服务管理器是一款简化与Windows服务相关所有常见任务的小型工具。它可以在不重启Windows的情况下创建服务(包括Win32服务和旧版驱动程序服务),删除现有服务,并更改服务配置。它既有图形用户界面(GUI)模式,也有命令行模式。此外,它还可以用于运行任意Win32应用程序作为服务(当该服务停止时,主应用程序窗口将自动关闭)。

功能特性

以下是SrvMan的主要功能特性列表:

允许在不重启的情况下创建驱动程序和Win32服务。

同时支持图形用户界面(GUI)和命令行。

支持所有现代32位和64位版本的Windows。

允许将任意Win32应用程序作为服务运行。

允许通过单个命令行调用安装和运行旧的驱动程序服务。

SrvMan - 命令行选项

您可以使用SrvMan的命令行界面执行以下任务:

创建服务

删除服务

启动/停止/重新启动服务

通过单个调用安装并启动旧的驱动程序

请注意,当您从非控制台应用程序(例如,从“运行”对话框)使用带有命令行参数的SrvMan时,它会在退出之前显示“按任意键继续...”消息并暂停。当SrvMan从控制台应用程序(如cmd.exe)运行时,这种情况不会发生。要覆盖此行为,请使用/pause:no开关。

创建服务

使用以下命令行使用SrvMan创建服务(方括号中的参数是可选的):

srvman.exe add [服务名称] [显示名称] [/type:<服务类型>] [/start:<启动模式>] [/interactive:no] [/overwrite:yes]

服务名称是Windows用于引用服务的内部名称。显示名称是在Windows服务插件中显示的名称。默认情况下,这两个名称都是从.exe或.sys文件名生成的,但是您可以通过明确指定名称来覆盖它。

服务类型可以是以下之一:

drv - 创建一个内核驱动程序(对于.sys文件,默认为选中状态)

exe - 创建一个Win32服务(对于.exe文件,默认为选中状态)

sharedexe - 创建一个具有共享可执行文件的Win32服务

fsd - 创建一个文件系统驱动程序服务

app - 创建一个运行普通Windows应用程序的服务(如taskmgr.exe)

启动模式是以下之一:

boot - 服务由OS加载程序启动

sys - 服务由IoInitSystem()调用启动

auto - 服务在启动过程中由服务控制管理器启动

man - 服务手动启动(net start/net stop)

dis - 服务无法启动

Win32服务默认作为交互式服务创建。要创建非交互式服务,应指定/interactive:no参数。通常,如果指定的服务已存在,SrvMan将报告错误并停止。但是,如果您指定了/overwrite:yes参数,则将覆盖现有服务。

删除服务

使用SrvMan命令行删除服务是非常直观的:

srvman.exe delete <服务名称>

请注意,您需要指定内部服务名称(与net start命令使用的名称相同),而不是显示名称。

启动/停止/重新启动服务

您可以使用SrvMan命令行控制所有类型的服务:

srvman.exe start <服务名称> [/nowait] [/delay:<延迟(以毫秒为单位)>]

srvman.exe stop <服务名称> [/nowait] [/delay:<延迟(以毫秒为单位)>]

srvman.exe restart <服务名称> [/delay:<延迟(以毫秒为单位)>]

通常,SrvMan会等待服务启动。但是,如果您指定了/nowait参数,SrvMan将在启动/停止请求发出后立即返回控制权。请注意,如果您需要SrvMan在启动/停止服务之前等待(例如,切换到实时日志查看器窗口),则可以使用/delay:<延迟(以毫秒为单位)>参数。

测试旧版驱动程序

您可以使用以下命令行轻松测试旧版驱动程序:

srvman.exe run [服务名称] [/copy:yes] [/overwrite:no] [/stopafter:<毫秒>]

此命令为给定的旧版驱动程序文件创建(或覆盖)一个服务并启动它。如果您指定了/copy:yes开关,则驱动程序文件将被复制到system32\drivers目录。如果指定了/overwrite:no,则如果服务(或system32\drivers中的驱动程序文件)已存在,DbgMan将返回错误。如果指定了/after:<毫秒>,则在成功启动后,驱动程序将在毫秒数后停止。您可以使用此开关来测试驱动程序的加载/卸载周期。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表