Windows 10에서 Windows Defender 비활성화


32

Windows 10에서 Windows Defender를 비활성화하는 방법에 대한 정보를 찾을 수 없습니다. 미리보기에서이를 수행하는 방법에 대한 정보가 있지만 최종 릴리스에서 구성 페이지가 변경되었습니다.

특히 Windows Defender 서비스를 중지하고 비활성화하고 싶습니다.

  • 관리자 net stop windefend권한 명령 프롬프트에서 사용 하면 "액세스 거부"
  • 관리자로 로그온 한 경우에도 sevices.msc에서 중지 및 시작 유형이 회색으로 표시됩니다
  • Windows 10에서 UAC를 비활성화하는 GUI 방법이없는 것 같습니다

Windows 10에서 Defender를 비활성화하는 방법을 아는 사람이 있습니까?


3
가장 간단한 방법. 유료 / 무료 보안 제품군을 설치하면 자동으로 비활성화됩니다. 그 외에는`업데이트 및 보안`으로 이동하여 실시간 보호를 비활성화하십시오. Windows 8 이상에서는 Windows 7에서와 같은 정도로 UAC를 비활성화 할 수 없습니다. 물론 UAC가 Windows Defender와 어떤 관계가 있는지 잘 모르겠습니다.
Ramhound

UAC가 Defender를 비활성화하지 못하게 할 수 있었기 때문에 UAC에 대해 언급했습니다. 아직 Windows 10을 지원하는 최신 Kaspersky를 배포하지 않았으며 솔직히 Kaspersky가 Defender를 실행하면서 잘 설치할 것이라고 확신하지 않습니다. 또한 다른 이유로 필요하거나 원할 경우 원칙적으로 비활성화 할 수 있기를 원합니다.
토드 윌콕스

열었고 Update & SecurityWindows 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 = 활성화

그런 다음 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
Stijn de Witt

2
아니요, 가정 사용자에게는 작동하지 않습니다. 프로 / 기업 / 교육 단지
sloosecannon

2
이것을 시도했지만 ... 서비스가 여전히 작업 관리자에서 실행 중입니다.
Brig

12

레지스트리를 사용하여 다른 방법을 찾았습니다.

이 기사를 사용 하여 관리자로 로그온 한 상태에서 레지스트리에서 Defender 서비스 및 드라이버 (!!)의 시작 유형을 변경했습니다. 간략한 요약은 다음과 같습니다.

  1. 레지스트리를 찾아보십시오 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
  2. 설명 값에 "Windows Defender"가있는 "wd"로 시작하는 서비스를 찾으십시오. 불완전한 목록은 wdboot, wdfilter, wdnisdrv, wdnissvc, windefend입니다.
  3. Start각 서비스 의 값을 0x4(16 진수 4, 10 진수 4)로 변경하십시오.
  4. 재부팅하십시오.

4
관리자로 로그인 한 상태에서 여전히 "쓰기 시작 오류. 값의 새 내용 쓰기 오류"오류가 발생합니다.
Mark

1
나도 같은 오류가 발생했습니다 "Error writing start. Error writing the value's new contents. @Todd Wilcox를위한 해결 방법이 있습니까?
Nam G VU

1
regedit를 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행 해 보셨습니까?
Todd Wilcox

2
불행히도 Win10 Home Single Language에서 관리자로 다른 regedit을 시작하더라도 다른 오류가 발생합니다. 나는 정말로 지금 Windows 10을 depise하기 시작했습니다.
기드온

을 얻는 경우 Error writing (...)regedit를 닫고 다시여십시오.
Marc.2377

11

짧은 버전

  1. 다운로드
  2. 추출물
  3. 더블 클릭 DisableDefender.reg

설명

Aaron Hoffman이 설명한 것처럼 Windows 10에서 Windows Defender를 영구적으로 비활성화하는 가장 효과적이고 깨끗한 방법은 그룹 정책을 사용하는 것입니다. 불행히도 Windows 10 Home에는 필요한 도구가 없습니다.

다음은 Windows 10 Pro 시스템에서 gpedit.msc의 변경 사항이 포함 된 레지스트리 파일입니다. 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

만약 당신이 원하는 경우 수비수, 변경, 재 활성화 0000000100000000두 라인을.

파일을 다운로드하여 Gist에서 방어자를 ​​비활성화하고 다시 활성화 할 수 있습니다 .


1
오늘 인터넷에서 이깁니다.
ivan_bilan

regedit 값으로 00000000으로 WD를 다시 활성화했습니다. 결과 다른 AV를 사용하고 있기 때문에 WD 실시간 보호가 해제되어 있습니다. 실제로 바이러스 백신이 설치되어 있지 않습니다. 이 문제를 해결하는 방법? 감사합니다
Santosa Sandy

@SantosaSandy 맬웨어를 포함하여 여러 가지 이유로 발생할 수 있습니다. 별도의 질문을 시작해야합니다.
Zenexer

고마워요 PB 응급 상황에서 단서를 조사하는 동안 오류가 발생하지 않으면 Windows를 업데이트하고 레지스트리 클리너 (예 : 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 맬웨어를 실행하는 맬웨어 방지 서비스가 실행되고 있습니다. 나는 평균 무료 버전은 설치 한
shorif2000

2
정확히 @Sharif 맬웨어 방지 서비스도 사용 중지되었다는 확인 메시지가 표시됩니다.
Mark

2

Windows 10에서 Windows Defender를 완전히 비활성화 해야하는 배치 파일 및 레지스트리 파일을 작성했습니다.

  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 서비스 에 대한 보안 권한 때문입니다 .

참고 : "Windows Defender Antivirus Service"WinDefend 의 실제 이름입니다.

여기에 이미지 설명을 입력하십시오

권한보기

명령 행에서 실행하는 경우 :

>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에서 나머지 세미콜론으로 구분 된 섹션을 분류합니다.

  • 에이스: A;;CCLCSWRPLOCRRC;;;
    • AceType : AACCESS_ALLOWED_ACE_TYPE
    • AceFlags : (없음)
    • 액세스 마스크 : 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 : (없음)

선행 AAllowed를 의미 하며 권한은 두 글자 코드입니다.

  • 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 서비스를 중지하는 방법에 대한 우회는 흥미롭고 전부입니다. 그러나 이미 중지했지만 PC가 여전히 오작동합니다.

스포일러 :

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 사용 파워 쉘

사용 가능한 방어자 cmdlet에 대한 자세한 내용은 다음 기술 문서를 참조하십시오. https://technet.microsoft.com/en-us/library/dn433280.aspx


이것이 서비스 자체를 중지하고 비활성화 할 것이라고 생각하지 않습니다. PowerShell 애플릿이 필요없는 설정을 통해 간단하게 수행 할 수있는 Windows Defender의 실시간 기능 만 비활성화합니다.
Ramhound

powershell을 사용하여 서비스 mgmt에 대해 @Ramhound를 편집했습니다. 나는 그것이 NET STOP 서비스와 동일한 문제없이 서비스를 중지합니다 100 % 아니에요하지만 난 PowerShell을 더 행운이 있고 얻을 / 스톱 서비스 별칭을 그물 스톱으로 생각하지 않는다
아브 락 사스

1

다음 절차가 잘 작동한다는 것을 알았습니다. Windows Defender를 제거하거나 비활성화하지는 않지만 Windows Defender SERVICE를 비활성화하고 모든 시작 및 실시간 검색을 중지하며 Windows Defender 실시간 검색이 다시 켜지지 않도록합니다. Windows Defender는 그대로두고 의심스러운 파일을 주문형으로 검색 할 수 있습니다.

순서:

  1. "SysInternals"프로그램 스위트를 찾아 다운로드하고 설치하십시오.
  2. "자동 실행"프로그램을 실행하십시오.
  3. "Windows Defender 서비스"를 찾으십시오.
  4. 확인란을 선택 취소하십시오.
  5. 컴퓨터를 다시 시작하십시오.

그 후 시작 시간이 20 분에서 5 분으로 줄어들었고 시작 후 (앱을 시작하기 전에) 메모리 사용량이 2.1GB에서 1.2GB로 감소했습니다. "서비스"를 살펴 보았을 때 "Windows Defender 서비스"가 여전히 "실행 중이 아님, 비활성화 됨"으로 표시되어 있습니다.


"액세스가 거부되었습니다", 관리자 권한으로 실행 중
pgr

1

Windows Defender를 안정적으로 완전히 비활성화하는 것은 쉽지 않습니다. Windows Defender를 제거하는 PowerShell 스크립트가 있지만 나중에 다시 설치하지 못할 수 있습니다. 이 스크립트는 두 번 재부팅해야합니다.

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의 중요한 기능을 삭제할 수 있습니다. 예를 들어, 시작 메뉴를 완전히 비활성화 할 수 있습니다!

disable-ShellExperienceHost.bat이 패키지에서 실행하지 않으면 시작 메뉴가 열리지 않습니다.


0

자동 실행을 사용하여 비활성화했습니다. 서비스 탭 아래에 WinDefend 항목이 있습니다. 상자를 선택 해제하고 재부팅하십시오.


관리자 권한으로 실행하더라도 "액세스가 거부되었습니다"
pgr

0

내가 찾은 가장 쉬운 방법은 관리자 명령 프롬프트를 열고 실행하는 것입니다.

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

그런 다음 재부팅하십시오. 재부팅없이 서비스를 시작한 후에는 서비스를 종료 할 수 없습니다.


0

필자의 경험에 따르면 그룹 정책은 Windows Defender 및 맬웨어 방지 서비스 실행 파일을 중지하는 가장 안정적인 방법입니다. 그러나 최근에 그룹 정책을 설정해도 아무런 효과가없고 맬웨어 방지 실행 파일이 계속 실행되어 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.