如何计算Windows Server 2012上安装的服务数量?

如何计算Windows Server 2012上安装的服务数量?

我想知道我的 Server 2012 上安装了多少个服务,总共有多少个。services.msc我需要手动一个一个地计算。

我正在寻找命令行或类似的东西。

答案1

选项 1 - 导出列表 您可以右键单击 services.msc 中的计算机名称,选择“导出列表”,然后保存为 CSV 文件: 在此处输入图片描述

从这里,您可以在 Excel 中打开它并计算行数(标题为 -1 - 在本例中为 162):在此处输入图片描述

如果您没有 Excel,Notepad++ 之类的工具也可以为您提供行数。


选项 2 - PowerShell

(Get-Service | Measure-Object).Count

在此处输入图片描述 确切地说 - 获取服务列表,测量返回的列表并显示其“Count”属性


奖励积分- 两种方法都可以在远程机器上使用。

在 services.msc 中,右键单击计算机并选择“连接到另一台计算机...”

在 powershell 中,使用ComputerName开关获取远程计算机服务列表:

(Get-Service -ComputerName "MyComputer.MyDomain.local" | Measure-Object).Count

答案2

我想知道安装了多少服务(包括驱动程序)

作为摩押在评论中指出:

有些服务是隐藏的,不会显示在服务列表中。

驱动程序也作为服务运行,并且不会显示,如果您查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,您将看到所有 Windows 服务。

解决方案 1 使用reg

您可以reg与以下一起使用find

F:\test>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services | find "" /v /c
541

F:\test>

笔记:

  • find "" /v /c用于计算行数

我想知道安装了多少服务(不包括驱动程序)

笔记:

  • 驱动程序也作为服务运行。请参阅下文了解如何独立于服务计算已安装的驱动程序。

解决方案 1 使用sc

您可以sc与以下一起使用find

F:\test>sc query state= all | find /c "SERVICE_NAME"
201

F:\test>

笔记:

  • 注意多余的空格:

    SC QUERY state= all作品

    SC QUERY state =all失败!

  • find /c用于计算行数

解决方案 2 使用wmic

您可以wmic与以下一起使用find

F:\test>wmic service get name | find "" /v /c
203

F:\test>

笔记:

  • 您需要从结果中减去 2,因为wmic输出的是标题(“名称”)和尾随的空白行
  • find "" /v /c用于计算行数

我想知道安装了多少个驱动程序

作为摩押在评论中指出:

有些服务是隐藏的,不会显示在服务列表中。

驱动程序也作为服务运行,并且不会显示,如果您查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,您将看到所有 Windows 服务。

解决方案 1 使用driverquery

您可以driverquery与以下一起使用find

F:\test>driverquery | find "" /v /c
287

F:\test>

笔记:

  • 您需要从结果中减去 2,因为driverquery输出 2 个标题行
  • find "" /v /c用于计算行数

进一步阅读

  • Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
  • 司机查询- 显示所有已安装的设备驱动程序及其属性的列表。
  • 寻找- 在文件中搜索文本字符串并显示找到该字符串的所有行。
  • 登记- 读取、设置或删除注册表项和值,并从 .REG 文件保存和恢复。
  • 陣容- 服务控制 - 创建、启动、停止、查询或删除任何 Windows 服务。
  • 西米克- Windows 管理规范命令。

答案3

您可以使用Export List选项services.msc并选择将其导出为 CSV 文件。在 Excel(或任何其他支持 csv 的阅读器)中打开导出的文件应该会显示已安装服务的数量。

相关内容