svchost.exe 有哪些命令行选项?

svchost.exe 有哪些命令行选项?

看来 Windows 使用的唯一命令行选项svchost.exe-k,后跟 svchost 需要为给定服务启动的组名。但是,使用命令行选项表明可能还有其他可能的选项。但我似乎找不到这样的东西,获取命令行选项的一般方法(在命令行上传递--help/?)似乎不起作用。

还有其他适用于 svchost 的命令开关吗?它们有什么作用?

答案1

这篇博文解释存在三个已知参数:-k运行一组服务、-s仅运行指定组中的特定服务以及-p打开进程缓解策略。

另一篇博客文章,提供了有关其功能的更多详细信息-p。Windows 有一个 APISetProcessMitigationPolicy进程可以使用它来启用针对安全漏洞的各种缓解措施。每种可能的缓解措施类型称为“策略”。在 Windows 注册表中,在 下HKLM\Software\Microsoft\Windows NT\CurrentVersion\Svchost,可以创建三个值来切换 的三个特定策略svchost.exeDynamicCodePolicyBinarySignaturePolicyExtensionPolicy

-p选项的作用是强制为此过程启用这三种安全缓解策略svchost.exe,即使它们未在注册表中启用。

为什么存在此选项?嗯,从安全角度来看,理想的做法是在 Windows 注册表中启用所有三个策略,以便它们始终处于启用状态。但是,可能存在某些产品(无论是 Microsoft 还是第三方产品)包含正在运行的服务,svchost.exe并且这些标志打开后会中断,因此 Microsoft 不想默认启用它们。但是,对于 Windows 附带的服务,Microsoft 知道它们在打开这些标志后可以正常工作,为这些特定服务启用这些标志将具有更好的安全性。因此可以为特定服务组启用这些标志,而无需为所有服务-p启用它们。svchost.exe

当然,这些都是 Windows 中未记录的内部机制,微软在未来的某个版本中可能会破坏它们。在试图依赖它们做任何事情之前,应该意识到这种可能性。

答案2

我在注册表中看到了该选项-p,但后面没有任何参数。在 Google 上搜索 ,"svchost.exe -p" site:docs.microsoft.com结果为零,因此似乎没有任何 (官方) 文档。我不知道该-p标志的作用是什么,也不知道是否/p与 相同-p

相关内容