如下说明是翻译
: help Set-Service
产生的帮助信息
.
译者
: Edengundam(
马涛
)
Set-Service
大纲
改变服务的显示名
(
display name
)
,
描述
(
description
)
或开始模式
(
starting mode
)
.
语法
Set-Service [-name] <string> [-displayName <string>] [-description <string>] [-startupType {<Automatic> | <Manual> | <Disabled>}] [-whatIf] [-confirm] [<CommonParameters>]
详细描述
Set-Service cmdlet
改变服务的属性
,
包括
:
描述
,
显示名和启动类型
.
你可以通过服务名称或显示名称
(display name)
来指定需要挂起的服务
.
参数
-name <string>
指定需要被修改的服务名称
,
此参数接受通配符
.
此参数可以在命令行忽略
.
你既可以使用
"-Name",
也可以使用其别名
"-ServiceName",
甚至忽略此参数名
.
强制参数
?
|
true
|
参数位置
?
|
1
|
默认值
|
|
允许从管道绑定输入
?
|
true (
根据值
,
根据属性名
)
|
允许通配符扩展
?
|
false
|
-displayName <string>
为服务指定新的显示名
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-description <string>
为服务指定新的描述
.
服务描述出现在管理工具的服务中
.
描述信息不是通过
Get-Service
取得
ServiceController
对象的属性
,
然而
Win32_Service WMI
类包含了描述属性
.
要获取该类的实例
,
使用
Get-WMIObject cmdlet.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-startupType <ServiceStartMode>
为服务指定新的启动模式
.
合法启动类型如下
:
·
Automatic:
随着操作系统一起启动
.
·
Manual :
通过用户或程序启动
.
·
Disabled :
不能启动
.
此参数接受的输入值
:
·
Automatic
·
Manual
·
Disabled
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-whatIf
描述执行此命令将会发生的现象
,
不会真正执行此命令
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-confirm
执行命令前提示你进行确认
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
<
公共参数
>
此命令支持公共参数
: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable.
更多信息
,
输入
, "get-help about_commonparameters".
注意
更多信息
,
输入
"Get-Help Set-Service -detailed".
需要技术信息
,
输入
"Get-Help Set-Service -full".
如果需要为该命令提供多个参数
,
请使用逗号进行分隔
.
例如
, "<parameter-name> <value1>, <value2>".
Set-Service
只有在当前用户有权限时才能控制服务
.
如果命令没有正常工作
,
可能是您没有执行此操作的必要权限
.
要查找您系统上服务的服务名称和显示名称
,
输入命令
"get-service".
服务名称显示在列名为
"Name"
的列中
,
显示名称显示在列名为
"DisplayName"
的列中
.
例
1
C:/PS>set-service -name lanmanworkstation -DisplayName "LanMan Workstation"
此命令将服务
lanmanworkstation
的显示名称改变成
"LanMan Workstation" (
默认值
:
"Workstation").
此命令使用参数
Name
来确定需要更改的服务
,
参数
DisplayName
指定服务的新显示名
.
例
2
C:/PS>get-wmiobject win32_service -filter "name = 'SysmonLog'"
C:/PS>set-service sysmonlog -startuptype automatic
C:/PS>get-wmiobject win32_service -filter "name = 'SysmonLog'"
这几个命令获得
Alerts (SysmonLog)
服务的启动类型
,
将其设置为
automatic,
并显示改变的结果
.
(
译者注
:
原文中的
Performance Logs
没有出现
,
因此
,
暂时将其删去
. )
第一个
Get-WmiObject
cmdlet
取得
WMI
表示
SysmonLog
服务的对象
.
此命令的默认输出将在
"StartMode"
域中包含启动类型
.
第二个命令使用
Set-Service
改变此服务的启动类型为自动
(automatic)
.
接下来
,
再次执行第一个命令查看更改
.
要显示计算机上所有服务的启动类型
,
输入
:
"get-wmiobject win32_service | format-table Name, StartMode -autosize".
例
3
C:/PS>C:/PS>set-service -name Schedule -description "Configures and schedules tasks."
get-wmiobject win32_service | where-object {$_.Name -eq "Schedule"} | format-list Name, Description
这几条命令改变服务
Task Scheduler
服务的描述信息
,
然后将结果输出
.
命令首先使用
Set-Service
改变服务描述
.
通过指定服务名称
"Schedule"
来确定需要修改的服务
.
第二命令使用
Get-WmiObject
cmdlet
获取
WMI Win32_Service
的
Task Scheduler
服务实例
.
命令第一部分用来去的所有
Win32_service
类的实例
.
管道运算符
(|)
将结果发送给
Where-Object
cmdlet,
此命令去则那些名称属性为
"Schedule"
的实例
.
另一个管道运算符将结果发送给
Format-List
cmdlet
,
此命令将输入对象的名称和描述属性列表显示
.
相关链接
Get-Service
Start-Service
Stop-Service
Restart-Service
Resume-Service
Suspend-Service
New-Service