如何通过命令行禁用仅存在于任务管理器启动选项卡中的启动程序?

如何通过命令行禁用仅存在于任务管理器启动选项卡中的启动程序?

在网上搜索,找到了很多关于 的结果Get/Set-Servicewmic以及scmsconfig 和任务管理器本身的大量 GUI 选项,但我需要设置 Windows 机器的无人值守安装,因此需要通过命令行禁用这些启动程序。

要找到这些应用程序,请打开任务管理器并单击“启动”选项卡。您将看到设置为“启用”或“禁用”的应用程序列表及其启动影响。

例如,我尝试阻止启动的应用程序是 Citrix 和 KeePass。

PowerShell 的Get-Service命令不显示这些服务。运行sc query不显示这些服务,也不wmic startup显示这些服务。我不知道如何通过命令行禁用这些服务。

答案1

自动启动位于注册表或计划任务中。

查找并删除这些条目或将其删除。但是,如果这是一台公司机器,并且您不是本地管理员,您将无法执行此操作。即使您是。如果有强制执行的域级 GPO,它们无论如何都会重新启动。

如何访问或修改 Windows 注册表中的启动项

您可以使用 PowerShell 修改关联的注册表项。请查看注册表提供程序的帮助

Get-Help about_providers
Get-Help registry

如果将任务管理器中的条目与SysInternals 自动运行然后任务管理器将显示来自以下位置的程序:

 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
 HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
 C:\Users\\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
 HKCU\Software\Microsoft\Windows\CurrentVersion\Run

我想根据您的具体配置,可能会有更多位置,但以上内容对我的机器而言是正确的。

Autoruns 通过删除和添加注册表项来启用和禁用启动程序

但是,任务管理器不会删除注册表项,它实际上会修改以下位置的注册表项:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

任务管理器中列出的每个程序都有一个条目。看起来值 02 00 00 00 00 00 00 00 00 00 00 00 00 已启用,其他任何值均已禁用。不过,我只做了短暂的尝试,必须关闭/打开任务管理器才能看到它从启用变为禁用。

获取/停止进程(常规应用程序、脚本等)。

# get function / cmdlet details
(Get-Command -Name Get-Process).Parameters
Get-help -Name Get-Process -Full
Get-help -Name Get-Process -Online
Get-help -Name Get-Process -Examples


(Get-Command -Name Stop-Process).Parameters
Stophelp -Name Stop-Process -Full
Get-help -Name Stop-Process -Online
Get-help -Name Stop-Process -Examples

Get/Stop-Service 适用于服务而非进程(真实服务、虚假服务)。

# get function / cmdlet details
(Get-Command -Name Get-Service).Parameters
Get-help -Name Get-Service -Full
Get-help -Name Get-Service -Online
Get-help -Name Get-Process -Examples


(Get-Command -Name Stop-Service).Parameters
Get-help -Name Stop-Service -Full
Get-help -Name Stop-Service -Online
Get-help -Name Stop-Service -Examples

相关内容