当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Start-Service (Microsoft.PowerShell.Management)

作者:精品下载站 日期:2024-12-14 02:10:13 浏览:13 分类:玩电脑

Start-Service (Microsoft.PowerShell.Management)


Start-Service

模块 :Microsoft.PowerShell.Management

启动一项或多项已停止的服务。

句法

Start-Service
     [-InputObject] <ServiceController[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-Name] <String[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-PassThru]
     -DisplayName <String[]>
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

描述

此 cmdlet 仅适用于 Windows 平台。

Start-Service cmdlet 向每个指定服务的 Windows 服务控制器发送启动消息。如果服务已在运行,则该消息将被忽略而不会出现错误。您可以通过服务名称或显示名称来指定服务,也可以使用 InputObject 参数来提供表示您要启动的服务的服务对象。

示例

示例 1:使用服务名称启动服务

此示例在本地计算机上启动 EventLog 服务。 Name 参数通过服务名称来标识服务。

Start-Service -Name "eventlog"

示例2:在不启动服务的情况下显示信息

此示例显示如果您启动显示名称包含“remote”的服务,将会发生什么情况。

Start-Service -DisplayName *remote* -WhatIf

DisplayName 参数通过显示名称而不是服务名称来标识服务。 WhatIf 参数使 cmdlet 显示运行命令但不进行更改时会发生的情况。

示例 3:启动服务并将操作记录在文本文件中

此示例启动计算机上的 Windows Management Instrumentation (WMI) 服务,并将操作记录添加到 services.txt 文件中。

$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txt

首先,我们使用 Get-Service 获取代表 WMI 服务的对象并将其存储在 $s 变量中。接下来我们启动服务。如果没有 PassThru 参数,Start-Service 不会创建任何输出。管道运算符 (|) 将 Start-Service 输出的对象传递到 Format-List cmdlet,以将对象格式化为其对象列表特性。追加重定向运算符 (>>) 将输出重定向到 services.txt 文件。输出将添加到现有文件的末尾。

示例 4:启动禁用的服务

此示例展示了当服务的启动类型为禁用时如何启动服务。

PS> Start-Service tlntsvr
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the following error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ Start-Service  <<<< tlntsvr

PS> Get-CimInstance win32_service | Where-Object Name -eq "tlntsvr"
ExitCode  : 0
Name      : TlntSvr
ProcessId : 0
StartMode : Disabled
State     : Stopped
Status    : OK

PS> Set-Service tlntsvr -StartupType manual
PS> Start-Service tlntsvr

第一次尝试启动 Telnet 服务 (tlntsvr) 失败。 Get-CimInstance 命令显示 Tlntsvr 服务的 StartMode 属性已禁用Set-Service cmdlet 将启动类型更改为手动。现在,我们可以重新提交 Start-Service 命令。这次,命令成功了。要验证命令是否成功,请运行 Get-Service

参数

-Confirm

在运行 cmdlet 之前提示您进行确认。

类型 :

SwitchParameter

别名:

cf

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-DisplayName

指定要启动的服务的显示名称。允许使用通配符。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

True

-Exclude

指定此 cmdlet 忽略的服务。此参数的值限定 Name 参数。输入名称元素或模式,例如 s*。允许使用通配符。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-Include

指定此 cmdlet 启动的服务。此参数的值限定 Name 参数。输入名称元素或模式,例如 s*。允许使用通配符。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-InputObject

指定代表要启动的服务的ServiceController对象。输入包含对象的变量,或键入获取对象的命令或表达式。

类型 :

服务控制器[]

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Name

指定要启动的服务的服务名称。

参数名称是可选的。您可以使用 Name 或其别名 ServiceName,也可以省略参数名称。

类型 :

String[]

别名:

ServiceName

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-PassThru

返回代表服务的对象。默认情况下,此 cmdlet 不生成任何输出。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-WhatIf

显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。

类型 :

SwitchParameter

别名:

wi

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

服务控制器

您可以通过管道将服务对象传递给此 cmdlet。

字符串

您可以通过管道将包含服务名称的字符串传递给此 cmdlet。

输出

默认情况下,此 cmdlet 不返回任何输出。

服务控制器

当您使用 PassThru 参数时,此 cmdlet 将返回表示服务的 ServiceController 对象。

笔记

PowerShell 包含以下 Start-Service 别名:

  • Windows:

      sasv

    此 cmdlet 仅在 Windows 平台上可用。

    • Start-Service 仅当当前用户有权限时才能控制服务。如果命令无法正常工作,您可能没有所需的权限。
    • 要查找系统上服务的服务名称和显示名称,请键入 Get-Service。服务名称显示在名称列中,显示名称显示在DisplayName列中。
    • 您只能启动启动类型为手动、自动或自动(延迟启动)的服务。您无法启动启动类型为“已禁用”的服务。如果 Start-Service 命令失败并显示消息无法在计算机上启动服务 \

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯