如何使用SC命令控制正在运行的服务[Windows]

这是大多数人使用的标准服务管理方式,因为它众所周知且相当容易。这涉及进入管理控件或进入控制面板,搜索服务实用程序并执行所需的操作。

如果要管理在另一台计算机或服务器上运行的服务您的网络,您需要进行计算机管理,连接到远程计算机,然后管理这些服务。

采用这种方法完全没有错–实际上,到处都有系统管理员使用这些标准Windows实用程序管理整个企业的基础架构。但是,如果可以通过在命令提示符下键入一行来监视,停止和启动服务呢?

从命令行控制服务

您可能需要停止运行服务在客户端计算机上,以便您可以重新安装某些软件。或者也许您由于某些软件无法正常运行而需要重新启动服务器上正在运行的服务。

到目前为止,您可能已经使用标准服务来管理网络上运行的客户端计算机上的服务。效用。这是您在控制面板的管理工具部分中启动的服务工具。

在管理工具中,您可以直接转到服务工具,也可以打开计算机如果要访问网络上的另一台计算机,则需要进行管理。

要访问另一台计算机,只需单击“ 连接到另一台计算机"操作,然后键入计算机。

然后您可以打开服务工具。

因此,那是很长的路要走。更快,更快捷的方法是使用命令“ SC"。

您可能对NET命令很熟悉。 SC命令几乎与NET相同,除了它可以监视,停止和启动它们之外,还可以创建服务。最重要的是,您可以通过网络对其他计算机发出SC命令(假设您具有管理员权限)。

对计算机进行SC查询将为您提供所有已安装的服务以及它们是否为已安装服务。运行。当您发出命令“ SC \\ **计算机名称**查询|更多" –您将获得如下所示的输出。

如您所见,这将为您提供服务状态,服务类型和其他参数。为了进行此处的练习,我们将仅关注服务的状态。

如果您只想列出当前未运行(停止)的服务,则可以发出命令,“ SC \\ **计算机名**查询状态=“不活动" |更多"

命令的|更多部分使输出在每个屏幕,以便您可以滚动。

如您所见,这些服务都已停止。现在,不必知道所有这些服务,只要知道服务的名称即可,只需发出命令“ SC \\ **计算机名**查询**服务名**" "

这将报告该服务的当前状态,而不会报告其他任何内容。要远程停止服务,您所要做的就是发出stop命令,“ SC \\ **计算机名** stop **服务名**"

输出将显示“ STOP-PENDING"状态,但是片刻之后,如果再次查询该服务,您将看到它不再运行。您可以通过发出相同的命令来启动它,但是将“ stop"替换为“ start"。

好吧,现在您已经掌握了基础知识,是时候编写一个脚本来停止任何脚本了。您想要的服务,而无需记住确切的命令字符串。我们可以通过编写一个可信任的Windows脚本来做到这一点,如下所示。

运行该脚本时,它将询问您要停止或启动的服务的名称。

然后停止或启动该服务。

使用“ >> c:\ temp \ results.txt" 命令,它将输出停止并开始结果和错误到文本文件,您可以使用该文本文件查看命令是否有效。

在运行上述脚本时,在运行之前和之后快速查询了服务

如您所见,我停止的服务(helpsvc)正在运行。我运行Windows脚本来停止它,查询它,然后它就停止了。

如果您真的想花哨的话,可以在该脚本中添加一个部分,以在该脚本上输出所有当前安装的服务。 PC到一个文本文件,您可以在决定停止或启动哪种服务之前先进行查看。用于该命令的命令是“ sc \\"和strComputer&" query> c:\ temp \ services.txt"。

如您所见,SC命令可以是一种在任何计算机上管理服务的强大而有效的方法,如果您有Windows脚本编写方面的才能,甚至可以自动化该过程以使您的工作变得更加轻松。

您是否认为SC命令可以派上用场吗?运行命令的自动化脚本呢?在下面的评论部分中分享您的想法和想法。

图片来源:Shutterstock

标签: 计算机维护 编程 系统监视器