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

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

作者:精品下载站 日期:2024-12-14 04:50:46 浏览:16 分类:玩电脑

PowerShell 启动服务 | PowerShell 启动服务示例


[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

PowerShell 启动服务简介

Start-Service 是 PowerShell 中的一个 cmdlet,用于启动 PowerShell 中已停止的服务。如果服务已在运行,则该命令将被忽略,且不会出现任何错误消息。您可以提供服务名称、显示名称或服务作为输入对象来启动服务。

语法:

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

PowerShell 启动服务中的参数

一些参数如下:

-名称:此参数指定要启动的服务名称。您可以使用服务名称或别名。接受通配符 (*)。

DisplayName:此参数对于使用其显示名称启动服务非常有用。允许使用通配符。

-InputObject:此参数指定代表要启动的服务的服务控制器对象。对象可以是变量。

-Passthru: 此参数返回服务控制台中的输出。默认情况下,此启动服务不会生成任何输出。

-包含:此参数通常与名称参数或输入对象一起使用。它指定要启动的服务。允许使用通配符 (*)。

-排除:此参数通常与名称参数或输入对象一起使用。它指定需要从一开始就排除的服务。允许使用通配符 (*)。

-Whatif:此参数显示 cmdlet 运行而不执行命令时会发生什么情况。

-确认:在运行 cmdlet 之前提示用户执行操作。

PowerShell 启动服务示例

PowerShell的示例如下所示:

1.使用名称或别名启动单个服务。

启动假脱机程序服务。除非生成错误,否则以下命令不会给出任何输出。

Start-Service -Name Spooler

要检查服务是否已启动,请运行以下命令。

Get-Service -Name Spooler

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

2.使用服务名称或别名启动多个服务。

您可以使用服务名称启动多个服务,并用逗号分隔每个服务。

Start-Service -Name Spooler,Schedule

3.使用显示名称启动服务。

要使用服务显示名称启动服务,请使用 -DisplayName 参数。

Start-Service -DisplayName "Print Spooler","Task Scheduler"

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

4.使用 -Passthru 启动服务。

当您使用-Passthru参数启动服务时,它会在控制台中显示输出,并且您不需要编写Get-Service命令来获取服务信息。

Start-Service Spooler -PassThru

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

5.使用 -Whatif 启动服务。

当您使用 -whatif 编写 start-service cmdlet 时,它表明该命令将执行特定操作而不执行它。所以你可以说这个命令充当预详细命令。

Start-Service  Spooler -WhatIf

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

6.使用 -InputObject 启动服务。

您可以将服务名称作为输入对象传递。例如,可以使用别名传递多个服务名称。

$services = "Spooler","Task Scheduler"
Get-Service -InputObject $services

7.使用 -Confirm 启动服务。

当您使用-confirm参数时,PowerShell控制台在启动服务之前首先与用户确认。

Start-Service Spooler -Confirm

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

如果您选择“Y”,则将在确认后重新启动给定的服务,如果有多个服务,则将对下一个服务执行检查。如果您选择“A”,多个给定服务将在不确认的情况下重新启动。最后,如果您单击“N”,则给定的服务将不会重新启动,而“L”则表示所有服务都不会随用户 Concert 一起重新启动。

8.使用 -Include 参数启动服务。

当有多个服务作为输入对象,并且想要启动要重新启动的特定服务集时,则需要使用 -include 参数。允许使用通配符 (*)。

在下面的示例中,我们将所有服务作为输入对象,并且仅包含 Spooler 和 Plugplay 服务来启动。

Start-Service $services -Include Spooler,Plugplay -PassThru

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

您可以使用通配符 (*),如下例所示。

Start-Service $services -Include Spoo* -PassThru

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

9.使用 -Exclude 参数启动服务。

当您使用排除参数时,将排除一组特定的服务,并重新启动其余的服务。该参数中允许使用通配符 (*)。

例如,从给定的一组服务中,我们需要排除 Spooler 服务,并需要重新启动剩余的服务。

$services = "Spooler","WSearch","winmgmt"
Get-Services $services
Start-Service -InputObject $services -Exclude "Spooler" -PassThru

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

也可以使用通配符(*)来实现上述输出。

Start-Service -InputObject $services -Exclude spoo* -PassThru

10.管道启动服务命令。

您还可以使用 Get-Service cmdlet 管道化 Start-Service 命令。当您使用远程系统时,这非常有用。例如,

Get-Service spooler,TermService | Start-Service -PassThru

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

11.在远程计算机上启动服务。

Start-Service中没有参数直接支持远程连接。相反,您必须将 Start-Service 通过管道传送到 Get-Service cmdlet,因为它支持 -ComputerName 参数,或者使用带有 -ComputerName 参数的 Invoke-Command cmdlet。

例如,

Get-Service spooler,TermService -ComputerName Test-PC | Start-Service -PassThru

上述命令将重新启动名为 Test-PC 的远程计算机上的服务。您还可以提供多个计算机名称以重新启动远程计算机上的相同服务。

在下面的示例中,Invoke-Command 还可用于重新启动远程计算机上的服务。

Invoke-Command -ComputerName Test-PC, Test2-PC -ScriptBlock{Get-Service Spooler,TermService | Start-Service}

12.使用 ErrorAction 启动服务

当您尝试在计算机或远程计算机上启动服务时,如果发生任何错误,例如服务不存在或远程连接错误,则会显示错误输出。您可以使用 ErrorAction 参数忽略这些警报。

例如,下面我们将尝试启动不存在的服务 ABC,并抛出错误输出。

Start-Service ABC -PassThru

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

当您添加 -ErrorAction 参数时,错误将被忽略。

Start-Service ABC -PassThru -ErrorAction Ignore

输出:

[玩转系统] PowerShell 启动服务 | PowerShell 启动服务示例

- 当您使用脚本并且希望忽略错误发生并希望继续执行下一步时,errorAction 参数非常有用。

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

取消回复欢迎 发表评论:

关灯