Disabilita Windows Defender in Windows 10


29

Non riesco a trovare alcuna informazione su come disabilitare Windows Defender in Windows 10. Ci sono alcune informazioni su come farlo nelle anteprime, ma le pagine di configurazione sono cambiate con la versione finale.

In particolare, desidero interrompere e disabilitare il servizio Windows Defender.

  • L'uso net stop windefendda un prompt dei comandi elevato fornisce "accesso negato"
  • Il tipo di arresto e di avvio sono disattivati ​​in sevices.msc, anche quando si accede come amministratore
  • Non sembra esserci un modo GUI per disabilitare UAC in Windows 10

Qualcuno ha capito come disabilitare Defender in Windows 10?


3
Metodo più semplice. Basta installare una suite di sicurezza a pagamento / gratuita e si disabiliterà automaticamente. A parte questo, vai su "Aggiornamento e sicurezza" e disabilita la protezione in tempo reale. Non è possibile disabilitare UAC in Windows 8 e versioni successive nella stessa misura in cui è possibile in Windows 7. Ovviamente non sono sicuro di cosa abbia a che fare l'UAC con Windows Defender.
Ramhound,

Ho citato UAC perché sembrava possibile che UAC mi stesse impedendo di disabilitare Defender. Non ho ancora distribuito l'ultimo Kaspersky che supporta Windows 10 e, francamente, non sono così sicuro che Kaspersky si installerà bene con Defender in esecuzione. Inoltre, voglio essere in grado di disabilitarlo in linea di principio nel caso in cui ne abbia bisogno o voglia per altri motivi.
Todd Wilcox,

Ho aperto Update & Securitye sono in grado di disabilitare Windows Defender. Personalmente sono stato in grado di disabilitare il servizio anche se dopo averlo fatto.
Ramhound,

Windows Defender è progettato per essere facilmente sostituibile, basta installare un altro AV e dovrebbe spegnersi automaticamente.
gronostaj,

3
@gronostaj Se la mia domanda fosse come sostituire Windows Defender con un'altra soluzione A / V, ti suggerirei di pubblicare il tuo commento come risposta e lo accetterei, tranne che il tuo commento è lo stesso di Ramhound, quindi suggerirei davvero lo fa. Ma non è quello che sto cercando di fare.
Todd Wilcox,

Risposte:


22

È possibile farlo utilizzando un criterio di gruppo .

Aperto gpedit.msc

navigare verso Computer Configuration > Administrative Templates > Windows Components > Windows Defender

Turn off Windows Defender = Abilitato

Se poi provi ad aprire Windows Defender vedrai questo: inserisci qui la descrizione dell'immagine

E anche se in Impostazioni potrebbe sembrare attivo, il Servizio non è in esecuzione:inserisci qui la descrizione dell'immagine

Ulteriori informazioni:

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

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


Non riesco a credere di non averlo trovato da solo. Grazie!
Todd Wilcox,

1
Questo vale anche per Windows Home? Non riesco a trovaregpedit.msc
Stijn de Witt,

2
No, non funziona per gli utenti domestici. Solo Pro / Enterprise / Education
sloosecannon,

1
Ho provato questo ... tuttavia il servizio è ancora in esecuzione nel task manager.
Brig

12

Ho trovato un altro modo di usare il registro.

Utilizzando questo articolo , ho modificato il tipo di avvio per i servizi e i driver Defender (!!) nel registro mentre sono stato registrato come amministratore. Ecco un breve riassunto:

  1. Sfoglia il registro per HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
  2. Cerca i servizi che iniziano con "wd" con "Windows Defender" nel valore Descrizione. Un elenco forse incompleto è: wdboot, wdfilter, wdnisdrv, wdnissvc, windefend.
  3. Modificare il Startvalore per ciascun servizio in 0x4(esadecimale 4, decimale 4).
  4. Reboot.

2
Ho effettuato l'accesso come amministratore e visualizzo ancora l'errore "Errore durante la scrittura di avvio. Errore durante la scrittura dei nuovi contenuti del valore."
Segna il

1
Anch'io con lo stesso errore "Error writing start. Error writing the value's new contents. Qualche soluzione in giro per noi @Todd Wilcox?
Nam G VU,

1
Hai provato a fare clic con il pulsante destro del mouse su regedit ed eseguire come amministratore?
Todd Wilcox,

1
sfortunatamente su Win10 Home Single Language, ottengo lo stesso errore anche se avessi iniziato regedit come admin, qualsiasi altra soluzione alternativa. Sto davvero iniziando a dipingere Windows 10 ora.
Gideon,

Se si ottiene Error writing (...), chiudere regedit e riaprire.
Marc.2377,

10

Versione breve

  1. Scaricare
  2. Estratto
  3. Doppio click DisableDefender.reg

Spiegazione

Di gran lunga il modo più efficace e pulito per disabilitare permanentemente Windows Defender in Windows 10 è tramite Criteri di gruppo, come descritto da Aaron Hoffman. Sfortunatamente, Windows 10 Home non ha gli strumenti necessari.

Ecco un file di registro che contiene le modifiche apportate da gpedit.msc su un computer Windows 10 Pro. È stato testato anche su Windows 10 Home. Salvare il file come DisableDefender.regcon i finali di riga in stile Windows e fare doppio clic per importarlo nel registro.

Windows Registry Editor Version 5.00

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

Se vuoi riattivare Defender, 00000001passa a 00000000su entrambe le linee.

Puoi scaricare i file per disabilitare e riattivare il difensore da Gist .


1
Oggi vinci Internet, signore.
ivan_bilan,

Avevo riattivato WD da regedit il valore a 00000000, i risultati WD La protezione in tempo reale è disattivata perché stai utilizzando un altro AV. In realtà non ho alcun antivirus installato. Come risolvere questo? Grazie
Santosa Sandy,

@SantosaSandy Ciò potrebbe accadere per una serie di motivi, incluso il malware. Dovresti iniziare una domanda separata.
Zenexer,

Grazie signor PB. In caso di emergenza e mancanza di errori durante l'indagine, aggiorno Windows ed eseguo la pulizia del registro (ad es. CCleaner). Windows Defender è di nuovo attivo. Grazie
Santosa Sandy,

4

Per disabilitare completamente Windows Defender (non solo la protezione in tempo reale) puoi:

  1. Installa un'altra suite di sicurezza (come menzionato da Ramhound).
  2. Se sei disposto a utilizzare un'applicazione di terze parti, puoi utilizzare NoDefender: http://msft.gq/pub/apps/NoDefender.zip

Maggiori informazioni su NoDefender sono disponibili qui: http://winaero.com/blog/nodefender-disable-windows-defender-in-windows-10-with-few-clicks/


Sospetto che NoDefender potrebbe essere solo un modo automatizzato per modificare il registro, cosa che ho fatto manualmente.
Todd Wilcox,

@ToddWilcox, Il tuo metodo è migliore del mio allora! Un'applicazione di terze parti in meno di cui preoccuparsi.
user5071535

1
vedo ancora il servizio antimalware in esecuzione, che esegue Windows Defender. Ho installato avg free edition
shorif2000,

2
Esatto, @Sharif Mi piacerebbe vedere eventuali conferme che anche il servizio antimalware è disabilitato.
Segna il

2

Ho scritto il file batch e i file di registro che dovrebbero disabilitare completamente Windows Defender in Windows 10.

  1. Salvare i seguenti file nella stessa cartella.
  2. Esegui Disable Windows Defender.batcome amministratore.
  3. Al termine del file batch, riavviare.
  4. Esegui di Disable Windows Defender.batnuovo come amministratore.
  5. Windows Defender dovrebbe essere completamente disabilitato ora.

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

Grazie! A proposito: questo richiede che la versione inglese di Windows funzioni correttamente
M. Abdelhafid,

1

Il metodo PowerShell facile è qui da una risposta che ho pubblicato su una domanda in seguito contrassegnata come duplicata per questo.

Il modo più semplice per farlo sarebbe usare PowerShell per disabilitarlo, il comando che probabilmente vuoi è questo

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

Per un articolo sull'uso di PowerShell per disabilitare / abilitare Windows Defender, consultare qui: http://wmug.co.uk/wmug/b/pwin/archive/2015/05/12/quickly-disable-windows-defender-on-windows -10-con-PowerShell

Ecco l'articolo di Technet per uno sguardo più dettagliato ai cmdlet del difensore disponibili: https://technet.microsoft.com/en-us/library/dn433280.aspx


Non credo che questo si fermerebbe e disabiliterebbe il servizio stesso. Disabilita semplicemente le funzionalità in tempo reale di Windows Defender che possono essere semplicemente eseguite tramite Impostazioni senza bisogno di un'applet PowerShell.
Ramhound,

@Ramhound modificato per il servizio mgmt con powershell. Non sono al 100%, interromperà il servizio senza lo stesso problema del servizio net stop, ma ho avuto più fortuna con PowerShell e non credo che ottenere alias / stop-service per net-stop
Abraxas,

1

Disabilitare totalmente e totalmente Windows Defender non è così semplice. Esiste uno script di PowerShell che disinstalla Windows Defender, ma potrebbe non essere possibile installarlo in un secondo momento. Questo script richiede due riavvii.

Basta scaricare Debloat-Windows-10 e seguire questi passaggi, forniti dall'autore:

  1. Decomprimere l'archivio;
  2. Abilita l'esecuzione di script PowerShell:

    PS> Set-ExecutionPolicy Unrestricted

  3. Sblocca script e moduli di PowerShell all'interno di questa directory:

    PS> ls -Recurse * .ps1 | Sblocca-File PS> ls -Recurse * .psm1 | Sblocca-File

  4. Correre scripts\disable-windows-defender.ps1

  5. Riavvia il computer (nel solito modo o tramite PS > Restart-Computer)
  6. Esegui ancora scripts\disable-windows-defender.ps1una volta.
  7. Riavvia di nuovo il computer.

Questo non è il modo più semplice, ma molto affidabile e resistente.

Ci sono anche gli script per rimuovere programmi non necessari come BingFinance, Skype, OneDrive, ecc. Se non ne hai bisogno.

L'archivio contiene anche molti script che potresti trovare utili.

Tieni presente che questi script eliminano irreversibilmente i file e possono eliminare le funzioni vitali di Windows. Ad esempio, possono disabilitare totalmente il menu Start!

Non eseguire disable-ShellExperienceHost.batda questo pacchetto, altrimenti il ​​menu Start smetterà di aprirsi.


1

Sarebbe utile capire perché non è possibile interrompere un determinato servizio.

  • Sono l'amministratore; peggio dell'errore l'amministratore non può amministrare ?!

È a causa delle autorizzazioni di sicurezza sul servizio WinDefend .

Nota : WinDefendè il nome effettivo del "Servizio antivirus Windows Defender"

inserisci qui la descrizione dell'immagine

Visualizzazione delle autorizzazioni

Se corri da una riga di comando:

>sc sdshow WinDefend

dove

  • sdshowsignifica "Visualizza il descrittore di sicurezza di un servizio."

Otterrai il descrittore di sicurezza :

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)

Questo è piuttosto il brutto blob, ed è completamente non documentato da Microsoft, ma avremo una pugnalata nel decodificarlo. Prima di tutto con la parola:

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)

Il D:mezzo si tratta di un elenco di controllo di accesso discrezionale . Un elenco di controllo di accesso è composto da un numero di voci di controllo di accesso (ACE):

  • D: elenco di controllo di accesso discrezionale
    • 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

Ogni ACE è un set di 5 impostazioni di punto e virgola, seguite da chi si applica.

Guardando prima a chi si applicano, un articolo di blog casuale ne decodifica alcuni ( archive.is ) :

  • BU: Utenti integrati
  • SY: Sistema locale
  • BA: Amministratori integrati
  • UI: Utente con accesso interattivo
  • SU: Utente di accesso al servizio
  • S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464: Programma di installazione affidabile
  • S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736:

È possibile ottenere il nome associato a un SID eseguendo:

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

Ogni ACE contiene un elenco di autorizzazioni a cui l'utente è autorizzato o negato.

  • D: elenco di controllo di accesso discrezionale
    • ACE 1: A;;CCLCSWRPLOCRRC;;; utenti integrati
    • ACE 2: A;;CCLCSWRPLOCRRC;;; sistema locale
    • ACE 3: A;;CCLCSWRPLOCRRC;;; amministratori integrati
    • ACE 4: A;;CCLCSWRPLOCRRC;;; utente interattivo
    • ACE 5: A;;CCLCSWRPLOCRRC;;; utente di accesso al servizio
    • ACE 6: programma di A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; installazione affidabile
    • ACE 7: A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

Ripartizione delle restanti sezioni separate di punto e virgola in un ACE:

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

Il principale Asignifica consentito e le autorizzazioni sono codici di due lettere:

  • D: elenco di controllo di accesso discrezionale
    • ACE 1 : Consenti CC LC SW RP LO CR RC,, Utenti integrati
    • ACE 2 : Consenti CC LC SW RP LO CR RC,, Sistema locale
    • ACE 3 : Consenti CC LC SW RP LO CR RC,, amministratori integrati
    • ACE 4 : Consenti CC LC SW RP LO CR RC,, Utente interattivo
    • ACE 5 : Consenti CC LC SW RP LO CR RC,, Accesso utente del servizio
    • ACE 6 : Consenti CC LC SW RP LO CR RC DC WP DT SD WD WO,, programma di installazione affidabile
    • ACE 7 : Allow CC LC SW RP LO CR RC DC WP DT SD WD WO,, S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

Ed è qui che mi fermerò per salvare il mio lavoro. Questa deviazione su come interrompere il servizio Windows Defender è interessante e tutto: ma l'ho già interrotto e il mio PC si sta ancora comportando male.

spoiler:

sc sdset WinDefend [newSDLString]

Lettura bonus


0

Sono riuscito a disabilitarlo usando Autoruns; sotto la scheda servizi c'è una voce WinDefend, deseleziona la casella e riavvia.


0

Ho scoperto che la seguente procedura funziona bene; non rimuove o disabilita Windows Defender, ma disabilita il servizio Windows Defender, interrompe tutti gli avviamenti e la scansione in tempo reale e impedisce a Windows Defender Real-Time Scan di riaccendersi. (Lascia Windows Defender sul posto, quindi puoi usarlo per eseguire la scansione su richiesta di file sospetti.)

PROCEDURA:

  1. Trova, scarica, installa la suite di programmi "SysInternals".
  2. Esegui il programma "AutoRuns".
  3. Trova "Servizio Windows Defender".
  4. Deseleziona la casella.
  5. Riavvia il tuo computer.

Dopo averlo fatto, il mio tempo di avvio è diminuito da 20 minuti a 5 minuti e l'utilizzo della memoria dopo l'avvio (prima di avviare qualsiasi app) è diminuito da 2,1 GB a 1,2 GB. E quando ho cercato "Servizi", ho scoperto che "Servizio Windows Defender", mentre era ancora lì, ora è contrassegnato come "NON in esecuzione, disabilitato".


0

Il modo più semplice che ho trovato è aprire un prompt dei comandi dell'amministratore ed eseguire:

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

Quindi riavviare. Non sono stato in grado di trovare l'arresto per arrestare il servizio una volta avviato senza riavviare.


0

Nella mia esperienza, l'impostazione dei Criteri di gruppo è il modo più affidabile per arrestare Windows Defender e il suo servizio eseguibile antimalware. Tuttavia, di recente ho riscontrato una situazione in cui l'impostazione di un criterio di gruppo non ha avuto alcun effetto e l'eseguibile Antimalware ha continuato a funzionare e a funzionare nella mia CPU.

Ho finito per scrivere un piccolo script per diventare proprietario dell'eseguibile e negare la lettura e l'esecuzione dei diritti di accesso per esso. Questo ha risolto il problema. Lo script è sotto.

@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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.