Windows 10'da Windows Defender'ı devre dışı bırakın


32

Windows 10'da Windows Defender'ın nasıl devre dışı bırakılacağı hakkında herhangi bir bilgi bulamıyorum. Önizlemelerde nasıl yapılacağı hakkında bazı bilgiler var, ancak yapılandırma sayfaları son sürümle birlikte değişti.

Özellikle, Windows Defender Hizmetini durdurmak ve devre dışı bırakmak istiyorum.

  • net stop windefendYükseltilmiş komut isteminden kullanma "erişim engellendi"
  • Durdurma ve başlatma türü, yönetici olarak oturum açıldığında bile sevices.msc'de grileşir
  • Windows 10'da UAC'yi devre dışı bırakmak için bir GUI yolu görünmüyor

Defender'ın Windows 10'da nasıl devre dışı bırakılacağını bilen var mı?


3
En basit yöntem Sadece ücretli / ücretsiz bir güvenlik paketi kurun ve otomatik olarak kendisini devre dışı bırakacaktır. Bunun dışında sadece “Güncelleme ve Güvenlik” e gidin ve Gerçek Zamanlı korumayı devre dışı bırakın. Windows 8 ve üstündeki UAC'yi Windows 7'deki ile aynı derecede devre dışı bırakamazsınız. Tabii ki UAC'nin Windows Defender ile ne yapacağı konusunda emin değilim.
Ramhound

UAC'den bahsettim, çünkü UAC'nin Defender'ı devre dışı bırakmamı engellediği görünüyordu. Henüz Windows 10'u destekleyen en yeni Kaspersky'i dağıtmadım ve açıkçası Kaspersky'nin Defender'ın çalışmasıyla iyi bir şekilde yükleneceğinden emin değilim. Artı, başka nedenlerden dolayı ihtiyaç duymam veya istemem durumunda prensip olarak devre dışı bırakmak istiyorum.
Todd Wilcox

Açtım Update & Securityve Windows Defender'ı devre dışı bırakabiliyorum. Şahsen ben bunu yaptıktan sonra hizmeti devre dışı bırakmayı başardım.
Ramhound

Windows Defender kolayca değiştirilebilecek şekilde tasarlanmıştır, sadece başka bir AV kurun ve otomatik olarak kapanması gerekir.
gronostaj

3
@gronostaj Sorum, Windows Defender'ın başka bir A / V çözümüyle nasıl değiştirileceği olsaydı, yorumunuzu bir cevap olarak göndermenizi öneririm ve yorumunuz Ramhound'unkiyle aynı olmadığı sürece kabul ediyorum o yapıyor. Ama yapmaya çalıştığım şey bu değil.
Todd Wilcox,

Yanıtlar:


22

Bunu bir Grup İlkesi kullanarak yapabilirsiniz .

açık gpedit.msc

şu yöne rotayı ayarla Computer Configuration > Administrative Templates > Windows Components > Windows Defender

Turn off Windows Defender = Etkin

Windows Defender'ı açmaya çalışırsanız şunu göreceksiniz: görüntü tanımını buraya girin

Ve Ayarlar'da açık görünmesine rağmen, Hizmet çalışmıyor:görüntü tanımını buraya girin

Daha fazla bilgi:

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

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


Bunu kendi başıma bulamadığıma inanamıyorum. Teşekkürler!
Todd Wilcox

2
Bu aynı zamanda Windows Home için mi? Bulamıyorumgpedit.msc
Stijn de Witt

2
Hayır, ev kullanıcıları için çalışmıyor. Pro / Enterprise / Sadece eğitim
sloosecannon

2
Bunu denedim ... ancak hizmet hala görev yöneticisinde çalışıyor.
Brig

12

Kayıt defterini kullanarak başka bir yol buldum.

Bu makaleyi kullanarak , yönetici olarak oturum açtığımda, Defender hizmetleri ve sürücülerinin (!!) kayıt defterindeki başlangıç ​​türünü değiştirdim. İşte kısa bir deneme:

  1. Kayıt defterine göz atın HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
  2. Açıklama değerinde "Windows Defender" olan "wd" ile başlayan hizmetleri arayın. Muhtemelen eksik olan bir liste: wdboot, wdfilter, wdnisdrv, wdnissvc, windefend.
  3. StartHer hizmet için değeri değiştirin 0x4(onaltılık 4, ondalık 4).
  4. Yeniden Başlatma.

4
Yönetici olarak oturum açtım ve hala "Hata yazmaya başlar. Değerin yeni içeriğini yazarken hata" hatası alıyorum.
Mark

1
Ben de aynı hatayı "Error writing start. Error writing the value's new contents. Bizim için etrafta herhangi bir iş var mı @Todd Wilcox?
Nam G VU

1
Regedit'e sağ tıklayıp yönetici olarak çalıştırmayı denediniz mi?
Todd Wilcox

2
maalesef Win10 Home Single Language'de regedit'i admin veya başka bir geçici çözüm olarak başlatsam da aynı hatayı alıyorum. Şimdi gerçekten windows 10'u açmaya başladım.
gideon

Eğer alıyorsanız Error writing (...), regedit'i kapatın ve yeniden açın.
Marc.2377,

11

Kısa versiyon

  1. İndir
  2. Ayıkla
  3. Çift tıklama DisableDefender.reg

açıklama

Şimdiye kadar, Windows 10’daki Windows Defender’ı kalıcı olarak devre dışı bırakmanın en etkili ve temiz yolu, Aaron Hoffman tarafından tanımlandığı gibi Grup İlkesi’dir. Ne yazık ki, Windows 10 Home gerekli araçlardan yoksundur.

İşte Windows 10 Pro makinesinde gpedit.msc tarafından yapılan değişiklikleri içeren bir kayıt defteri dosyası. Windows 10 Home'da da test edilmiştir. Dosyayı DisableDefender.regWindows tarzı satır sonlarında olduğu gibi kaydedin ve kayıt defterinize almak için çift tıklatın.

Windows Registry Editor Version 5.00

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

Defender'ı tekrar etkinleştirmek istiyorsanız , her iki satıra 00000001geçin 00000000.

Defender'ı Gist'ten devre dışı bırakmak ve yeniden etkinleştirmek için dosyaları indirebilirsiniz .


1
Bugün interneti kazandınız efendim.
ivan_bilan

WD'yi değeri yeniden düzenleyerek, 00000000 değerine getirdim, sonuç olarak WD Real-time koruması kapalı çünkü başka bir AV kullanıyorsunuz. Aslında yüklü herhangi bir antivirüs yok. Bu nasıl düzeltilir? Teşekkürler
Santosa Sandy

@SantosaSandy Kötü amaçlı yazılım dahil birçok nedenden dolayı olabilir. Ayrı bir soru başlatmalısınız.
Zenexer 17:16

Teşekkürler Bay PB. Acil bir durumda ve ipucunu araştıran hata eksikliği durumunda, sadece pencereleri günceller ve kayıt defteri temizleyicisini çalıştırırım (örn. CCleaner). Windows Defender tekrar aktif. Teşekkürler
Santosa Sandy

4

Windows Defender'ı tamamen devre dışı bırakmak için (yalnızca Gerçek Zamanlı korumayı değil) şunları yapabilirsiniz:

  1. Başka bir güvenlik paketi kurun (Ramhound'un söylediği gibi).
  2. Üçüncü taraf bir uygulamayı kullanmak istiyorsanız, NoDefender'ı kullanabilirsiniz: http://msft.gq/pub/apps/NoDefender.zip

NoDefender hakkında daha fazla bilgiyi burada bulabilirsiniz: http://winaero.com/blog/nodefender-disable-windows-defender-in-windows-10-with-few-clicks/


NoDefender'ın el ile yaptığım kayıt defterini düzenlemenin otomatik bir yolu olabileceğinden şüpheleniyorum.
Todd Wilcox,

@ToddWilcox, Metodunuz benimkinden daha iyi! Endişelenecek bir üçüncü parti uygulama.
user5071535

1
Ben hala Windows Defender çalıştıran antimalware hizmetinin çalıştığını görüyorum. Ben avg ücretsiz sürümü yüklü
shorif2000

2
Aynen, @Sharif antimalware hizmetinin de devre dışı bırakıldığına dair herhangi bir onay görmek istiyorum.
Mark

2

Toplu iş dosyasını ve Windows 10'da Windows Defender'ı tamamen devre dışı bırakması gereken kayıt defteri dosyalarını yazdım.

  1. Aşağıdaki dosyaları aynı klasöre kaydedin.
  2. Disable Windows Defender.batYönetici olarak çalıştır .
  3. Toplu iş dosyası tamamlandıktan sonra yeniden başlatın.
  4. Disable Windows Defender.batYönetici olarak tekrar çalıştırın .
  5. Windows Defender şimdi tamamen devre dışı bırakılmalıdır.

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

Teşekkürler! BTW: Bu, pencerelerin İngilizce sürümünün düzgün çalışmasını gerektirir
M. Abdelhafid

2

Belirli bir hizmeti neden durduramadığınızı anlamanız yararlı olacaktır .

  • Ben yöneticiyim; başarısızlıktan daha kötüsü Yönetici yönetemiyor mu ?!

WinDefend servisindeki güvenlik izinleri yüzünden .

Not : "Windows Defender Antivirus Hizmetinin"WinDefend gerçek adıdır

görüntü tanımını buraya girin

İzinleri Görüntüleme

Bir komut satırından kaçarsanız:

>sc sdshow WinDefend

nerede

  • sdshow"Bir hizmetin güvenlik tanımlayıcısını görüntüler" anlamına gelir .

Güvenlik tanımlayıcısını alacaksınız :

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)

Bu oldukça çirkin blob ve tamamen Microsoft tarafından belgelenmemiş, ancak kodunu çözme konusunda bıçaklanacağız. İlk olarak sözcük kaydırma:

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)

Bunun D:anlamı isteğe bağlı bir erişim kontrol listesidir . Bir Erişim Kontrol Listesi, bir dizi Erişim Kontrol Girişi'nden (ACE) oluşur:

  • D: isteğe bağlı erişim kontrol listesi
    • veren 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

Her ACE, 5 geçerli noktalı virgül sonlandırılmış ayar grubudur ve bunu takip edenlere uygulanır.

İlk olarak kime başvurduklarına bakarsak, rastgele bir blog makalesi bazılarının kodunu çözer ( archive.is ) :

  • BU: Yerleşik kullanıcılar
  • SY: Yerel Sistem
  • BA: Yerleşik yöneticiler
  • UI: Etkileşimli olarak oturum açan kullanıcı
  • SU: Servis oturum açma kullanıcısı
  • S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464: Güvenilir yükleyici
  • S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736:

Çalıştırarak bir SID ile ilişkili adı alabilirsiniz:

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

Her bir ACE, kullanıcının izin verdiği veya reddedildiği izinlerin bir listesini içerir.

  • D: isteğe bağlı erişim kontrol listesi
    • ACE 1: A;;CCLCSWRPLOCRRC;;; Yerleşik kullanıcılar
    • ACE 2: A;;CCLCSWRPLOCRRC;;; Yerel sistem
    • ACE 3: A;;CCLCSWRPLOCRRC;;; Yerleşik yöneticiler
    • ACE 4: A;;CCLCSWRPLOCRRC;;; Etkileşimli kullanıcı
    • ACE 5: A;;CCLCSWRPLOCRRC;;; Servis oturum açma kullanıcısı
    • ACE 6: A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; Güvenilir yükleyici
    • ACE 7: A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

Kalan noktalı virgülle ayrılmış bölümleri bir ACE'de bölmek:

  • ACE: A;;CCLCSWRPLOCRRC;;;
    • AceType: AACCESS_ALLOWED_ACE_TYPE
    • AceFlags: (yok)
    • 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: (yok)
    • InheritObjectGuid: (yok)

Lider Aaraç İzin verilen demektir ve izinler iki harfli kodlardır:

  • D: isteğe bağlı erişim kontrol listesi
    • ACE 1 : İzin ver CC LC SW RP LO CR RC, Dahili kullanıcılar
    • ACE 2 : İzin ver CC LC SW RP LO CR RC, Yerel sistem
    • ACE 3 : İzin ver CC LC SW RP LO CR RC, Yerleşik yöneticiler
    • ACE 4 : İzin Ver CC LC SW RP LO CR RC, Etkileşimli kullanıcı
    • ACE 5 : İzin ver CC LC SW RP LO CR RC, Servis oturum açma kullanıcısı
    • ACE 6 : İzin ver CC LC SW RP LO CR RC DC WP DT SD WD WO,, Güvenilir yükleyici
    • ACE 7 : İzin ver CC LC SW RP LO CR RC DC WP DT SD WD WO, S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

Ve burası işimi kurtarmak için durmak zorunda kalacağım yer. Windows Defender hizmetinin nasıl durdurulacağına dair bu sapma ilginç ve hepsi: ama ben çoktan durdurdum ve bilgisayarım hala yanlış çalışıyor.

Spoiler:

sc sdset WinDefend [newSDLString]

Bonus Okuma


1

Kolay powershell yöntemi, daha sonra bunun için yinelenen olarak işaretlenmiş bir soruya gönderdiğim bir yanıttan burada.

Bunu yapmanın en kolay yolu, devre dışı bırakmak için powershell kullanmaktır, muhtemelen istediğiniz komut şudur:

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

Windows Defender'ı devre dışı bırakmak / etkinleştirmek için powershell kullanma hakkında bir yazı için buraya bakın: http://wmug.co.uk/wmug/b/pwin/archive/2015/05/12/quickly-disable-windows-defender-on-windows -10 kullanan-powerShell

İşte mevcut defans cmdlet'lerine daha ayrıntılı bir bakış için teknik makale: https://technet.microsoft.com/en-us/library/dn433280.aspx


Bunun durup hizmetin kendisini devre dışı bırakacağına inanmıyorum. Sadece bir PowerShell uygulaması gerektirmeyen Ayarlar ile kolayca yapılabilen Windows Defender'ın gerçek zamanlı özelliklerini devre dışı bırakır.
Ramhound,

@Ramhound powershell ile servis yönetimi için düzenlenmiştir. Net stop hizmeti ile aynı sorun olmadan hizmeti durduracak% 100 değilim, ancak powershell konusunda daha fazla şans elde ettim ve net-stop hizmetinin takma adını aldığına inanmıyorum
Abraxas

1

Aşağıdaki prosedürün iyi çalıştığını buldum; Windows Defender'ı kaldırmaz veya devre dışı bırakmaz, ancak Windows Defender SERVICE'yi devre dışı bırakır, tüm başlatma ve gerçek zamanlı taramayı durdurur ve Windows Defender Gerçek Zamanlı Taramanın yeniden açılmasını önler. (Windows Defender'ı yerinde bırakır, böylece şüpheli dosyaları isteğe bağlı olarak taramak için kullanabilirsiniz.)

USULÜ:

  1. "SysInternals" program paketini bulun, indirin, kurun.
  2. "AutoRuns" programını çalıştırın.
  3. "Windows Defender Hizmeti" ni bulun.
  4. Kutunun işaretini kaldırın.
  5. Bilgisayarı yeniden başlatın.

Bunu yaptıktan sonra, başlangıç ​​zamanım 20 dakikadan 5 dakikaya düştü ve başlangıçtan sonra (herhangi bir uygulamayı başlatmadan önce) bellek kullanımı 2,1 GB'den 1,2 GB'a düştü. Ve "Hizmetler" e baktığımda, hala "Windows Defender Hizmeti" nin hala "Çalışmıyor, Devre Dışı Değil" olarak işaretlendiğini gördüm.


Yönetici olarak bile olsa "erişim engellendi" ifadesi veriyor
pgr

1

Windows Defender'ı güvenilir ve tamamen devre dışı bırakmak o kadar kolay değildir. Windows Defender'ı kaldıran bir PowerShell betiği var, ancak daha sonra geri yüklemek mümkün olmayabilir. Bu komut dosyası iki yeniden başlatma gerektiriyor.

Sadece Debloat-Windows-10'u indirin ve yazar tarafından sağlanan şu adımları izleyin:

  1. Arşivi aç;
  2. PowerShell scriptlerinin yürütülmesini etkinleştirin:

    PS> Set-ExecutionPolicy Sınırsız

  3. Bu dizindeki PowerShell scriptlerinin ve modüllerinin engellemesini kaldırın:

    PS> ls -Tekrar * .ps1 | Unblock-File PS> ls -Recurse * .psm1 | Kaldır-Dosya

  4. Koşmak scripts\disable-windows-defender.ps1

  5. Bilgisayarı yeniden başlatın (normal yoldan veya bilgisayardan PS > Restart-Computer)
  6. scripts\disable-windows-defender.ps1Bir kez daha koş .
  7. Bilgisayarı yeniden başlatın.

Bu en kolay yol değil, ama çok güvenilir ve esnek.

BingFinance, Skype, OneDrive vb. Gereksiz programları kaldırmak için komut dosyaları da vardır - gerekirse.

Arşiv ayrıca yararlı bulabileceğiniz çok sayıda komut dosyası içerir.

Lütfen bu komut dosyalarının geri alınamaz dosyaları sildiğini ve Windows'un hayati işlevlerini silebileceğini unutmayın. Örneğin, Başlat menüsünü tamamen devre dışı bırakabilirler!

disable-ShellExperienceHost.batBu paketten kaçmayın , aksi takdirde Başlat Menüsü açılmayı durduracaktır.


0

Autoruns kullanarak devre dışı bırakmayı başardım; Servisler sekmesi altında WinDefend girişi var, kutunun işaretini kaldırın ve yeniden başlatın.


Yönetici olarak çalışsa bile "erişim engellendi" ifadesi veriyor
pgr

0

Bulduğum en kolay yol, bir yönetici komut istemi açmak ve çalıştırmak:

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

Ardından yeniden başlatın. Yeniden başlatma ile başladığında hizmeti kapatmayı bulamadım.


0

Tecrübelerime göre Grup İlkesi, Windows Defender ve Anti-Zararlı Yazılım Hizmetini Çalıştırılabilirliğini durdurmanın en güvenilir yoludur. Ancak, yakın zamanda bir Grup İlkesi oluşturmanın hiçbir etkisinin olmadığı bir durumla karşılaştım ve Antimalware çalıştırıcısı çalışmaya devam etti ve CPU'ma yemek yemedi.

Yürütülebilir dosyanın sahipliğini almak ve okuma haklarını reddetmek için küçük bir senaryo yazdım. Bu sorunu çözdü. Senaryo aşağıda.

@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

Bu benim için Windows 10 Pro'da çalıştı [Sürüm 10.0.18362.476] ve yeniden başlatmaya devam etti. Ama benim yolumc:\Program Files\Windows Defender\MsMpEng.exe
pgr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.