Start-Service 帮助信息

 
如下说明是翻译 : help Start-Service 产生的帮助信息 .
译者 : Edengundam( 马涛 )
 
Start-Service
 
大纲
启动一个或多个停止的服务 .
 
语法
Start-Service [-name] <string[]> [-include <string[]>] [-exclude <string[]>] [-passthru] [-whatIf] [-confirm] [<CommonParameters>]
 
Start-Service -displayName <string[]> [-include <string[]>] [-exclude <string[]>] [-passthru] [-whatIf] [-confirm] [<CommonParameters>]
 
Start-Service [-inputObject <ServiceController[]>] [-include <string[]>] [-exclude <string[]>] [-passthru] [-whatIf] [-confirm] [<CommonParameters>]
 
详细描述
Start-Service cmdlet Windows 服务控制器 (Service Controller) 为每个指定的服务发送启动消息 . 如果服务已经处于运行中 , 此消息只是被简单的忽略而不会导致错误 . 你可以通过服务名称或显示名称 (display name) 来指定需要挂起的服务 . 你还可以使用参数 InputObject 传递你需要启动的服务对象 ( 译者注 : 例如使用 Get-Service 返回的对象或对象列表 ).
 
参数
 
-name <string[]>
指定需要启动的服务名称 .
 
此参数可以在命令行忽略 . 你既可以使用 "-Name", 也可以使用其别名 "-ServiceName", 甚至忽略此参数名 .
 
强制参数 ?
true
参数位置 ?
1
默认值
 
允许从管道绑定输入 ?
true ( 根据值 , 根据属性名 )
允许通配符扩展 ?
true
 
-include <string[]>
只将指定的服务启动 . 此参数值用于限定 Path 参数 . 输入一个路径元素或模式 , 例如 "s*"( 此参数允许通配符 ) .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
true
 
-exclude <string[]>
忽略指定的服务 . 此参数值用于限定 Path 参数 . 输入一个路径元素或模式 , 例如 "s*"( 此参数允许通配符 ) .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
true
 
-passthru <SwitchParameter>
输出此命令创建的对象到管道中 . 默认情况下 , 此命令不会将对象输出到管道 .
                                                                       
强制参数 ?
false
参数位置 ?
named
默认值
False
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-displayName <string[]>
指定需要被启动的服务名称 , 此参数接受通配符 .
 
强制参数 ?
true
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
true
 
-inputObject <ServiceController[]>
启动通过 ServiceController 对象表示的服务 . 输入一个包含对象的变量 , 或者一个能够产生对象的命令或表达式 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
true ( 根据值 )
允许通配符扩展 ?
false
 
-whatIf
描述执行此命令将会发生的现象 , 不会真正执行此命令 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-confirm
执行命令前提示你进行确认 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
< 公共参数 >
此命令支持公共参数 : -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息 , 输入 , "get-help about_commonparameters".
 
输入类型
Object
 
注意
 
更多信息 , 输入 "Get-Help Start-Service -detailed". 需要技术信息 , 输入 "Get-Help Start-Service -full".
 
如果需要为该命令提供多个参数 , 请使用逗号进行分隔 . 例如 , "<parameter-name> <value1>, <value2>".
 
你可以使用 Start-Service 内建别名 "sasv". 需要更多信息 , 查看 About_Alias.
 
Start-Service 只有在当前用户有权限时才能控制服务 . 如果命令没有正常工作 , 可能是您没有执行此操作的必要权限 .
 
要查找您系统上服务的服务名称和显示名称 , 输入命令 "get-service". 服务名称显示在列名为 "Name" 的列中 , 显示名称显示在列名为 "DisplayName" 的列中 .
 
你只能启动那些启动类型为 " 手动 " 活动 " 自动 " 的服务 , 启动类型为 " 禁止 " 的服务是无法被启动的 . 如果 Start-Service 执行失败 , 并提示信息 "Cannot start service <service-name> on computer", 可以使用 Get-WmiObject 命令查看该服务的启动类型 , 如果必要可以使用 Set-Service 命令改变该服务的启动类型 .
 
一些服务 , 例如 Performance Logs and Alerts (sysmonlog), 如果没有什么可以做的 , 将会自动停止 . Windows PowerShell 启动一个几乎同时停止自己的服务 (Performance Logs and Alerts 属于此类 ), 将会显示信息 : "Service <display-name> start failed."
 
1
 
C:/PS>start-service -name eventlog
 
此命令启动本地计算机的 EventLog 服务 . 此处参数 Name 通过服务名称来确定操作的服务 .
 
2
 
C:/PS>start-service -displayname *remote* -whatif
 
此命令将会解释如果你启动服务显示名称中包含 "remote" 字符串的所有服务 , 将会发生的事情 . 此处使用参数 DisplayName 通过显示名称 , 而不是服务名称来确定操作的服务 , 参数 -whatif 简单解释将会发生的操作 , 而不是真正执行这些操作 .
 
3
 
C:/PS>$s = get-service wmi
 
C:/PS>start-service -InputObject $s -passthru | format-list >> services.txt
 
此命令将会启动计算机上的 WMI 服务 , 并添加操作记录到文件 services.txt 末尾 . 第一条命令 Get-Service cmdlet 取得一个表示 WMI 服务的对象 , 并将其存储到变量 $s .
 
第二个命令使用 Start-Service cmdlet 来启动 WMI 服务 . 它通过参数 InputObject 将含有 WMI 服务对象的变量 $s 传递给 Start-Service. 接下俩 , 通过指定参数 Passthru 创建一个启动的服务对象 . 如果不指定此参数 , Start-Service 将不会产生任何输出 .
 
管道运算符 (|) 传递由 Start-Service 创建的对象给 Format-List cmdlet, 此命令将对象格式化为属性的列表 . 追加重定向运算符 (>>) 将输出重定向到文件 services.txt, 将信息添加在该文件的末尾 .
 
4
 
接下来的例子将会介绍如何启动一个启动类型为 " 禁止 " 的服务 . 第一个命令 , 通过使用 Start-Service cmdlet 来启动 Telnet 服务 (tlntsvr), 执行失败 .
 
C:/PS>start-service tlntsvr
 
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the followng error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ start-service  <<<< tlntsvr
 
第二个命令 Get-WmiObject cmdlet 取得 Tlntsvr 服务 . 此命令将会取得包含了启动类型属性的对象 ( 启动类型存放在 "StartMode" .). 显示的结果揭示了 Tlntsvr 服务的启动类型是 " 禁止 ".
 
C:/PS> get-wmiobject win32_service | where {$_.Name -eq "tlntsvr"}
 
ExitCode  : 0
Name  : TlntSvr
ProcessId : 0
StartMode : Disabled
State : Stopped
Status: OK
 
接下来的命令使用 Set-Service cmdlet 改变 Tlntsvr 服务的启动类型为 " 手动 ".
 
C:/PS> set-service tlntsvr -startuptype manual
 
现在 , 我们重新执行 Start-Service 命令 . 此次 , 命令将会成功执行 .
 
C:/PS> start-service tlntsvr
 
要验证命令是否成功 , 可以执行 Get-Service.
 
相关链接
Get-Service
Suspend-Service
Stop-Service
Restart-Service
Resume-Service
Set-Service
New-Service
 
 
 

你可能感兴趣的:(windows,String,service,扩展,performance,powershell)