batch-file - 如何在批处理脚本中使用服务的显示名称删除 Windows 服务?
问题描述
我需要删除在 PC 感染恶意软件时创建的一堆服务。服务名称是随机的,但显示名称都是一样的。我不擅长批处理文件,所以我不知道如何编写脚本。
尝试使用 powershell 脚本,但无法使其正常工作。这是在 Windows 7 机器上。
sc getkeyname ControlSysService
当我输入上面的代码时,我得到以下结果。
[SC] GetServiceKeyname SUCCESS
Name = zmzhsirmck
除了 ControlSysService 之外,还有大约 10 个其他显示名称。我拥有所有显示名称,我只需要脚本即可使用显示名称删除服务。
input Display name
get service name
sc delete service
解决方案
您可以使用以下方法执行此操作WMIC
:
为了使用您已知的显示名称,您可以从命令提示符运行它
For %A In ("FirstName" "Second Name" "Third Display Name") Do @WMIC Service Where "DisplayName='%~A'" Call Delete
并作为批处理文件:
@Set List="FirstName" "Second Name" "Third Display Name"
@For %%A In (%List%) Do @WMIC Service Where "DisplayName='%%~A'" Call Delete
显然,在这两种情况下,您都将替换"FirstName" "Second Name" "Third Display Name"
为已知的显示名称(每个都用双引号括起来)。
推荐阅读
- scala - 通过某些列中的键快速拆分 Spark 数据帧并保存为不同的数据帧
- php - 将自动完成值拆分为 2 个字符串以用于 php 函数
- java - 异步 Lambda 代理集成
- c# - 多个范围的 ASP.NET Core ClaimsAuthorizationRequirement 未按预期工作?
- permissions - 如何为博世物联网权限生成代理凭据?
- typescript - 转到类型定义不适用于 Typescript 类型中具有泛型的对象
- angular - 将事件从子组件传递到另一个子组件Angular 7
- javascript - 类方法与类字段函数与类字段箭头函数有什么区别?
- php - 如何按 ID 合并两个 xml 文件(第一个作为子节点值,第二个作为属性)
- reactjs - 仅当有内容时才使 flex-item 尊重宽度