Windows Server 2016-命令行方式管理Windows服务
Microsoft Windows 服务(过去称为 NT 服务)允许用户创建可在其自身的 Windows 会话中长时间运行的可执行应用程序。 这些服务可在计算机启动时自动启动,可以暂停和重启,并且不显示任何用户界面。 这些功能使服务非常适合在服务器上使用,或者需要长时间运行的功能(不会影响在同一台计算机上工作的其他用户)的情况。 还可以在与登录用户或默认计算机帐户不同的特定用户帐户的安全性上下文中运行服务。
本例介绍三种常规方法,涉及到DOS下的Net、SC和Powershell下的get/start/stop/set/new/restart/resume-service方法。
1.net命令方式:
C:\>net /?
此命令的语法是:
NET
[ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |
HELPMSG | LOCALGROUP | PAUSE | SESSION | SHARE | START |
STATISTICS | STOP | TIME | USE | USER | VIEW ]
C:\>
格式:启动和关闭服务的时候,其语法是:
net start 服务名
net stop 服务名
例:查看Server服务状态:
例:停止&启动服务:
2.sc命令方式:
C:\>sc /?
描述:
SC 是用来与服务控制管理器和服务进行通信
的命令行程序。
用法:
sc <server> [command] [service name] <option1> <option2>...
<server> 选项的格式为 "\\ServerName"
可通过键入以下命令获取有关命令的更多帮助: "sc [command]"
命令:
query-----------查询服务的状态,或枚举服务类型的状态。
queryex---------查询服务的扩展状态,或枚举服务类型的状态。
start-----------启动服务。
pause-----------向服务发送 PAUSE 控制请求。
interrogate-----向服务发送 INTERROGATE 控制请求。
continue--------向服务发送 CONTINUE 控制请求。
stop------------向服务发送 STOP 请求。
config----------更改服务的配置(永久)。
description-----更改服务的描述。
failure---------更改失败时服务执行的操作。
failureflag-----更改服务的失败操作标志。
sidtype---------更改服务的服务 SID 类型。
privs-----------更改服务的所需特权。
managedaccount--更改服务以将服务帐户密码标记为由 LSA 管理。
qc--------------查询服务的配置信息。
qdescription----查询服务的描述。
qfailure--------查询失败时服务执行的操作。
qfailureflag----查询服务的失败操作标志。
qsidtype--------查询服务的服务 SID 类型。
qprivs----------查询服务的所需特权。
qtriggerinfo----查询服务的触发器参数。
qpreferrednode--查询服务的首选 NUMA 节点。
qmanagedaccount-查询服务是否将帐户与 LSA 管理的密码结合使用。
qprotection-----查询服务的进程保护级别。
quserservice----查询用户服务模板的本地实例。
delete ----------(从注册表中)删除服务。
create----------创建服务(并将其添加到注册表中)。
control---------向服务发送控制。
sdshow----------显示服务的安全描述符。
sdset-----------设置服务的安全描述符。
showsid---------显示与任意名称对应的服务 SID 字符串。
triggerinfo-----配置服务的触发器参数。
preferrednode---设置服务的首选 NUMA 节点。
GetDisplayName--获取服务的 DisplayName。
GetKeyName------获取服务的 ServiceKeyName。
EnumDepend------枚举服务依赖关系。
以下命令不需要服务名称: sc <server> <command> <option>
boot------------(ok | bad)指示是否应将上一次启动另存为最近一次已知的正确启动配置
Lock------------锁定服务数据库
QueryLock-------查询 SCManager 数据库的 LockStatus
示例: sc start MyService
QUERY 和 QUERYEX 选项:
如果查询命令带服务名称,将返回
该服务的状态。其他选项不适合这种
情况。如果查询命令不带参数或
带下列选项之一,将枚举此服务。
type= 要枚举的服务的类型(driver, service, userservice, all) (默认 = service)
state= 要枚举的服务的状态 (inactive, all) (默认 = active)
bufsize= 枚举缓冲区的大小(以字节计) (默认 = 4096)
ri= 开始枚举的恢复索引号 (默认 = 0)
group= 要枚举的服务组 (默认 = all groups)
语法示例
sc query - 枚举活动服务和驱动程序的状态
sc query eventlog - 显示 eventlog 服务的状态
sc queryex eventlog - 显示 eventlog 服务的扩展状态
sc query type= driver - 仅枚举活动驱动程序
sc query type= service - 仅枚举 Win32 服务
sc query state= all - 枚举所有服务和驱动程序
sc query bufsize= 50 - 枚举缓冲区为 50 字节
sc query ri= 14 - 枚举时恢复索引 = 14
sc queryex group= "" - 枚举不在组内的活动服务
sc query type= interact - 枚举所有不活动服务
sc query type= driver group= NDIS - 枚举所有 NDIS 驱动程序
SC是用于与服务控制管理器和服务进行通信的命令行程序,其语法是:
sc config 服务名 start= demand //手动
sc config 服务名 start= auto //自动
sc config 服务名 start= disabled //禁用
sc start 服务名 开启服务
sc stop 服务名 停止服务
sc query 服务名 查看服务状态
sc delete 服务名 删除服务
sc qc 服务名 查看服务的配置信息
sc create scname binPath=xxxxxx.exe 创建服务
例:查看server服务属性:
例:停止&启动服务:
3.powershell命令方式:
PS C:\> help *-service*
Name Category Module Synopsis
---- -------- ------ --------
Resume-Service Cmdlet Microsoft.PowerShell.M... Resume-Service...
Restart-Service Cmdlet Microsoft.PowerShell.M... Restart-Service...
Set-Service Cmdlet Microsoft.PowerShell.M... Set-Service...
Get-Service Cmdlet Microsoft.PowerShell.M... Get-Service...
Suspend-Service Cmdlet Microsoft.PowerShell.M... Suspend-Service...
Start-Service Cmdlet Microsoft.PowerShell.M... Start-Service...
Stop-Service Cmdlet Microsoft.PowerShell.M... Stop-Service...
New-Service Cmdlet Microsoft.PowerShell.M... New-Service...
Get-Service [[-Name] <String[]>] [-DependentServices] [-RequiredServices] [-Include <String[]>] [-Exclude <String[]>] [<CommonParameters>]
Get-Service [-DependentServices] [-RequiredServices] -DisplayName <String[]> [-Include <String[]>] [-Exclude <String[]>] [<CommonParameters>]
Get-Service [-DependentServices] [-RequiredServices] [-Include <String[]>] [-Exclude <String[]>] [-InputObject <ServiceController[]>] [<CommonParameters>]
描述:在获取-服务 cmdlet获取代表计算机,包括运行和停止服务的服务对象。
您可以通过指定服务的名称或服务的显示名称来指示此cmdlet仅获取特定服务,也可以将服务对象传递给此cmdlet。
1:获取计算机上的所有服务
Get-Service
此命令获取计算机上的所有服务。它表现得好像你输入的那样Get-Service *。默认显示屏显示每项服务的状态,服务名称和显示名称。
2:获取以搜索字符串开头的服务
Get-Service "wmi*"
此命令检索服务名称以WMI(Windows Management Instrumentation的首字母缩写)开头的服务。
3:显示包含搜索字符串的服务
Get-Service -Displayname "*network*"
此命令显示具有包含单词network的显示名称的服务。即使服务名称不包含“Net”(例如xmlprov,网络配置服务),搜索显示名称也会查找与网络相关的服务。
4:获取以搜索字符串和排除项开头的服务
Get-Service -Name "win*" -Exclude "WinRM"
除WinRM服务外,这些命令仅获取服务名称以win开头的服务。
5:显示当前活动的服务
Get-Service | Where-Object {$_.Status -eq "Running"}
此命令仅显示当前活动的服务。它使用Get-Service cmdlet获取计算机上的所有服务。管道运算符(|)将结果传递给Where-Object cmdlet,该cmdlet仅选择Status属性等于Running的服务。
状态只是服务对象的一个属性。要查看所有属性,请键入Get-Service | Get-Member。
6:获取服务的从属服务
Get-Service "WinRM" -RequiredServices
此命令获取WinRM服务所需的服务。
该命令返回服务的ServicesDependedOn属性的值。
9:通过管道运算符获取服务
"WinRM" | Get-Service
此命令获取本地计算机上的WinRM服务。此示例显示您可以将服务名称字符串(用引号括起来)传递给Get-Service。
您还可以通过其内置别名“gsv” 来引用Get-Service。
仅当当前用户有权查看它们时,此cmdlet才能显示服务。如果此cmdlet不显示服务,则您可能无权查看它们。
要查找系统上每个服务的服务名称和显示名称,请键入Get-Service。服务名称显示在“名称”列中,显示名称显示在“DisplayName”列中。
按状态值按升序排序时,“已停止”服务将出现在“正在运行”服务之前。服务的Status属性是枚举值,其中状态的名称表示整数值。排序基于整数值,而不是名称。“正在运行”出现在“已停止”之前,因为“已停止”的值为“1”,“正在运行”的值为“4”。
例:查看服务状态:
例:关闭服务&启动服务:
备注:
Start-Service,启动服务。 Stop-Service,停止服务。Restart-Service,重启服务。 Suspend-Service,挂起/暂停服务。
Resume-Service,继续服务。Set-Service,设置服务的属性。New-Service,创建新服务。使用方法类似。
欢迎关注微信公众号:小温研习社
Windows Server 2016-命令行方式管理Windows服务的更多相关文章
- [转帖]Windows 使用netsh 命令行方式处理 windows防火墙的方法
Windows防火墙命令行手册 https://blog.csdn.net/mystudyblog0507/article/details/79617629 简介 netsh advfirewall ...
- ResHacker 用命令行方式修改 windows PE文件版本号
由于工作需要在詹金斯(genkins)集成环境打包,打包避免不了需要修改版本号,写入版本号最简单的方式通过修改windows rc文件 这就意味着,每次构建新版本前需要修改一次源文件 这个在用詹金斯集 ...
- Windows Server 2016域控制器升级到Windows Server 2022遇到的问题记录Fix error 0x800F081E – 0x20003
1. 非域控服务器升级 将两台Web服务器和数据库服务器(Windows Server 2016, 2019)成功升级至到Windows Server 2022,非常顺利,一次成功. 直接在Windo ...
- 批处理脚本命令行方式关闭Windows服务
对于一些不常用的Windows Services,可以通过设置其启动类型为"禁用"而将其关闭.这种关闭方式是长期性的,电脑重启之后仍然起作用. 有时候希望在批处理脚本里通过命令行方 ...
- [转]Windows中使用命令行方式编译打包Android项目
http://my.oschina.net/liux/blog/37875 网上很多用Ant来编译打包Android应用的文章,毕竟Ant是纯Java语言编写的,具有很好的跨平台性.今天想写个纯win ...
- Windows Server 2016-Wbadmin命令行备份域控制器
在上一章我们讲到Windows Server 2016-图形化备份域控制器的方法,本章我们聊聊如何通过命令行Wbadmin对域控制器进行备份.在Windows Server Active Direct ...
- 微软发布 Windows Server 2016 预览版第三版,开发者要重点关注Nano Server
微软已经发布 Windows Server 2016 和 System Center 2016 第三个技术预览版,已经提供下载.Windows Server 2016 技术预览版第三版也是首个包括了容 ...
- Windows server 2016安装Docker EE
Windows server 2016安装Docker EE 下载 windows server 2016 180天评估版本. 地址:https://www.microsoft.com/en-us/e ...
- Windows Server 2016介绍与安装
版本介绍 Windows Server 2016 Essentials edition Windows Server 2016 Essentials版是专为小型企业而设计的.它对应于Windows S ...
随机推荐
- 消息中间件activemq的使用场景介绍(结合springboot的示例)
一.消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间件. 目前在生产环境,使 ...
- Tiny4412之蜂鸣器驱动与led灯驱动
一:LED驱动编写 要编写LED驱动,首先的知道开发板的构造:开发板分为核心板与底板:编写驱动的第一步就是要看开发板,找到LED灯在开发板上的位置及所对应的名字:第一步就要查看核心板电路图,以及底板电 ...
- 使用Docker镜像和仓库
https://www.rhel.cc/2014/11/50/ 学习目标: 什么是镜像 docker镜像是由文件系统折叠加而成的,最低端是一个引导文件系统,即bootfs: 如何对镜像进行管理 使 ...
- SSM-Spring-17:Spring中aspectJ注解版
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- AspectJ AspectJ是一个面向切面的框架,它扩展了Java语言,定义了AOP 语法,能够在编译期提供 ...
- An annotation based command line parser
Java命令行选项解析之Commons-CLI & Args4J & JCommander http://rensanning.iteye.com/blog/2161201 JComm ...
- SpringBoot操作数据库 2017.12.14
http://blog.csdn.net/forezp/article/details/61472783
- 你不知道的JavaScript--Item21 漂移的this
而在 JavaScript 中,this 是动态绑定,或称为运行期绑定的,这就导致 JavaScript 中的 this 关键字有能力具备多重含义,带来灵活性的同时,也为初学者带来不少困惑.本文仅就这 ...
- go语言nsq源码解读七 lookup_protocol_v1.go
本篇将解读nsqlookup处理tcp请求的核心代码文件lookup_protocol_v1.go. 1234567891011121314151617181920212223242526272829 ...
- 「CodeChef Dec13 REALSET」 Petya and Sequence 循环卷积
题目大意: 传送门 T组询问. 每组给一个数组,询问该数组是否循环移位线性无关,输出YES或NO. 题解: LCA冬令营有讲……然而当时…… 并不知道如何计算一个数组是否循环移位线性无关……网上也没有 ...
- 微信小程序分享到朋友圈方法与技巧
小程序提供onShareAppMessage 函数,此函数只支持分享给我微信朋友.小程序如何分享到朋友圈呢? 我提供的方法是,使用canvas绘制一张图片,并用wx.previewImage预览图片, ...