注册表管理
HKLM\SYSTEM\CurrentControlSet\services\下的服务项。不论有没有在services.msc服务管理控制台中显示,在注册表中都有一个Start项。
Start的可能取值有以下几种,分别代表了不同的服务启动类型
Start=0 boot
Start=1 system
Start=2 自动
Start=3 手动
Start=4 禁用
cmd 管理
设置服务启动类型
SC config “SERVER_NAME” START= {BOOT|SYSTEM|AUTO|DEMAND|DISABLED|delayed-auto}
示例,设置名为 Spooler 的服务启动类型为自动
sc config Spooler start= auto
boot 由启动引导程序加载的设备驱动器。
system 在核心初始化过程中启动的设备驱动器。
auto 每次计算机重新启动时,甚至没有人登录计算机时,都能自动开始的服务。
demand 必须手动启动的服务。如果没有指定“start=”,这就默认值。
disabled 不能启动的服务。要启动一个禁用的服务,把启动类型更改为其他值。
delayed-auto 自动延时启动。此时start=2并且DelayedAutostart=1 ;Start为其它值时,DelayedAutostart为1不起作用。
服务管理器不能及时更新delayedautostart的值。
服务状态管理
示例,管理名为 Spooler 的服务
rem 停止服务
net stop Spooler
rem 启动服务
net start Spooler
powershell 管理服务
获取服务列表
Get-Service
启动服务
示例,将服务名为 Spooler 的服务启动
Start-Service Spooler
停止服务
示例,将服务名为 Spooler 的服务停止
Stop-Service Spooler
获取服务状态
使用 Get-Service 命令获取当前系统中所有服务的状态信息,并按表格形式显示状态信息
Get-Service | Format-Table -AutoSize
查找特定服务
使用 Get-Service 命令结合 Where-Object 过滤器来查找特定的服务。
示例,查找所有名称中包含 sql 的服务
Get-Service | Where-Object {$_.Name -like '*sql*'}
查找包含 sql 的服务,并按表格形式显示状态信息
Get-Service | Where-Object {$_.Name -like '*sql*'} | Format-Table -AutoSize
表格中的列分别表示服务名称、状态、显示名称以及服务类型等信息。可以使用 -Property 参数指定要显示的列。
Format-Table -Property Name,Status
更改服务启动类型
使用 Set-Service 命令来更改服务的启动类型。启动类型有以下几种:
Disabled:禁用服务。
Manual:手动启动服务(默认)。
Automatic:自动启动服务。
示例,将服务名为 Spooler 的服务的启动类型更改为自动启动
Set-Service -Name Spooler -StartupType Automatic