daniel Asked:2020-02-06 21:14:13 +0000 UTC2020-02-06 21:14:13 +0000 UTC 2020-02-06 21:14:13 +0000 UTC 是否可以以编程方式禁用 Windows Defender? 772 是否可以以编程方式禁用 Windows Defender? windows 2 个回答 Voted Best Answer Viktor Tomilov 2020-02-06T21:18:40Z2020-02-06T21:18:40Z 是的你可以。但是,您必须记住您正在禁用保护软件。在您的计算机上,您可以自由地进行任何实验,在另一个用户的计算机上,您必须提前警告他。 所以关机: sc stop WinDefend 然后包括: sc start WinDefend 查看: sc query WinDefend 禁止开始是可能的: sc config WinDefend start= disabled sc stop WinDefend 不要忘记管理员权限! 在 Windows 10 上,您必须使用 Powershell: Set-MpPreference -DisableRealtimeMonitoring $true # запрет Set-MpPreference -DisableRealtimeMonitoring $false # разрешение 作为评论,因为它与问题无关:注意到在 Windows 10 中,即使 Defender 被禁用(顺便说一句,它不是永久禁用,而是在短时间内禁用),记录更改到磁盘继续,并立即打开后卫“冲”,以检查关闭时发生了什么变化。 更新 1.从版本 1703 开始,内核控制未被禁用。 ANTARES 2020-04-05T18:00:08Z2020-04-05T18:00:08Z 我做了一个可以禁用 Windows 10 防御者的小软件,除了智能过滤器。这是答案的补充。有某些注册表项。 文章 我只是在视频上犯了一个错误。所有参数都必须不带引号指定。C#语言。 另一篇文章指出如何修复错误 这是需要做什么的一般原则。所有这些(在视频中)都可以翻译成代码(在文章中,您可以下载程序并查看它是如何工作的)。 1) 在注册表编辑器中,导航到 HKEY_LOCAL_MACHINE\ SOFTWARE\ Policies\ Microsoft\ Windows Defender 2)在注册表编辑器的右侧,右键,选择“新建”-“32位DWORD值”(即使你是64位系统)并将参数名称设置为DisableAntiSpyware 3)创建参数后,双击它并将值设置为1。 4) 在同一个地方,创建 AllowFastServiceStartup 和 ServiceKeepAlive 参数——它们的值应该是 0(零,默认设置)。 5) 在 Windows Defender 部分中,选择实时保护子部分(或创建它),并在其中创建名为 DisableIOAVProtection 和 DisableRealtimeMonitoring 的设置 6) 双击每个设置并将值设置为 1。 7) 在 Windows Defender 部分,创建 Spynet 子项,在其中创建名称为 DisableBlockAtFirstSeen(值 1)、LocalSettingOverrideSpynetReporting(值 0)、SubmitSamplesConsent(值 2)的 DWORD32 设置。此操作会禁用云扫描和阻止未知程序。准备好。之后,您可以关闭注册表编辑器。Windows Defender 几乎被禁用。几乎没有什么动作了。 我们转到“任务管理器”,“启动”选项卡并禁用“Windows Defender”,重新启动计算机并欢欣鼓舞。Defender 完全禁用。 错误地:您可以阅读链接上的文章,或者我将在下面写。 程序代码并不完美,但它仍然适用于结果!该程序必须以管理员身份运行!再过一会。如果在执行所有操作后仅阻止“监控”,则在指定值时,只需删除引号即可。示例:Registry.SetValue(keyName1, "DisableBlockAtFirstSeen", "1"); 替换为 Registry.SetValue(keyName1, "DisableBlockAtFirstSeen", 1); 最后一个参数不带引号传递。这会将注册表中的数据类型更改为 DWORD(双字)。 为什么这是对先前答案的补充? 因为在前面的答案中,这个过程不是用手停止的。就我而言,这是无法避免的,但您可以将两个答案合并为一个。然后 Defender 将被停止并通常被阻止并且永远不会再次打开(除非您自己想要它)。 这是 Visual C# Express 2010 按钮单击事件的示例代码片段 public void button_Click(object sender, EventArgs e) { const string userRoot = "HKEY_LOCAL_MACHINE"; const string subkey = @"SOFTWARE\Policies\Microsoft\Windows Defender"; const string keyName = userRoot + "\\" + subkey; Registry.SetValue(keyName, "DisableAntiSpyware", 1); Registry.SetValue(keyName, "AllowFastServiceStartup", 0); Registry.SetValue(keyName, "ServiceKeepAlive", 0); //и так далее, как выше изложено, проходимся по оставшимся веткам и ключам } 好吧,添加“防御者”进程的自动停止。注意,如果您使用此代码,例如在 Visual Studio 中,您可能会遇到错误。在那里,注册表的访问方式略有不同(我已经尝试过)。
是的你可以。但是,您必须记住您正在禁用保护软件。在您的计算机上,您可以自由地进行任何实验,在另一个用户的计算机上,您必须提前警告他。
所以关机:
然后包括:
查看:
禁止开始是可能的:
不要忘记管理员权限!
在 Windows 10 上,您必须使用 Powershell:
作为评论,因为它与问题无关:注意到在 Windows 10 中,即使 Defender 被禁用(顺便说一句,它不是永久禁用,而是在短时间内禁用),记录更改到磁盘继续,并立即打开后卫“冲”,以检查关闭时发生了什么变化。
更新 1.从版本 1703 开始,内核控制未被禁用。
我做了一个可以禁用 Windows 10 防御者的小软件,除了智能过滤器。这是答案的补充。有某些注册表项。
文章
我只是在视频上犯了一个错误。所有参数都必须不带引号指定。C#语言。
另一篇文章指出如何修复错误
这是需要做什么的一般原则。所有这些(在视频中)都可以翻译成代码(在文章中,您可以下载程序并查看它是如何工作的)。
1) 在注册表编辑器中,导航到 HKEY_LOCAL_MACHINE\ SOFTWARE\ Policies\ Microsoft\ Windows Defender
2)在注册表编辑器的右侧,右键,选择“新建”-“32位DWORD值”(即使你是64位系统)并将参数名称设置为DisableAntiSpyware
3)创建参数后,双击它并将值设置为1。
4) 在同一个地方,创建 AllowFastServiceStartup 和 ServiceKeepAlive 参数——它们的值应该是 0(零,默认设置)。
5) 在 Windows Defender 部分中,选择实时保护子部分(或创建它),并在其中创建名为 DisableIOAVProtection 和 DisableRealtimeMonitoring 的设置 6) 双击每个设置并将值设置为 1。
7) 在 Windows Defender 部分,创建 Spynet 子项,在其中创建名称为 DisableBlockAtFirstSeen(值 1)、LocalSettingOverrideSpynetReporting(值 0)、SubmitSamplesConsent(值 2)的 DWORD32 设置。此操作会禁用云扫描和阻止未知程序。准备好。之后,您可以关闭注册表编辑器。Windows Defender 几乎被禁用。几乎没有什么动作了。
我们转到“任务管理器”,“启动”选项卡并禁用“Windows Defender”,重新启动计算机并欢欣鼓舞。Defender 完全禁用。
错误地:您可以阅读链接上的文章,或者我将在下面写。
程序代码并不完美,但它仍然适用于结果!该程序必须以管理员身份运行!再过一会。如果在执行所有操作后仅阻止“监控”,则在指定值时,只需删除引号即可。示例:Registry.SetValue(keyName1, "DisableBlockAtFirstSeen", "1"); 替换为 Registry.SetValue(keyName1, "DisableBlockAtFirstSeen", 1); 最后一个参数不带引号传递。这会将注册表中的数据类型更改为 DWORD(双字)。
为什么这是对先前答案的补充?
因为在前面的答案中,这个过程不是用手停止的。就我而言,这是无法避免的,但您可以将两个答案合并为一个。然后 Defender 将被停止并通常被阻止并且永远不会再次打开(除非您自己想要它)。
这是 Visual C# Express 2010 按钮单击事件的示例代码片段
好吧,添加“防御者”进程的自动停止。注意,如果您使用此代码,例如在 Visual Studio 中,您可能会遇到错误。在那里,注册表的访问方式略有不同(我已经尝试过)。