ปิดการใช้งาน Windows Defender ใน Windows 10


32

ฉันไม่พบข้อมูลใด ๆ เกี่ยวกับวิธีปิดการใช้งาน Windows Defender ใน Windows 10 มีข้อมูลบางอย่างเกี่ยวกับวิธีการทำในตัวอย่าง แต่หน้าการกำหนดค่ามีการเปลี่ยนแปลงด้วยการเปิดตัวครั้งสุดท้าย

โดยเฉพาะฉันต้องการหยุดและปิดการใช้งาน Windows Defender Service

  • ใช้net stop windefendจากพรอมต์คำสั่งยกระดับให้ "ปฏิเสธการเข้าถึง"
  • ประเภท Stop และ Start เป็นสีเทาใน sevices.msc แม้ในขณะที่เข้าสู่ระบบในฐานะผู้ดูแลระบบ
  • ดูเหมือนจะไม่มีวิธี GUI ในการปิดการใช้งาน UAC ใน Windows 10

มีใครคิดวิธีการปิดการใช้งาน Defender ใน Windows 10 หรือไม่?


3
วิธีที่ง่ายที่สุด เพียงแค่ติดตั้งชุดรักษาความปลอดภัยแบบเสียค่าใช้จ่ายและจะปิดตัวเองโดยอัตโนมัติ นอกเหนือจากนั้นเพียงไปที่ 'อัปเดตและความปลอดภัย' และปิดการใช้งานการป้องกันแบบเรียลไทม์ คุณไม่สามารถปิดการใช้งาน UAC ใน Windows 8 และสูงกว่าระดับเดียวกับที่คุณทำใน Windows 7 แน่นอนฉันไม่แน่ใจว่า UAC เกี่ยวข้องกับ Windows Defender อย่างไร
Ramhound

ฉันพูดถึง UAC เพราะเป็นไปได้ว่า UAC กำลังป้องกันไม่ให้ฉันปิดการใช้งาน Defender ฉันยังไม่ได้ติดตั้ง Kaspersky ล่าสุดที่รองรับ Windows 10 และตรงไปตรงมาฉันไม่มั่นใจนักว่า Kaspersky จะติดตั้งได้ดีกับ Defender ที่ทำงานอยู่ บวกฉันต้องการที่จะสามารถปิดการใช้งานในหลักการในกรณีที่ฉันต้องการหรือต้องการด้วยเหตุผลอื่น
ทอดด์วิลคอกซ์

ฉันเปิดUpdate & Securityและฉันสามารถปิดการใช้งาน Windows Defender โดยส่วนตัวแล้วฉันสามารถปิดการใช้งานบริการได้แม้ว่าหลังจากทำเช่นนั้นแล้ว
Ramhound

Windows Defender ได้รับการออกแบบให้สามารถถอดเปลี่ยนได้ง่ายเพียงติดตั้ง AV อื่นและควรปิดโดยอัตโนมัติ
gronostaj

3
@ gronostaj หากคำถามของฉันเป็นวิธีการแทนที่ Windows Defender ด้วยโซลูชัน A / V อื่นฉันขอแนะนำให้คุณโพสต์ความคิดเห็นของคุณเป็นคำตอบและฉันยอมรับมันยกเว้นความคิดเห็นของคุณเหมือนกับ Ramhound ดังนั้นฉันขอแนะนำจริงๆ เขาทำมัน แต่นั่นไม่ใช่สิ่งที่ฉันพยายามทำ
ทอดด์วิลคอกซ์

คำตอบ:


22

คุณสามารถที่จะทำเช่นนี้โดยใช้นโยบายกลุ่ม

เปิด gpedit.msc

นำทางไปยัง Computer Configuration > Administrative Templates > Windows Components > Windows Defender

Turn off Windows Defender = Enabled

หากคุณลองเปิด Windows Defender คุณจะเห็นสิ่งนี้: ป้อนคำอธิบายรูปภาพที่นี่

และถึงแม้ว่าในการตั้งค่ามันอาจจะปรากฏขึ้นบริการไม่ทำงาน:ป้อนคำอธิบายรูปภาพที่นี่

ข้อมูลเพิ่มเติม:

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

และhttp://www.download3k.com/articles/How-to-Turn-Off-Windows-Defender-Permanently-in-Windows-10-01350


ฉันไม่อยากจะเชื่อเลยว่าฉันไม่พบสิ่งนี้ด้วยตัวเอง ขอบคุณ!
ทอดด์วิลคอกซ์

2
นี่เป็นของ Windows Home หรือไม่? ฉันหาไม่เจอgpedit.msc
สติจเดอวิตต์

2
ไม่มันไม่ทำงานสำหรับผู้ใช้ตามบ้าน Pro / Enterprise / Education เท่านั้น
sloosecannon

2
พยายามนี้ ... อย่างไรก็ตามบริการยังคงทำงานอยู่ในตัวจัดการงาน
Brig

12

ฉันพบวิธีอื่นในการใช้รีจิสตรี

การใช้บทความนี้ฉันเปลี่ยนประเภทการเริ่มต้นสำหรับบริการ Defender และไดรเวอร์ (!!) ในรีจิสทรีในขณะที่เข้าสู่ระบบในฐานะผู้ดูแลระบบ นี่เป็นบทสรุปสั้น ๆ :

  1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesหมวดรีจิสทรีไป
  2. ค้นหาบริการที่ขึ้นต้นด้วย "wd" ที่มี "Windows Defender" ในค่าคำอธิบาย รายการที่อาจไม่สมบูรณ์คือ: wdboot, wdfilter, wdnisdrv, wdnissvc, windefend
  3. เปลี่ยนStartค่าสำหรับแต่ละบริการเป็น0x4(hex 4, ทศนิยม 4)
  4. Reboot

4
ฉันเข้าสู่ระบบในฐานะผู้ดูแลระบบและฉันยังได้รับข้อผิดพลาด "การเขียนข้อผิดพลาดเริ่มต้นเกิดข้อผิดพลาดในการเขียนเนื้อหาใหม่ของค่า"
ทำเครื่องหมาย

1
"Error writing start. Error writing the value's new contentsฉันเกินไปกับข้อผิดพลาดเดียวกัน มีงานให้เรา @Todd Wilcox ไหม?
Nam G VU

1
คุณลองคลิกขวาที่ regedit และเรียกใช้ในฐานะผู้ดูแลระบบหรือไม่
ทอดด์วิลค็อกซ์

2
ขออภัยใน Win10 Home Single Language ฉันได้รับข้อผิดพลาดเดียวกันแม้ว่าฉันจะเริ่ม regedit ในฐานะผู้ดูแลระบบหรือวิธีแก้ปัญหาอื่น ๆ ตอนนี้ฉันกำลังเริ่มใช้ windows 10
gideon

หากได้รับError writing (...)ให้ปิด regedit แล้วเปิดใหม่
Marc.2377

11

เวอร์ชั่นสั้น

  1. ดาวน์โหลด
  2. สารสกัด
  3. ดับเบิลคลิก DisableDefender.reg

คำอธิบาย

วิธีที่มีประสิทธิภาพและสะอาดที่สุดในการปิดการใช้งาน Windows Defender อย่างถาวรใน Windows 10 คือผ่านนโยบายกลุ่มตามที่อธิบายโดย Aaron Hoffman น่าเสียดายที่ Windows 10 Home ไม่มีเครื่องมือที่จำเป็น

นี่คือไฟล์รีจิสตรีที่มีการเปลี่ยนแปลงที่ทำโดย gpedit.msc บนเครื่อง Windows 10 Pro มันได้รับการทดสอบบน Windows 10 Home เช่นกัน บันทึกไฟล์เช่นเดียวDisableDefender.regกับการสิ้นสุดบรรทัดสไตล์ Windows และดับเบิลคลิกเพื่อนำเข้าสู่รีจิสทรีของคุณ

Windows Registry Editor Version 5.00

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

หากคุณต้องการเปิดใช้งาน Defender อีกครั้งให้เปลี่ยน00000001เป็น00000000ทั้งสองบรรทัด

คุณสามารถดาวน์โหลดไฟล์ที่จะปิดการใช้งานและเปิดใช้งานพิทักษ์จากสรุปสาระสำคัญ


1
คุณชนะอินเทอร์เน็ตวันนี้ครับ
ivan_bilan

ฉันเปิดใช้งาน WD อีกครั้งโดยการตั้งค่าใหม่เป็น 00000000 ผลลัพธ์การป้องกันแบบเรียลไทม์ของ WD จะปิดเพราะคุณใช้ AV อื่น ในความเป็นจริงฉันไม่ได้ติดตั้งโปรแกรมป้องกันไวรัสใด ๆ จะแก้ไขได้อย่างไร? ขอบคุณ
Santosa Sandy

@SantosaSandy ที่อาจเกิดขึ้นได้จากหลายสาเหตุรวมถึงมัลแวร์ คุณควรเริ่มคำถามแยกต่างหาก
Zenexer

ขอบคุณ Mr. PB ในกรณีฉุกเฉินและไม่มีข้อผิดพลาดในการตรวจสอบเบาะแสฉันเพิ่งอัปเดตหน้าต่างและเรียกใช้รีจิสทรีทำความสะอาด (เช่น CCleaner) Windows Defender เปิดใช้งานอีกครั้ง ขอบคุณ
Santosa Sandy

4

หากต้องการปิดการใช้งาน Windows Defender อย่างสมบูรณ์ (ไม่ใช่เพียงการป้องกันแบบเรียลไทม์) คุณสามารถ

  1. ติดตั้งชุดความปลอดภัยอื่น (ตามที่กล่าวถึง Ramhound)
  2. หากคุณยินดีที่จะใช้แอปพลิเคชันบุคคลที่สามคุณสามารถใช้ NoDefender: http://msft.gq/pub/apps/NoDefender.zip

ข้อมูลเพิ่มเติมเกี่ยวกับ NoDefender สามารถดูได้ที่นี่: http://winaero.com/blog/nodefender-disable-windows-defender-in-windows-10-with-few-clicks/


ฉันสงสัยว่า NoDefender อาจเป็นวิธีอัตโนมัติในการแก้ไขรีจิสทรีซึ่งฉันทำเอง
ทอดด์วิลคอกซ์

@ToddWilcox วิธีการของคุณดีกว่าของฉันแล้ว! แอปพลิเคชันของบุคคลที่สามที่น้อยกว่าที่ต้องกังวล
user5071535

1
ฉันยังคงเห็นบริการป้องกันมัลแวร์ที่ทำงานซึ่งทำงาน windows กองหลัง ฉันติดตั้ง avg edition ฟรีแล้ว
shorif2000

2
@Sharif แน่นอนฉันต้องการดูการยืนยันใด ๆ ว่าบริการป้องกันมัลแวร์ปิดใช้งานเช่นกัน
ทำเครื่องหมาย

2

ฉันได้เขียนไฟล์แบตช์และไฟล์รีจิสตรีที่ควรปิดการใช้งาน Windows Defender ใน Windows 10 อย่างสมบูรณ์

  1. บันทึกไฟล์ต่อไปนี้ลงในโฟลเดอร์เดียวกัน
  2. ทำงานDisable Windows Defender.batในฐานะผู้ดูแลระบบ
  3. หลังจากไฟล์แบตช์เสร็จสิ้นให้รีสตาร์ท
  4. ทำงานDisable Windows Defender.batอีกครั้งในฐานะผู้ดูแล
  5. Windows Defender ควรจะปิดการใช้งานอย่างสมบูรณ์ในขณะนี้

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

ขอบคุณ! BTW: หน้าต่างนี้ต้องใช้ภาษาอังกฤษในการทำงานอย่างถูกต้อง
M. Abdelhafid

2

การเข้าใจว่าทำไมคุณไม่สามารถหยุดบริการบางอย่างได้

  • ฉันเป็นผู้ดูแลระบบ แย่กว่าความล้มเหลวผู้ดูแลระบบไม่สามารถบริหารจัดการ

เป็นเพราะสิทธิ์ความปลอดภัยของบริการWinDefend

หมายเหตุ : WinDefendเป็นชื่อจริงของ"Windows Defender Antivirus Service"

ป้อนคำอธิบายรูปภาพที่นี่

การดูสิทธิ์

หากคุณเรียกใช้จากบรรทัดคำสั่ง:

>sc sdshow WinDefend

ที่ไหน

  • sdshowหมายถึง"แสดงคำอธิบายความปลอดภัยของบริการ"

คุณจะได้รับตัวบอกความปลอดภัย :

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)

นี่เป็นหยดที่น่าเกลียดและไม่มีเอกสารใด ๆ โดย Microsoft แต่เราจะมีการแทงแบบถอดรหัส ก่อนโดยการตัดคำ:

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:หมายถึงนี้เป็นรายการควบคุมการเข้าถึงการตัดสินใจ รายการควบคุมการเข้าถึงประกอบด้วยจำนวนรายการควบคุมการเข้าถึง (ACE):

  • D: รายการควบคุมการเข้าถึงตามอำเภอใจ
    • 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

แต่ละ ACE เป็นชุดของการตั้งค่าที่สิ้นสุดด้วยเครื่องหมายอัฒภาค 5 ชุดตามด้วยบุคคลที่เกี่ยวข้อง

ก่อนอื่นให้ลองดูว่าใครเป็นผู้สมัครบทความบล็อกแบบสุ่มจะถอดรหัสบางส่วน ( archive.is ) :

  • BU: ผู้ใช้ในตัว
  • SY: ระบบโลคัล
  • BA: ผู้ดูแลระบบในตัว
  • UI: ผู้ใช้ที่เข้าสู่ระบบแบบโต้ตอบ
  • SU: ผู้ใช้บริการเข้าสู่ระบบ
  • S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464: โปรแกรมติดตั้งที่เชื่อถือได้
  • S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736:

คุณสามารถรับชื่อที่เกี่ยวข้องกับ SID ได้โดยเรียกใช้:

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

แต่ละ ACE มีรายการสิทธิ์ที่ผู้ใช้กำลังได้รับอนุญาตหรือปฏิเสธ

  • D: รายการควบคุมการเข้าถึงตามอำเภอใจ
    • ACE 1: A;;CCLCSWRPLOCRRC;;; ผู้ใช้ในตัว
    • ACE 2: A;;CCLCSWRPLOCRRC;;;ระบบโลคัล
    • ACE 3: A;;CCLCSWRPLOCRRC;;; ผู้ดูแลระบบในตัว
    • ACE 4: A;;CCLCSWRPLOCRRC;;; ผู้ใช้แบบโต้ตอบ
    • ACE 5: A;;CCLCSWRPLOCRRC;;; ผู้ใช้เข้าสู่ระบบบริการ
    • ACE 6: ตัว A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; ติดตั้งที่เชื่อถือได้
    • ACE 7: A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

การแบ่งเซมิโคลอนที่เหลือแยกส่วนใน ACE:

  • ACE: A;;CCLCSWRPLOCRRC;;;
    • AceType: AACCESS_ALLOWED_ACE_TYPE
    • AceFlags: (ไม่มี)
    • AccessMask: CC LC SW RP LO CR RC
      • CC: CREATE_CHILD
      • LC: LIST_CHILDREN
      • SW: SELF_WRITE
      • RP: READ_PROPERTY
      • LO: LIST_OBJECT
      • CR: CONTROL_ACCESS
      • RC: READ_CONTROL
    • ObjectGuid: (ไม่มี)
    • InheritObjectGuid: (ไม่มี)

Aหมายถึงนำที่ได้รับอนุญาตและการอนุญาตเป็นรหัสสองตัวอักษร:

  • D: รายการควบคุมการเข้าถึงตามอำเภอใจ
    • ACE 1 : อนุญาต, CC LC SW RP LO CR RCผู้ใช้ที่มีอยู่แล้วภายใน
    • ACE 2 : อนุญาต,, CC LC SW RP LO CR RCระบบภายในเครื่อง
    • ACE 3 : อนุญาต, CC LC SW RP LO CR RCผู้ดูแลระบบในตัว
    • ACE 4 : อนุญาตCC LC SW RP LO CR RCผู้ใช้แบบโต้ตอบ
    • ACE 5 : อนุญาต,, CC LC SW RP LO CR RCผู้ใช้เข้าสู่ระบบบริการ
    • ACE 6 : อนุญาตให้CC LC SW RP LO CR RC DC WP DT SD WD WOติดตั้งที่เชื่อถือได้
    • ACE 7 : อนุญาตCC LC SW RP LO CR RC DC WP DT SD WD WO,, S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

และนี่คือที่ที่ฉันจะต้องหยุดเพื่อช่วยงานของฉัน นี่เป็นวิธีหยุดบริการ Windows Defender ที่น่าสนใจและทั้งหมด: แต่ฉันได้หยุดแล้วและพีซีของฉันยังคงทำงานผิดปกติ

สปอยเลอร์:

sc sdset WinDefend [newSDLString]

การอ่านโบนัส


1

วิธี powershell ง่ายมาจากคำตอบที่ฉันโพสต์ในคำถามที่ทำเครื่องหมายว่าซ้ำกันในภายหลัง

วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการใช้ powershell เพื่อปิดการใช้งานคำสั่งที่คุณอาจต้องการคือ

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

สำหรับบทความเกี่ยวกับการใช้ powershell เพื่อปิดการใช้งาน / เปิดใช้งาน Windows Defender ตรวจสอบที่นี่: http://wmug.co.uk/wmug/b/pwin/archive/2015/05/12/quickly-disable-windows-defender-on-windows -10-ใช้-PowerShell

นี่คือบทความด้านเทคนิคสำหรับการดูรายละเอียดเพิ่มเติมที่ cmdlets ผู้พิทักษ์ที่มีอยู่: https://technet.microsoft.com/en-us/library/dn433280.aspx


ฉันไม่เชื่อว่านี่จะหยุดและปิดการใช้งานบริการของตัวเอง มันปิดการใช้งานความสามารถแบบเรียลไทม์ของ Windows Defender ซึ่งสามารถทำได้ผ่านการตั้งค่าโดยไม่จำเป็นต้องใช้แอปเพล็ต PowerShell
Ramhound

@Ramhound แก้ไขแล้วสำหรับบริการ mgmt ด้วย powershell ฉันไม่ 100% ก็จะหยุดให้บริการโดยไม่มีปัญหาเช่นเดียวกับบริการแบบครบวงจรสุทธิ แต่ฉันมีโชคมากขึ้นด้วย PowerShell และไม่เชื่อว่าจะได้รับ / นามแฝงบริการครบวงจรเพื่อสุทธิหยุด
Abraxas

1

ฉันพบว่าขั้นตอนต่อไปนี้ใช้งานได้ดี มันไม่ได้ลบหรือปิดการใช้งาน Windows Defender แต่จะปิดการใช้งาน Windows Defender SERVICE หยุดการเริ่มต้นและการสแกนแบบเรียลไทม์ทั้งหมดและป้องกันไม่ให้ Windows Defender การสแกนตามเวลาจริงกลับมาทำงาน (มันออกจาก Windows Defender ในสถานที่ดังนั้นคุณสามารถใช้มันเพื่อทำการสแกนไฟล์ที่น่าสงสัยตามต้องการ)

วิธี:

  1. ค้นหาดาวน์โหลดติดตั้งชุดโปรแกรม "SysInternals"
  2. เรียกใช้โปรแกรม "AutoRuns"
  3. ค้นหา "บริการ Windows Defender"
  4. ยกเลิกการทำเครื่องหมายที่ช่อง
  5. รีสตาร์ทคอมพิวเตอร์ของคุณ

หลังจากทำเช่นนั้นเวลาเริ่มต้นของฉันลดลงจาก 20 นาทีเป็น 5 นาทีและการใช้หน่วยความจำหลังจากเริ่มต้น (ก่อนเปิดตัวแอปใด ๆ ) ลดลงจาก 2.1GB เป็น 1.2GB และเมื่อฉันดูใน "บริการ" ฉันพบว่า "Windows Defender Service" ในขณะที่ยังอยู่ที่นั่นตอนนี้ก็มีการทำเครื่องหมายว่า "ไม่ทำงานปิดใช้งาน"


ให้ "การเข้าถึงถูกปฏิเสธ" แม้ทำงานเป็นผู้ดูแลระบบ
pgr

1

ไม่ใช่เรื่องง่ายที่จะเชื่อถือได้และปิดการใช้งาน Windows Defender โดยสิ้นเชิง มีสคริปต์ PowerShell ที่ถอนการติดตั้ง Windows Defender แต่คุณอาจไม่สามารถติดตั้งได้ในภายหลัง สคริปต์นี้ต้องการการรีบูตเครื่องสองครั้ง

เพียงดาวน์โหลดDebloat-Windows-10และทำตามขั้นตอนเหล่านี้โดยผู้เขียน:

  1. คลายไฟล์เก็บถาวร
  2. เปิดใช้งานการดำเนินการของสคริปต์ PowerShell:

    PS> Set-ExecutionPolicy ไม่ จำกัด

  3. เลิกบล็อก PowerShell สคริปต์และโมดูลภายในไดเรกทอรีนี้:

    PS> ls -Recurse * .ps1 | เลิกบล็อกไฟล์ PS> ls -Recurse * .psm1 | เลิกบล็อกไฟล์

  4. วิ่ง scripts\disable-windows-defender.ps1

  5. รีบูทคอมพิวเตอร์ (ตามปกติหรือผ่านทางPS > Restart-Computer)
  6. เรียกใช้scripts\disable-windows-defender.ps1อีกครั้ง
  7. รีบูทคอมพิวเตอร์อีกครั้ง

นี่ไม่ใช่วิธีที่ง่ายที่สุด แต่น่าเชื่อถือและยืดหยุ่นได้มาก

นอกจากนี้ยังมีสคริปต์สำหรับลบโปรแกรมที่ไม่จำเป็นเช่น BingFinance, Skype, OneDrive และอื่น ๆ หากคุณไม่ต้องการ

ไฟล์เก็บถาวรนี้ยังมีสคริปต์จำนวนมากที่คุณอาจพบว่ามีประโยชน์

โปรดทราบว่าสคริปต์เหล่านี้จะลบไฟล์ที่ไม่สามารถย้อนกลับได้และสามารถลบฟังก์ชั่นที่สำคัญของ Windows ตัวอย่างเช่นพวกเขาอาจปิดใช้งานเมนู Start ทั้งหมด!

อย่าเรียกใช้disable-ShellExperienceHost.batจากแพ็คเกจนี้มิฉะนั้นเมนู Start จะหยุดเปิด


0

ฉันจัดการเพื่อปิดการใช้งานโดยใช้การทำงานอัตโนมัติ; ใต้แท็บบริการจะมีรายการ WinDefend ให้ทำเครื่องหมายในกล่องและรีบูต


ให้ "การเข้าถึงถูกปฏิเสธ" แม้ทำงานเป็นผู้ดูแลระบบ
pgr

0

วิธีที่ง่ายที่สุดที่ฉันพบคือเปิดพรอมต์คำสั่งของผู้ดูแลระบบและเรียกใช้:

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

จากนั้นรีบูท ฉันไม่สามารถค้นหาการปิดบริการเมื่อเริ่มต้นใหม่โดยไม่ต้องรีบูต


0

จากประสบการณ์ของฉันการตั้งค่า Group Policy เป็นวิธีที่เชื่อถือได้มากที่สุดในการหยุด Windows Defender และ Antimalware Service Executionable อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันพบสถานการณ์ที่การตั้งค่านโยบายกลุ่มไม่มีผลกระทบใด ๆ และการเรียกใช้ Antimalware ก็ยังคงทำงานและกินลงใน CPU ของฉัน

ฉันลงเอยด้วยการเขียนบทเล็ก ๆ เพื่อให้เป็นเจ้าของไฟล์ปฏิบัติการและปฏิเสธการอ่านและดำเนินการสิทธิ์การเข้าถึงสำหรับสคริปต์ วิธีนี้แก้ปัญหาได้ สคริปต์ด้านล่าง

@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

สิ่งนี้ใช้ได้กับฉันใน Windows 10 Pro [เวอร์ชั่น 10.0.18362.476] และรอดชีวิตจากการรีบูต แต่เส้นทางของฉันคือc:\Program Files\Windows Defender\MsMpEng.exe
pgr
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.