共计 1975 个字符,预计需要花费 5 分钟才能阅读完成。
国内代理地址:Github Proxy 代理下载
Github 项目地址:ionuttbara/windows-defender-remover
建议在运行脚本之前使用系统还原点。(如果你不知道你在做什么)
1、该应用程序有什么作用?
此应用程序删除 / 禁用 Windows Defender,包括 Windows 安全应用程序、基于 Windows 虚拟化的安全性(VBS)、Windows SmartScreen、Windows 安全服务、Windows Web 威胁服务、Windows 文件虚拟化(UAC)、Microsoft Defender App Guard、Microsoft 驱动程序阻止列表、系统缓解措施和 Windows 10 或更高版本上“设置”应用中的 Windows Defender 页面。
2、使用方式
从 Releases 或代理地址下载程序,以管理员身份运行“.exe”,按照显示的说明进行操作。改行为将被 Defender 拦截,请关闭安全防护中心后再进行下载后后续操作。
3、免下载脚本化方法
以管理员身份打开 Powershell,将下方代码粘贴后运行。
1
<table class="hljs-ln"><tbody><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="1"><div class="hljs-ln-n" data-line-number="1"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="1"><span class="hljs-variable">$remove_appx</span> = @(<span class="hljs-string">"SecHealthUI"</span>); <span class="hljs-variable">$provisioned</span> = get-appxprovisionedpackage -online; <span class="hljs-variable">$appxpackage</span> = get-appxpackage -allusers; <span class="hljs-variable">$eol</span> = @()</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="2"><div class="hljs-ln-n" data-line-number="2"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="2"><span class="hljs-variable">$store</span> = <span class="hljs-string">'HKLM:SOFTWAREMicrosoftWindowsCurrentVersionAppxAppxAllUserStore'</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="3"><div class="hljs-ln-n" data-line-number="3"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="3"><span class="hljs-variable">$users</span> = @(<span class="hljs-string">'S-1-5-18'</span>); <span class="hljs-keyword">if</span> (test-path <span class="hljs-variable">$store</span>) {<span class="hljs-variable">$users</span> += $((dir <span class="hljs-variable">$store</span> -ea <span class="hljs-number">0</span> |where {<span class="hljs-variable">$_</span> -like <span class="hljs-string">'*S-1-5-21*'</span>}).PSChildName)}</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="4"><div class="hljs-ln-n" data-line-number="4"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="4"><span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$choice</span> in <span class="hljs-variable">$remove_appx</span>) {<span class="hljs-keyword">if</span> (<span class="hljs-string">''</span> -eq <span class="hljs-variable">$choice</span>.Trim()) {<span class="hljs-keyword">continue</span>}</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="5"><div class="hljs-ln-n" data-line-number="5"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="5"><span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$appx</span> in $(<span class="hljs-variable">$provisioned</span> |where {<span class="hljs-variable">$_</span>.PackageName -like <span class="hljs-string">"*<span class="hljs-subst">$choice</span>*"</span>})) {<span class="hljs-variable">$next</span> = !<span class="hljs-number">1</span>; <span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$no</span> in <span class="hljs-variable">$skip</span>) {<span class="hljs-keyword">if</span> (<span class="hljs-variable">$appx</span>.PackageName -like <span class="hljs-string">"*<span class="hljs-subst">$no</span>*"</span>) {<span class="hljs-variable">$next</span> = !<span class="hljs-number">0</span>}} ; <span class="hljs-keyword">if</span> (<span class="hljs-variable">$next</span>) {<span class="hljs-keyword">continue</span>}</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="6"><div class="hljs-ln-n" data-line-number="6"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="6"><span class="hljs-variable">$PackageName</span> = <span class="hljs-variable">$appx</span>.PackageName; <span class="hljs-variable">$PackageFamilyName</span> = (<span class="hljs-variable">$appxpackage</span> |where {<span class="hljs-variable">$_</span>.Name -eq <span class="hljs-variable">$appx</span>.DisplayName}).PackageFamilyName </td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="7"><div class="hljs-ln-n" data-line-number="7"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="7">ni <span class="hljs-string">"<span class="hljs-subst">$store</span>Deprovisioned$PackageFamilyName"</span> -force ><span class="hljs-string">''</span>; <span class="hljs-variable">$PackageFamilyName</span> </td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="8"><div class="hljs-ln-n" data-line-number="8"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="8"><span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$sid</span> in <span class="hljs-variable">$users</span>) {ni <span class="hljs-string">"<span class="hljs-subst">$store</span>EndOfLife$sid$PackageName"</span> -force ><span class="hljs-string">''</span>} ; <span class="hljs-variable">$eol</span> += <span class="hljs-variable">$PackageName</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="9"><div class="hljs-ln-n" data-line-number="9"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="9">dism /online /set-nonremovableapppolicy /packagefamily:<span class="hljs-variable">$PackageFamilyName</span> /nonremovable:<span class="hljs-number">0</span> ><span class="hljs-string">''</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="10"><div class="hljs-ln-n" data-line-number="10"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="10">remove-appxprovisionedpackage -packagename <span class="hljs-variable">$PackageName</span> -online -allusers ><span class="hljs-string">''</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="11"><div class="hljs-ln-n" data-line-number="11"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="11">}</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="12"><div class="hljs-ln-n" data-line-number="12"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="12"><span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$appx</span> in $(<span class="hljs-variable">$appxpackage</span> |where {<span class="hljs-variable">$_</span>.PackageFullName -like <span class="hljs-string">"*<span class="hljs-subst">$choice</span>*"</span>})) {<span class="hljs-variable">$next</span> = !<span class="hljs-number">1</span>; <span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$no</span> in <span class="hljs-variable">$skip</span>) {<span class="hljs-keyword">if</span> (<span class="hljs-variable">$appx</span>.PackageFullName -like <span class="hljs-string">"*<span class="hljs-subst">$no</span>*"</span>) {<span class="hljs-variable">$next</span> = !<span class="hljs-number">0</span>}} ; <span class="hljs-keyword">if</span> (<span class="hljs-variable">$next</span>) {<span class="hljs-keyword">continue</span>}</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="13"><div class="hljs-ln-n" data-line-number="13"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="13"><span class="hljs-variable">$PackageFullName</span> = <span class="hljs-variable">$appx</span>.PackageFullName; </td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="14"><div class="hljs-ln-n" data-line-number="14"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="14">ni <span class="hljs-string">"<span class="hljs-subst">$store</span>Deprovisioned$appx.PackageFamilyName"</span> -force ><span class="hljs-string">''</span>; <span class="hljs-variable">$PackageFullName</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="15"><div class="hljs-ln-n" data-line-number="15"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="15"><span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$sid</span> in <span class="hljs-variable">$users</span>) {ni <span class="hljs-string">"<span class="hljs-subst">$store</span>EndOfLife$sid$PackageFullName"</span> -force ><span class="hljs-string">''</span>} ; <span class="hljs-variable">$eol</span> += <span class="hljs-variable">$PackageFullName</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="16"><div class="hljs-ln-n" data-line-number="16"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="16">dism /online /set-nonremovableapppolicy /packagefamily:<span class="hljs-variable">$PackageFamilyName</span> /nonremovable:<span class="hljs-number">0</span> ><span class="hljs-string">''</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="17"><div class="hljs-ln-n" data-line-number="17"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="17">remove-appxpackage -package <span class="hljs-variable">$PackageFullName</span> -allusers ><span class="hljs-string">''</span></td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="18"><div class="hljs-ln-n" data-line-number="18"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="18">}</td></tr><tr><td class="hljs-ln-line hljs-ln-numbers" data-line-number="19"><div class="hljs-ln-n" data-line-number="19"></div></td><td class="hljs-ln-line hljs-ln-code" data-line-number="19">}</td></tr></tbody></table>