我想知道我的 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
用于计算行数
进一步阅读
答案3
您可以使用Export List
选项services.msc
并选择将其导出为 CSV 文件。在 Excel(或任何其他支持 csv 的阅读器)中打开导出的文件应该会显示已安装服务的数量。