Vô hiệu hóa Windows Defender trong Windows 10


32

Tôi không thể tìm thấy bất kỳ thông tin nào về cách tắt Windows Defender trong Windows 10. Có một số thông tin về cách thực hiện trong phần xem trước, nhưng các trang cấu hình đã thay đổi với bản phát hành cuối cùng.

Cụ thể, tôi muốn dừng và vô hiệu hóa Dịch vụ bảo vệ Windows.

  • Sử dụng net stop windefendtừ một dấu nhắc lệnh nâng cao sẽ cho "quyền truy cập bị từ chối"
  • Loại dừng và khởi động được tô màu trong Sevices.msc, ngay cả khi đăng nhập với tư cách quản trị viên
  • Dường như không có cách GUI nào để tắt UAC trong Windows 10

Có ai tìm ra cách vô hiệu hóa Defender trong Windows 10 chưa?


3
Phương pháp đơn giản nhất. Chỉ cần cài đặt một bộ bảo mật trả phí / miễn phí và nó sẽ tự động vô hiệu hóa chính nó. Ngoài ra, hãy truy cập 'Cập nhật và bảo mật' và vô hiệu hóa bảo vệ theo thời gian thực. Bạn không thể vô hiệu hóa UAC trong Windows 8 trở lên ở cùng mức độ như với Windows 7. Tất nhiên tôi không chắc UAC phải làm gì với Windows Defender.
Ramhound

Tôi đã đề cập đến UAC vì có vẻ như UAC đang ngăn tôi vô hiệu hóa Defender. Tôi chưa triển khai Kaspersky mới nhất hỗ trợ Windows 10 và thật lòng tôi không tin tưởng rằng Kaspersky sẽ cài đặt tốt với Defender đang chạy. Thêm vào đó tôi muốn có thể vô hiệu hóa nó theo nguyên tắc trong trường hợp tôi cần hoặc muốn vì lý do khác.
Todd Wilcox

Tôi đã mở Update & Securityvà tôi có thể tắt Windows Defender. Cá nhân tôi đã có thể vô hiệu hóa dịch vụ mặc dù sau khi tôi làm điều đó.
Ramhound

Windows Defender được thiết kế để có thể dễ dàng thay thế, chỉ cần cài đặt một AV khác và nó sẽ tự động tắt.
gronostaj 30/07/2015

3
@gronostaj Nếu câu hỏi của tôi là làm thế nào để thay thế Windows Defender bằng một giải pháp A / V khác, tôi sẽ đề nghị bạn đăng nhận xét của bạn dưới dạng câu trả lời và tôi chấp nhận nó, ngoại trừ nhận xét của bạn giống như của Ramhound, vì vậy tôi thực sự đề xuất anh ấy làm điều đó Nhưng đó không phải là điều tôi đang cố gắng làm.
Todd Wilcox

Câu trả lời:


22

Bạn có thể làm điều này bằng Chính sách nhóm .

mở gpedit.msc

hướng đến Computer Configuration > Administrative Templates > Windows Components > Windows Defender

Turn off Windows Defender = Đã bật

Nếu sau đó bạn thử mở Windows Defender, bạn sẽ thấy điều này: nhập mô tả hình ảnh ở đây

Và mặc dù trong Cài đặt có vẻ như được bật, Dịch vụ không chạy:nhập mô tả hình ảnh ở đây

thêm thông tin:

http://aaron-hoffman.blogspot.com/2015/08/install-and-setup-windows-10-for.html

http://www.doad3k.com/articles/How-to-Turn- Offer-Windows-Defender-Pternal-in-Windows-10-01350


Tôi không thể tin rằng tôi đã không tìm thấy điều này một mình. Cảm ơn!
Todd Wilcox

2
Đây cũng là cho Windows Home? Tôi không thể tìm thấygpedit.msc
Stijn de Witt

2
Không, nó không hoạt động cho người dùng gia đình. Chỉ dành cho Chuyên gia / Doanh nghiệp / Giáo dục
sloosecannon

2
Đã thử điều này ... tuy nhiên dịch vụ vẫn đang chạy trong trình quản lý tác vụ.
Brig

12

Tôi tìm thấy một cách khác bằng cách sử dụng đăng ký.

Sử dụng bài viết này , tôi đã thay đổi loại khởi động cho các trình điều khiển và dịch vụ Defender (!!) trong sổ đăng ký trong khi đăng nhập với tư cách quản trị viên. Đây là một tóm tắt ngắn gọn:

  1. Duyệt đăng ký để HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
  2. Tìm kiếm các dịch vụ bắt đầu bằng "wd" có "Windows Defender" trong giá trị Mô tả. Một danh sách có thể không đầy đủ là: wdboot, wdfilter, wdnitorrv, wdnissvc, Windefend.
  3. Thay đổi Startgiá trị cho mỗi dịch vụ thành 0x4(hex 4, thập phân 4).
  4. Khởi động lại.

4
Tôi đã đăng nhập với tư cách quản trị viên và tôi vẫn gặp lỗi "Lỗi ghi bắt đầu. Lỗi ghi nội dung mới của giá trị."
Đánh dấu

1
Tôi cũng vậy với cùng một lỗi "Error writing start. Error writing the value's new contents. Bất kỳ công việc xung quanh cho chúng tôi @Todd Wilcox?
Nam G VU

1
Bạn đã thử nhấp chuột phải vào regedit và chạy với tư cách quản trị viên chưa?
Todd Wilcox

2
Thật không may trên Win10 Home Single Language, tôi gặp lỗi tương tự ngay cả khi tôi bắt đầu regedit với tư cách quản trị viên, bất kỳ cách giải quyết nào khác. Bây giờ tôi thực sự bắt đầu sử dụng windows 10.
gideon

Nếu nhận được Error writing (...), đóng regedit và mở lại.
Marc.2377

11

Phiên bản ngắn

  1. Tải về
  2. Trích xuất
  3. Nhấn đúp chuột DisableDefender.reg

Giải trình

Cho đến nay, cách hiệu quả và rõ ràng nhất để vô hiệu hóa vĩnh viễn Windows Defender trong Windows 10 là thông qua Chính sách nhóm, như được mô tả bởi Aaron Hoffman. Thật không may, Windows 10 Home thiếu các công cụ cần thiết.

Đây là một tệp đăng ký có chứa các thay đổi được thực hiện bởi gpedit.msc trên máy Windows 10 Pro. Nó cũng đã được thử nghiệm trên Windows 10 Home. Lưu tệp như DisableDefender.regvới các kết thúc dòng kiểu Windows và bấm đúp vào tệp để nhập tệp vào sổ đăng ký của bạn.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender]
"DisableAntiSpyware"=dword:00000001
"DisableRoutinelyTakingAction"=dword:00000001

Nếu bạn muốn bật lại Defender, hãy đổi 00000001thành 00000000cả hai dòng.

Bạn có thể tải xuống các tệp để vô hiệu hóa và kích hoạt lại hậu vệ từ Gist .


1
Bạn giành được Internet ngày hôm nay, thưa ông.
ivan_bilan

Tôi đã kích hoạt lại WD bằng cách regedit giá trị thành 00000000, kết quả WD Bảo vệ thời gian thực bị tắt do bạn đang sử dụng AV khác. Trong thực tế tôi không có bất kỳ phần mềm diệt virus nào được cài đặt. Làm thế nào để khắc phục điều này? Cảm ơn
Santosa Sandy

@SantosaSandy Điều đó có thể xảy ra vì một số lý do, bao gồm cả phần mềm độc hại. Bạn nên bắt đầu một câu hỏi riêng biệt.
Zenexer

Cảm ơn ông PB. Trong trường hợp khẩn cấp và thiếu lỗi điều tra đầu mối, tôi chỉ cập nhật các cửa sổ và chạy trình dọn dẹp registry (ví dụ CCleaner). Windows Defender đang hoạt động trở lại. Cảm ơn
Santosa Sandy

4

Để tắt hoàn toàn Windows Defender (không chỉ bảo vệ theo thời gian thực), bạn có thể:

  1. Cài đặt một bộ bảo mật khác (như Ramhound đã đề cập).
  2. Nếu bạn sẵn sàng sử dụng ứng dụng của bên thứ ba, bạn có thể sử dụng NoDefender: http://msft.gq/pub/apps/NoDefender.zip

Thông tin thêm về NoDefender có thể được tìm thấy ở đây: http://winaero.com/blog/nodefender-disable-windows-defender-in-windows-10-with-few-clicks/


Tôi nghi ngờ NoDefender có thể chỉ là một cách tự động để chỉnh sửa sổ đăng ký mà tôi đã thực hiện thủ công.
Todd Wilcox

@ToddWilcox, Phương pháp của bạn tốt hơn của tôi rồi! Một ứng dụng bên thứ ba ít phải lo lắng.
dùng5071535

1
Tôi vẫn thấy dịch vụ chống phần mềm độc hại đang chạy, chạy Windows defender. Tôi đã cài đặt phiên bản miễn phí avg
shorif2000

2
Chính xác, @Sharif Tôi muốn xem bất kỳ xác nhận nào rằng dịch vụ chống phần mềm độc hại cũng bị vô hiệu hóa.
Đánh dấu

2

Tôi đã viết tệp bó và tệp đăng ký sẽ tắt hoàn toàn Windows Defender trong Windows 10.

  1. Lưu các tập tin sau vào cùng một thư mục.
  2. Chạy Disable Windows Defender.batvới tư cách quản trị viên.
  3. Sau khi tập tin bó xong, khởi động lại.
  4. Chạy Disable Windows Defender.batlại với tư cách quản trị viên.
  5. Windows Defender nên bị vô hiệu hóa hoàn toàn ngay bây giờ.

Disable Windows Defender.bat

@echo off

call :main %*
goto :eof

:main
    setlocal EnableDelayedExpansion

    rem Check if Windows Defender is running.
    tasklist /fi "imageName eq "MsMpEng.exe"" | find /i "MsMpEng.exe" > nul 2> nul
    if %errorLevel% equ 0 (
        rem Windows Defender is running.
        echo Windows Defender is running.

        rem Performable operations while Windows Defender is running.
        rem Disable Windows Defender drivers.
        echo Disabling Windows Defender drivers...
        set "drivers="%SystemRoot%\System32\drivers\WdBoot.sys";"%SystemRoot%\System32\drivers\WdFilter.sys";"%SystemRoot%\System32\drivers\WdNisDrv.sys""
        set "drivers=!drivers:""="!"

        set "wasDriverDisabled=false"
        for %%d in (!drivers!) do (
            if exist "%%~d" (
                echo Disabling Windows Defender driver "%%~d"...
                call :disableFile "%%~d"
                set "wasDriverDisabled=true"
            )
        )

        rem Disable Windows Defender objects.
        echo Disabling Windows Defender objects...
        call :importRegistry "Disable Windows Defender objects.reg"

        rem Require restart to unload Windows Defender drivers and objects.
        echo.
        echo Restart required.
    ) else (
        rem Windows Defender is not running.
        echo Windows Defender is not running.

        rem Performable operations while Windows Defender is not running.
        rem Disable Windows Defender features.
        echo Disabling Windows Defender features...
        call :importRegistry "Disable Windows Defender features.reg"
        rem Disable Windows Defender services.
        echo Disabling Windows Defender services...
        call :importRegistry "Disable Windows Defender services.reg"

        rem Disable Windows Defender files.
        echo Disabling Windows Defender files...
        ren "%ProgramFiles%\Windows Defender" "Windows Defender.bak"
        ren "%ProgramFiles(x86)%\Windows Defender" "Windows Defender.bak"
        ren "%ProgramData%\Microsoft\Windows Defender" "Windows Defender.bak"
    )

    endlocal
    goto :eof

:ownFile
    setlocal
    set "filePath=%~1"
    set "user=%~2"
    takeown /f "%filePath%" /a
    icacls "%filePath%" /grant "%user%:F"
    endlocal
    goto :eof

:disableFile
    setlocal
    set "filePath=%~1"
    call :ownFile "%filePath%" "Administrators"
    ren "%filePath%" "%~nx1.bak"
    endlocal
    goto :eof

:importRegistry
    setlocal
    set "filePath=%~1"
    call OwnRegistryKeys.bat "%filePath%"
    @echo off
    regedit /s "%filePath%"
    endlocal
    goto :eof

Disable Windows Defender objects.reg

Windows Registry Editor Version 5.00

; Disable "Scan with Windows Defender..." right click context menu.
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{09A47860-11B0-4DA5-AFA5-26D86198A780}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{09A47860-11B0-4DA5-AFA5-26D86198A780}]
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D8559EB9-20C0-410E-BEDA-7ED416AECC2A}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{D8559EB9-20C0-410E-BEDA-7ED416AECC2A}]

; Disable PSFactoryBuffer ("mpuxhostproxy.dll").
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{13F6A0B6-57AF-4BA7-ACAA-614BC89CA9D8}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{13F6A0B6-57AF-4BA7-ACAA-614BC89CA9D8}]

; Disable "DefenderCSP.dll".
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{195B4D07-3DE2-4744-BBF2-D90121AE785B}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{195B4D07-3DE2-4744-BBF2-D90121AE785B}]

; Disable Windows Defender IOfficeAntiVirus implementation ("MpOav.dll").
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{2781761E-28E0-4109-99FE-B9D127C57AFE}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{2781761E-28E0-4109-99FE-B9D127C57AFE}]

; Disable InfectionState WMI Provider ("MpProvider.dll").
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{361290c0-cb1b-49ae-9f3e-ba1cbe5dab35}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{361290c0-cb1b-49ae-9f3e-ba1cbe5dab35}]

; Disable Status WMI Provider ("MpProvider.dll").
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{8a696d12-576b-422e-9712-01b9dd84b446}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{8a696d12-576b-422e-9712-01b9dd84b446}]

; Disable PSFactoryBuffer ("mpuxhostproxy.dll").
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{94F35585-C5D7-4D95-BA71-A745AE76E2E2}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{94F35585-C5D7-4D95-BA71-A745AE76E2E2}]

; Disable Microsoft Windows Defender ("MsMpCom.dll").
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{A2D75874-6750-4931-94C1-C99D3BC9D0C7}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{A2D75874-6750-4931-94C1-C99D3BC9D0C7}]
[-HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{8C389764-F036-48F2-9AE2-88C260DCF43B}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\TypeLib\{8C389764-F036-48F2-9AE2-88C260DCF43B}]

; Disable Windows Defender WMI Provider ("ProtectionManagement.dll").
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{A7C452EF-8E9F-42EB-9F2B-245613CA0DC9}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{A7C452EF-8E9F-42EB-9F2B-245613CA0DC9}]

; Disable AMMonitoring WMI Provider ("AMMonitoringProvider.dll").
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{DACA056E-216A-4FD1-84A6-C306A017ECEC}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{DACA056E-216A-4FD1-84A6-C306A017ECEC}]

; Disable MP UX Host ("MpUxSrv.exe").
[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{FDA74D11-C4A6-4577-9F73-D7CA8586E10D}]
[-HKEY_LOCAL_MACHINE\Software\Classes\Wow6432Node\CLSID\{FDA74D11-C4A6-4577-9F73-D7CA8586E10D}]

Disable Windows Defender features.reg

Windows Registry Editor Version 5.00

; Disable Windows Defender features.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Defender]
"DisableAntiSpyware"=dword:00000001
"DisableRoutinelyTakingAction"=dword:00000001
"ProductStatus"=dword:00000000

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Defender\Real-Time Protection]
"DisableAntiSpywareRealtimeProtection"=dword:00000001
"DisableRealtimeMonitoring"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Defender\Scan]
"AutomaticallyCleanAfterScan"=dword:00000000
"ScheduleDay"=dword:00000008

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Defender\UX Configuration]
"AllowNonAdminFunctionality"=dword:00000000
"DisablePrivacyMode"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows Defender]
"DisableAntiSpyware"=dword:00000001
"DisableRoutinelyTakingAction"=dword:00000001
"ProductStatus"=dword:00000000

[HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows Defender\Real-Time Protection]
"DisableAntiSpywareRealtimeProtection"=dword:00000001
"DisableRealtimeMonitoring"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows Defender\Scan]
"AutomaticallyCleanAfterScan"=dword:00000000
"ScheduleDay"=dword:00000008

[HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows Defender\UX Configuration]
"AllowNonAdminFunctionality"=dword:00000000
"DisablePrivacyMode"=dword:00000001

Disable Windows Defender services.reg

Windows Registry Editor Version 5.00

; Disable "Windows Defender" services.
[HKEY_LOCAL_MACHINE\System\ControlSet001\Services\WinDefend]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\ControlSet002\Services\WinDefend]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WinDefend]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\ControlSet001\Services\WdBoot]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\ControlSet002\Services\WdBoot]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WdBoot]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\ControlSet001\Services\WdFilter]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\ControlSet002\Services\WdFilter]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WdFilter]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\ControlSet001\Services\WdNisDrv]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\ControlSet002\Services\WdNisDrv]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WdNisDrv]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\ControlSet001\Services\WdNisSvc]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\ControlSet002\Services\WdNisSvc]
"Start"=dword:00000004
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WdNisSvc]
"Start"=dword:00000004

OwnRegistryKeys.bat

@echo off

rem Get the location of the PowerShell file.
for /f "usebackq tokens=*" %%f in (`where "OwnRegistryKeys.ps1"`) do (
    rem Run command for each argument.
    for %%a in (%*) do (
        powershell -executionPolicy bypass -file "%%~f" "%%~a"
    )
)

OwnRegistryKeys.ps1

$script:baseKey = @{
    "HKEY_CLASSES_ROOT" = @{
        "name" = "HKEY_CLASSES_ROOT";
        "shortName" = "HKCR";
        "key" = [Microsoft.Win32.Registry]::ClassesRoot
    };
    "HKEY_CURRENT_CONFIG" = @{
        "name" = "HKEY_CURRENT_CONFIG";
        "shortName" = "HKCC";
        "key" = [Microsoft.Win32.Registry]::CurrentConfig
    };
    "HKEY_CURRENT_USER" = @{
        "name" = "HKEY_CURRENT_USER";
        "shortName" = "HKCU";
        "key" = [Microsoft.Win32.Registry]::CurrentUser
    };
    "HKEY_DYN_DATA" = @{
        "name" = "HKEY_DYN_DATA";
        "shortName" = "HKDD";
        "key" = [Microsoft.Win32.Registry]::DynData
    };
    "HKEY_LOCAL_MACHINE" = @{
        "name" = "HKEY_LOCAL_MACHINE";
        "shortName" = "HKLM";
        "key" = [Microsoft.Win32.Registry]::LocalMachine
    };
    "HKEY_PERFORMANCE_DATA" = @{
        "name" = "HKEY_PERFORMANCE_DATA";
        "shortName" = "HKPD";
        "key" = [Microsoft.Win32.Registry]::PerformanceData
    };
    "HKEY_USERS" = @{
        "name" = "HKEY_USERS";
        "shortName" = "HKU";
        "key" = [Microsoft.Win32.Registry]::Users
    }
}

function enablePrivilege {
    param(
        # The privilege to adjust. This set is taken from:
        # http://msdn.microsoft.com/en-us/library/bb530716(VS.85).aspx
        [validateSet(
            "SeAssignPrimaryTokenPrivilege",
            "SeAuditPrivilege",
            "SeBackupPrivilege",
            "SeChangeNotifyPrivilege",
            "SeCreateGlobalPrivilege",
            "SeCreatePagefilePrivilege",
            "SeCreatePermanentPrivilege",
            "SeCreateSymbolicLinkPrivilege",
            "SeCreateTokenPrivilege",
            "SeDebugPrivilege",
            "SeEnableDelegationPrivilege",
            "SeImpersonatePrivilege",
            "SeIncreaseBasePriorityPrivilege",
            "SeIncreaseQuotaPrivilege",
            "SeIncreaseWorkingSetPrivilege",
            "SeLoadDriverPrivilege",
            "SeLockMemoryPrivilege",
            "SeMachineAccountPrivilege",
            "SeManageVolumePrivilege",
            "SeProfileSingleProcessPrivilege",
            "SeRelabelPrivilege",
            "SeRemoteShutdownPrivilege",
            "SeRestorePrivilege",
            "SeSecurityPrivilege",
            "SeShutdownPrivilege",
            "SeSyncAgentPrivilege",
            "SeSystemEnvironmentPrivilege",
            "SeSystemProfilePrivilege",
            "SeSystemtimePrivilege",
            "SeTakeOwnershipPrivilege",
            "SeTcbPrivilege",
            "SeTimeZonePrivilege",
            "SeTrustedCredManAccessPrivilege",
            "SeUndockPrivilege",
            "SeUnsolicitedInputPrivilege"
        )]
        $privilege,

        # The process on which to adjust the privilege. Defaults to the current process.
        $processId = $pid,

        # Switch to disable the privilege, rather than enable it.
        [switch] $disable
    )

    # Taken from P/Invoke.NET with minor adjustments.
    $definition = @'
using System;
using System.Runtime.InteropServices;

public class AdjustPrivilege {
    [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]
    internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall, ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen);

    [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]
    internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok);

    [DllImport("advapi32.dll", SetLastError = true)]
    internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid);

    [StructLayout(LayoutKind.Sequential, Pack = 1)]
    internal struct TokPriv1Luid {
        public int Count;
        public long Luid;
        public int Attr;
    }

    internal const int SE_PRIVILEGE_ENABLED = 0x00000002;
    internal const int SE_PRIVILEGE_DISABLED = 0x00000000;
    internal const int TOKEN_QUERY = 0x00000008;
    internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020;

    public static bool EnablePrivilege(long processHandle, string privilege, bool disable) {
        bool result;
        TokPriv1Luid tp;
        IntPtr hproc = new IntPtr(processHandle);
        IntPtr htok = IntPtr.Zero;
        result = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok);
        tp.Count = 1;
        tp.Luid = 0;
        if (disable) {
            tp.Attr = SE_PRIVILEGE_DISABLED;
        } else {
            tp.Attr = SE_PRIVILEGE_ENABLED;
        }
        result = LookupPrivilegeValue(null, privilege, ref tp.Luid);
        result = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero);
        return result;
    }
}
'@

    $processHandle = (get-process -id $processId).handle
    $type = add-type $definition -passThru
    $type[0]::EnablePrivilege($processHandle, $privilege, $disable)
}

function getKeyNames {
    param(
        [parameter(mandatory = $true)]
        [string[]] $filePaths = $null
    )

    return (get-content $filePaths | select-string -pattern "\[\-?(.*)\]" -allMatches | forEach-object {$_.matches.groups[1].value} | get-unique)
}

function splitKeyName {
    param(
        [parameter(mandatory = $true)]
        [string] $keyName = $null
    )

    $names = $keyName.split("\\/", 2)

    $rootKeyName = $names[0]
    $subKeyName = $names[1]

    $keyPart = @{
        root = $baseKey[$rootKeyName];
        subKey = @{
            name = $subKeyName
        }
    }

    return $keyPart
}

function ownRegistryKey {
    param(
        [parameter(mandatory = $true)]
        [string] $keyName = $null
    )

    write-host """$keyName"""

    # Check if the key exists.
    if ($(try { test-path -path "Registry::$keyName".trim() } catch { $false })) {
        write-host "    Opening..."

        $keyPart = splitKeyName -keyName $keyName
        $ownableKey = $keyPart.root.key.openSubKey($keyPart.subKey.name, [Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree, [System.Security.AccessControl.RegistryRights]::TakeOwnership)
        if ($ownableKey -ne $null) {
            # Set the owner.
            write-host "    Setting owner..."
            $acl = $ownableKey.getAccessControl([System.Security.AccessControl.AccessControlSections]::None)
            $owner = [System.Security.Principal.NTAccount] "Administrators"
            $acl.setOwner($owner)
            $ownableKey.setAccessControl($acl)

            # Set the permissions.
            write-host "    Setting permissions..."
            $acl = $ownableKey.getAccessControl()
            $person = [System.Security.Principal.NTAccount] "Administrators"
            $access = [System.Security.AccessControl.RegistryRights] "FullControl"
            $inheritance = [System.Security.AccessControl.InheritanceFlags] "ContainerInherit"
            $propagation = [System.Security.AccessControl.PropagationFlags] "None"
            $type = [System.Security.AccessControl.AccessControlType] "Allow"

            $rule = new-object System.Security.AccessControl.RegistryAccessRule($person, $access, $inheritance, $propagation, $type)
            $acl.setAccessRule($rule)
            $ownableKey.setAccessControl($acl)

            $ownableKey.close()

            write-host "    Done."

            # Own children subkeys.
            $readableKey = $keyPart.root.key.openSubKey($keyPart.subKey.name, [Microsoft.Win32.RegistryKeyPermissionCheck]::ReadSubTree, [System.Security.AccessControl.RegistryRights]::ReadKey)
            if ($readableKey -ne $null) {
                $subKeyNames = ($readableKey.getSubKeyNames() | forEach-object { "$keyName\$_" })
                $readableKey.close()
                if ($subKeyNames -ne $null) {
                    ownRegistryKeys -keyNames $subKeyNames
                }
            } else {
                write-host "    Unable to open children subkeys."
            }
        } else {
            write-host "    Unable to open subkey."
        }
    } else {
        write-host "    Key does not exist."
    }

    write-host
}

function ownRegistryKeys {
    param(
        [parameter(mandatory = $true)]
        [string[]] $keyNames = $null
    )

    $keyName = $null
    foreach ($keyName in $keyNames) {
        # Own parent key and children subkeys.
        ownRegistryKey -keyName $keyName
    }
}

function requestPrivileges {
    $numberOfRetries = 10

    $privilegeResult = $false
    for ($r = 0; !$privilegeResult -band $r -lt $numberOfRetries; $r += 1) {
        $privilegeResult = enablePrivilege -privilege "SeTakeOwnershipPrivilege"
    }

    if (!$privilegeResult) {
        write-host "Unable to receive privilege."
        exit 1
    }
}

function main {
    param(
        [parameter(mandatory = $true)]
        [string[]] $filePaths = $null
    )

    requestPrivileges

    $keyNames = getKeyNames -filePaths $filePaths
    ownRegistryKeys -keyNames $keyNames
}

main $args

Cảm ơn! BTW: Điều này đòi hỏi phiên bản tiếng Anh của các cửa sổ phải hoạt động chính xác
M. Abdelhafid

2

Sẽ rất hữu ích để hiểu lý do tại sao bạn không thể dừng một dịch vụ cụ thể.

  • Tôi là quản trị viên; Tệ hơn là thất bại Quản trị viên không thể quản trị?!

Đó là vì các quyền bảo mật trên dịch vụ WinDefend .

Lưu ý : WinDefendlà tên thật của "Windows Defender Antivirus Service"

nhập mô tả hình ảnh ở đây

Quyền xem

Nếu bạn chạy từ một dòng lệnh:

>sc sdshow WinDefend

Ở đâu

  • sdshowcó nghĩa là "Hiển thị mô tả bảo mật của dịch vụ."

Bạn sẽ nhận được mô tả bảo mật :

C:\Users\Ian>sc sdshow WinDefend

D:(A;;CCLCSWRPLOCRRC;;;BU)(A;;CCLCSWRPLOCRRC;;;SY)(A;;CCLCSWRPLOCRRC;;;BA)(A;;CCLCSWRPLOCRRC;;;IU)(A;;CCLCSWRPLOCRRC;;;SU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736)

Đây là một đốm màu xấu xí và nó hoàn toàn không có giấy tờ của Microsoft, nhưng chúng ta sẽ có một cú đâm để giải mã nó. Đầu tiên bằng cách gói từ:

D:
   (A;;CCLCSWRPLOCRRC;;;BU)
   (A;;CCLCSWRPLOCRRC;;;SY)
   (A;;CCLCSWRPLOCRRC;;;BA)
   (A;;CCLCSWRPLOCRRC;;;IU)
   (A;;CCLCSWRPLOCRRC;;;SU)
   (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)
   (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736)

D:nghĩa đây là một danh sách kiểm soát truy cập tùy ý . Danh sách điều khiển truy cập được tạo thành từ một số mục kiểm soát truy cập (ACE):

  • D: danh sách kiểm soát truy cập tùy ý
    • ACE1: A;;CCLCSWRPLOCRRC;;;BU
    • ACE2: A;;CCLCSWRPLOCRRC;;;SY
    • ACE3: A;;CCLCSWRPLOCRRC;;;BA
    • ACE4: A;;CCLCSWRPLOCRRC;;;IU
    • ACE5: A;;CCLCSWRPLOCRRC;;;SU
    • ACE6: A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464
    • ACE7: A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

Mỗi ACE là một tập hợp các thiết lập chấm dứt 5 dấu chấm phẩy, tiếp theo là người nó áp dụng vào.

Đầu tiên nhìn vào người mà họ áp dụng, một bài viết blog ngẫu nhiên giải mã một số trong số họ ( archive.is ) :

  • BU: Người dùng tích hợp
  • SY: Hệ thống cục bộ
  • BA: Quản trị viên tích hợp
  • UI: Người dùng đăng nhập tương tác
  • SU: Người dùng đăng nhập dịch vụ
  • S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464: Trình cài đặt đáng tin cậy
  • S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736:

Bạn có thể lấy tên được liên kết với SID bằng cách chạy:

>wmic useraccount where sid='S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736' get name

Mỗi ACE chứa một danh sách các quyền mà người dùng đang được cho phép hoặc bị từ chối.

  • D: danh sách kiểm soát truy cập tùy ý
    • ACE 1: A;;CCLCSWRPLOCRRC;;; Người dùng tích hợp
    • ACE 2: A;;CCLCSWRPLOCRRC;;; Hệ thống cục bộ
    • ACE 3: A;;CCLCSWRPLOCRRC;;; Quản trị viên tích hợp
    • ACE 4: Người A;;CCLCSWRPLOCRRC;;; dùng tương tác
    • ACE 5: Người A;;CCLCSWRPLOCRRC;;; dùng đăng nhập dịch vụ
    • ACE 6: Trình A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; cài đặt đáng tin cậy
    • ACE 7: A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

Phân tích các phần được phân tách bằng dấu chấm phẩy còn lại trong một ACE:

  • ÁT CHỦ: A;;CCLCSWRPLOCRRC;;;
    • AceType: AACCESS_ALLOWED_ACE_TYPE
    • AceFlags: (không có)
    • AccessMask: CC LC SW RP LO CR RC
      • CC: CREATE_CHILD
      • LC: LIST_CHILDREN
      • SW: TỰF_WRITE
      • RP: READ_PROPERTY
      • LO: LIST_OB DỰ ÁN
      • CR: CONTROL_ACCESS
      • RC: READ_CONTROL
    • ObjectGuid: (không có)
    • Kế thừaObjectGuid: (không có)

Các Aphương tiện hàng đầu được phép và các quyền là các mã gồm hai chữ cái:

  • D: danh sách kiểm soát truy cập tùy ý
    • ACE 1 : Cho phép ,, CC LC SW RP LO CR RCNgười dùng tích hợp
    • ACE 2 : Cho phép ,, CC LC SW RP LO CR RCHệ thống cục bộ
    • ACE 3 : Cho phép ,, CC LC SW RP LO CR RCQuản trị viên tích hợp
    • ACE 4 : Cho phép ,, Người CC LC SW RP LO CR RCdùng tương tác
    • ACE 5 : Cho phép ,, Người CC LC SW RP LO CR RCdùng đăng nhập dịch vụ
    • ACE 6 : Cho phép ,, Trình CC LC SW RP LO CR RC DC WP DT SD WD WOcài đặt đáng tin cậy
    • ACE 7 : Cho phép CC LC SW RP LO CR RC DC WP DT SD WD WO,, S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

Và đây là nơi tôi sẽ phải dừng lại để cứu công việc của mình. Đây là cách để ngăn chặn dịch vụ Windows Defender rất thú vị: nhưng tôi đã dừng nó và PC của tôi vẫn hoạt động sai.

Làm hỏng

sc sdset WinDefend [newSDLString]

Đọc thưởng


1

Phương pháp powershell dễ dàng có ở đây từ một câu trả lời tôi đã đăng trên một câu hỏi sau đó được đánh dấu trùng lặp cho điều này.

Cách dễ nhất để làm điều này là sử dụng powershell để vô hiệu hóa nó, lệnh bạn có thể muốn là đây

Set-MpPreference -DisableRealtimeMonitoring $true
Get-Service WinDefend | stop-service 

Đối với một bài viết về việc sử dụng powershell để vô hiệu hóa / bật Windows Defender, hãy kiểm tra tại đây: http://wmug.co.uk/wmug/b/pwin/archive/2015/05/12/quickly-disable-windows-defender-on-windows -10-sử dụng-powershell

Dưới đây là bài viết về kỹ thuật để có cái nhìn chi tiết hơn về các lệnh ghép ngắn hậu vệ có sẵn: https://technet.microsoft.com/en-us/l Library / dd433280.aspx


Tôi không tin rằng điều này sẽ dừng và vô hiệu hóa chính dịch vụ. Nó chỉ vô hiệu hóa các khả năng thời gian thực của Windows Defender, điều này chỉ đơn giản được thực hiện thông qua Cài đặt mà không cần một applet PowerShell.
Ramhound

@Ramhound được chỉnh sửa cho dịch vụ mgmt với powershell. Tôi không phải là 100%, nó sẽ dừng dịch vụ mà không gặp vấn đề tương tự như dịch vụ dừng mạng nhưng tôi đã gặp nhiều may mắn hơn với powershell và không tin bí danh get / stop-dịch vụ dừng mạng
Abraxas

1

Tôi thấy rằng các thủ tục sau đây hoạt động tốt; nó không xóa hoặc vô hiệu hóa Windows Defender, nhưng nó vô hiệu hóa Windows Defender DỊCH VỤ, dừng tất cả quá trình quét khởi động và quét thời gian thực, đồng thời ngăn Windows Defender Real-Time Scan tự bật lại. (Nó để Windows Defender tại chỗ, vì vậy bạn có thể sử dụng nó để thực hiện quét theo yêu cầu các tệp đáng ngờ.)

THỦ TỤC:

  1. Tìm, tải xuống, cài đặt bộ chương trình "SysIternals".
  2. Chạy chương trình "AutoRun".
  3. Tìm "Dịch vụ bảo vệ Windows".
  4. Bỏ chọn hộp.
  5. Khởi động lại máy tính của bạn.

Sau khi làm điều đó, thời gian khởi động của tôi giảm từ 20 phút xuống còn 5 phút và việc sử dụng bộ nhớ sau khi khởi động (trước khi khởi chạy bất kỳ ứng dụng nào) đã giảm từ 2.1GB xuống 1.2GB. Và khi tôi xem trong "Dịch vụ", tôi thấy rằng "Dịch vụ bảo vệ Windows", trong khi vẫn ở đó, hiện được đánh dấu là "KHÔNG chạy, bị vô hiệu hóa".


Cung cấp "quyền truy cập bị từ chối", thậm chí chạy với tư cách Quản trị viên
pgr

1

Thật không dễ dàng để vô hiệu hóa và hoàn toàn vô hiệu hóa Windows Defender. Có một tập lệnh PowerShell gỡ cài đặt Windows Defender, nhưng sau này bạn có thể không cài đặt lại được. Kịch bản này yêu cầu hai lần khởi động lại.

Chỉ cần tải xuống Debloat-Windows-10 và làm theo các bước sau, được cung cấp bởi tác giả:

  1. Giải nén kho lưu trữ;
  2. Cho phép thực thi tập lệnh PowerShell:

    PS> Set-ExecutPolicy Không bị giới hạn

  3. Bỏ chặn các tập lệnh và mô-đun PowerShell trong thư mục này:

    PS> ls -Recurse * .ps1 | Bỏ chặn tệp PS> ls -Recurse * .psm1 | Bỏ chặn tập tin

  4. Chạy scripts\disable-windows-defender.ps1

  5. Khởi động lại máy tính (theo cách thông thường hoặc thông qua PS > Restart-Computer)
  6. Chạy scripts\disable-windows-defender.ps1thêm một lần nữa.
  7. Khởi động lại máy tính một lần nữa.

Đây không phải là cách dễ nhất, nhưng rất đáng tin cậy và kiên cường.

Ngoài ra còn có các tập lệnh để xóa các chương trình không cần thiết như BingFinance, Skype, OneDrive, v.v. - nếu bạn không cần chúng.

Các kho lưu trữ cũng chứa rất nhiều tập lệnh mà bạn có thể thấy hữu ích.

Xin lưu ý rằng các tập lệnh này không thể đảo ngược các tệp xóa và có thể xóa các chức năng quan trọng của Windows. Ví dụ, họ hoàn toàn có thể vô hiệu hóa menu Bắt đầu!

Đừng chạy disable-ShellExperienceHost.battừ gói này, nếu không Menu Bắt đầu sẽ ngừng mở.


0

Tôi quản lý để vô hiệu hóa nó bằng cách sử dụng Autorun; trong tab dịch vụ có mục WinDefend, bỏ chọn hộp và khởi động lại.


Cung cấp "quyền truy cập bị từ chối", thậm chí chạy với tư cách Quản trị viên
pgr

0

Cách dễ nhất tôi tìm thấy là mở dấu nhắc lệnh của quản trị viên và chạy:

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender" /t REG_DWORD /v DisableAntiSpyware /f /d 1

Sau đó khởi động lại. Tôi đã không thể tìm cách tắt dịch vụ một khi nó được bắt đầu với việc khởi động lại.


0

Theo kinh nghiệm của tôi, cài đặt Chính sách nhóm là cách đáng tin cậy nhất để ngăn chặn Windows Defender và Dịch vụ chống phần mềm độc hại của nó. Tuy nhiên, gần đây tôi đã gặp phải tình huống thiết lập Chính sách nhóm không có hiệu lực và phần mềm thực thi Antimalware tiếp tục chạy và ăn vào CPU của tôi.

Tôi đã kết thúc việc viết một kịch bản nhỏ để sở hữu quyền thực thi và từ chối đọc và thực thi quyền truy cập cho nó. Điều này đã giải quyết vấn đề. Kịch bản dưới đây.

@echo off

echo.
echo Disabling Windows Defender Antimalware Executable
echo Note: must be run with Admin permissions
echo.

rem taking ownership of Windows Defender files so that we can change their permissions
takeown /f "%PROGRAMDATA%\Microsoft\Windows Defender\Platform" /A /r /d y > takeown-result.txt

rem denying read and execute for all MsMpEng.exe files found in the directory structure (there may be multiple versions)
icacls %PROGRAMDATA%"\Microsoft\Windows Defender\Platform\*MsMpEng.exe" /deny SYSTEM:(RX) /T /C  /deny Administrators:(RX) /T /C   /deny Users:(RX) /T /C

@echo on

Điều này làm việc với tôi trên Windows 10 Pro [Phiên bản 10.0.18362.476] và đã sống sót khi khởi động lại. Nhưng con đường của tôi làc:\Program Files\Windows Defender\MsMpEng.exe
pgr
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.