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

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

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

PowerShell 获取服务 |参数| 8 个最需要实施的示例


[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

PowerShell 获取服务简介

PowerShell 中的 Get-Service cmdlet 用于检索本地计算机和远程计算机上安装的服务(操作系统和应用程序)以及服务的启动类型、状态、名称和显示名称。 PowerShell 控制台将显示 Services.msc MMC 中存在的所有服务。 默认情况下,Get-Service cmdlet 提供有关本地计算机服务的信息,直到为远程计算机指定 -ComputerName 参数。我们还可以使用此 cmdlet 检索依赖的服务。此 cmdlet 是 Microsoft.PowerShell.Management 模块的一部分。

语法

Get-Service
[[-Name] <String[]>]
[[-DisplayName] <String[]>
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[-InputObject <ServiceController[]>]
[<CommonParameters>]

参数

以下是参数:

  • 名称:此参数用于服务的名称或别名。它是一个字符串对象。您可以提供多个服务名称(别名),并用逗号 (,) 分隔。允许使用通配符 (*)。例如,spooler 是“Print Spooler”服务的别名。
  • DisplayName: 此参数用于服务的显示名称。它是一个字符串数据类型。您可以提供多个显示名称,并用逗号 (,) 分隔。允许使用通配符 (*)。例如,“Windows Management Instrument”是 winmgmt 服务别名的显示名称。
  • DependentServices:指定此参数时,它将检索所提供服务名称的依赖服务。此参数必须与 -Name 或 -DisplayName 参数一起使用,否则 PowerShell 将检索所有依赖的服务。
  • RequiredServices: 此参数指定启动给定服务所需的服务。您必须指定 -Name 或 -DisplayName 参数,否则 PowerShell 将检索所有所需的服务。
  • 包含:此参数指定检索服务信息时要包含的服务名称。此参数的值限定名称。您可以使用通配符 (*)。例如,当您指定 S* 时,它将检索以 S 开头的所有服务。
  • 排除:此参数指定在检索服务信息集时要排除的服务名称。此参数的值限定名称。您可以使用通配符 (*)。例如,当您指定S*时,它将检索除以S*开头的服务之外的所有服务。
  • InputObject:您可以将多个服务作为变量提供给输入对象参数,以从 Get-Service cmdlet 检索服务。
  • CommonParameters:这些参数用于错误和警告处理、调试、详细等参数。例如,-ErrorAction、-ErrorVariable、-WarningVariable、-WarningAction、-Verbose、-Debug、-OutBuffer、-OutVariable。

实施 PowerShell Get-Service 的示例

以下是实施示例:

1.使用--Name参数获取服务

当您未使用 Get-Service cmdlet 指定任何参数时,它默认采用 -Name 参数。要使用 -Name 参数检索服务信息,我们需要提供有效的服务名称。默认输出为“状态”、“名称”和“显示名称”格式。

代码#1

Get-Service -Name Winmgmt

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

说明:您还可以使用通配符来检索信息。

代码#2

Get-Service -Name Win*

在这里,Get-Service 将检索以“Win”开头的所有服务。

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

说明:通过-Name参数可以获取多个服务信息,多个服务之间用逗号(,)分隔。

代码#3

Get-Service -Name Winmgmt, WinRM, Spooler

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

2. 带--DisplayName参数的Get-Service

您可以向 Get-Service cmdlet 提供 displayname 参数来检索服务信息。

代码#1

Get-Service -DisplayName "Print Spooler"

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

要使用通配符 (*),

代码#2

Get-Service -DisplayName "*Spooler*"

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

3. 使用--DependedService获取服务

要获取特定服务的依赖服务信息,请使用以下命令。

代码#1

Get-Service Winmgmt -DependentServices

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

说明:在上面的输出中,Windows 管理工具服务依赖于输出中给定的服务。

此参数还适用于显示名称和通配符,甚至适用于多个服务。

代码#2

Get-Service -DisplayName "Windows Management Instrumentation" -DependentServices

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

说明:您可以在 Services.msc 控制台的“取决于”部分的“服务”属性中检查相同内容。

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

4. 使用 -RequiredService 获取服务

通过此参数,您将获得所需的服务信息(特定服务依赖于其他服务)。

代码#1

Get-Service Winmgmt -RequiredServices

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

说明:上面的输出提到 Winmgmt 服务需要 RPCSS 服务。这意味着 Winmgmt 服务位于 RPCSS 服务的依赖列表中。您可以在服务属性中检查相同的内容。

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

5. 使用 - Include 参数获取服务

当您使用include参数时,它会搜索include参数后面提到的内容。 接受通配符 (*)。例如,

代码#1

Get-Service -Include S*, *print*

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

说明:以上命令将包含所有以S开头且服务名称中包含Print的服务。您也可以使用 Name 参数检索相同的输出。

6. Get-Service 带有 -Exclude 参数

使用排除参数,服务名称将被排除,其余服务将被显示。

代码#1

Get-Service -Exclude S*, A*, *Windows*

说明:以上命令排除了输出命令中以S、A开头且包含Windows的服务。

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

说明:您只能限定名称参数的搜索,而不能限定其他参数(如 DisplayName、开始类型等)的搜索。

7. 使用格式列表获取服务

Get-Service cmdlet 提供默认输出,其中仅包含一些表项,例如显示名称、名称和状态,但如果要显示所有属性,请使用管道格式列表 * (fl *) 别名。

代码#1

Get-Service Spooler | Format-List *

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

8. 使用选择对象管道获取服务

您可以使用 Select-Object(别名:Select)参数检索选定的属性。

代码#1

Get-Service winmgmt, winrm | Select Name, DisplayName, Starttype, Status

输出:

[玩转系统] PowerShell 获取服务 |参数| 8 个最需要实施的示例

结论

使用 Get-Service,您可以检索本地计算机和远程计算机上的服务信息,还可以通过管道 Start-Service 和 Stop-Service 来启动或停止本地和远程计算机上的服务。

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

取消回复欢迎 发表评论:

关灯