Nonaktifkan Windows Defender di Windows 10

32

Saya tidak dapat menemukan informasi tentang cara menonaktifkan Windows Defender di Windows 10. Ada beberapa informasi tentang cara melakukannya di preview, tetapi halaman konfigurasi telah berubah dengan rilis final.

Secara khusus, saya ingin menghentikan dan menonaktifkan Layanan Windows Defender.

  • Menggunakan net stop windefenddari prompt perintah yang ditinggikan memberi "akses ditolak"
  • Berhenti dan jenis startup diklik dalam sevices.msc, bahkan ketika login sebagai administrator
  • Sepertinya tidak ada cara GUI untuk menonaktifkan UAC di Windows 10

Adakah yang tahu cara menonaktifkan Defender di Windows 10?

Todd Wilcox
sumber
3
Metode paling sederhana. Cukup instal suite keamanan berbayar / gratis dan itu akan otomatis menonaktifkannya. Di luar itu hanya pergi ke `Perbarui dan Keamanan` dan nonaktifkan perlindungan Real-Time. Anda tidak dapat menonaktifkan UAC di Windows 8 dan di atas ke tingkat yang sama seperti yang Anda bisa di Windows 7. Tentu saja saya tidak yakin apa yang harus dilakukan UAC dengan Windows Defender.
Ramhound
Saya menyebutkan UAC karena mungkin saja UAC mencegah saya menonaktifkan Defender. Saya belum menggunakan Kaspersky terbaru yang mendukung Windows 10, dan terus terang saya tidak begitu yakin Kaspersky akan menginstal dengan baik dengan Defender berjalan. Plus saya ingin dapat menonaktifkannya pada prinsipnya jika saya perlu atau ingin karena alasan lain.
Todd Wilcox
Saya membuka Update & Securitydan saya bisa menonaktifkan Windows Defender. Secara pribadi saya dapat menonaktifkan layanan setelah saya melakukannya.
Ramhound
Windows Defender dirancang agar mudah diganti, cukup instal AV lain dan harus dimatikan secara otomatis.
gronostaj
3
@gronostaj Jika pertanyaan saya adalah bagaimana cara mengganti Windows Defender dengan solusi A / V lain, saya sarankan Anda memposting komentar Anda sebagai jawaban dan saya akan menerimanya, kecuali komentar Anda sama dengan Ramhound, jadi saya benar-benar menyarankan dia melakukannya. Tapi bukan itu yang saya coba lakukan.
Todd Wilcox

Jawaban:

22

Anda dapat melakukan ini menggunakan Kebijakan Grup .

Buka gpedit.msc

navigasi ke Computer Configuration > Administrative Templates > Windows Components > Windows Defender

Turn off Windows Defender = Diaktifkan

Jika Anda kemudian mencoba membuka Windows Defender Anda akan melihat ini: masukkan deskripsi gambar di sini

Dan meskipun dalam Pengaturan tampaknya aktif, Layanan tidak berjalan:masukkan deskripsi gambar di sini

Info lebih lanjut:

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

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

Aaron Hoffman
sumber
Aku tidak percaya aku tidak menemukan ini sendirian. Terima kasih!
Todd Wilcox
2
Apakah ini juga untuk Windows Home? Saya tidak dapat menemukangpedit.msc
Stijn de Witt
2
Tidak, ini tidak berfungsi untuk pengguna rumahan. Pro / Perusahaan / Pendidikan saja
sloosecannon
2
Sudah mencoba ini ... namun layanan masih berjalan di task manager.
Brigjen
12

Saya menemukan cara lain menggunakan registri.

Menggunakan artikel ini , saya mengubah jenis startup untuk layanan dan driver Defender (!!) di registri saat masuk sebagai administrator. Berikut ini adalah daftar singkat:

  1. Jelajahi registri HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
  2. Cari layanan yang dimulai dengan "wd" yang memiliki "Windows Defender" di nilai Deskripsi. Daftar yang mungkin tidak lengkap adalah: wdboot, wdfilter, wdnisdrv, wdnissvc, windefend.
  3. Ubah Startnilai untuk setiap layanan menjadi 0x4(hex 4, desimal 4).
  4. Mulai ulang.
Todd Wilcox
sumber
4
Saya masuk sebagai administrator dan saya masih mendapatkan kesalahan "Mulai menulis kesalahan. Kesalahan menulis konten baru nilai."
Markus
1
Saya juga dengan kesalahan yang sama "Error writing start. Error writing the value's new contents. Adakah yang bisa membantu kami @Todd Wilcox?
Nam G VU
1
Sudahkah Anda mencoba mengklik kanan pada regedit dan berjalan sebagai administrator?
Todd Wilcox
2
sayangnya pada Win10 Home Single Language, saya mendapatkan kesalahan yang sama bahkan jika saya mulai regedit sebagai admin, solusi lainnya. Saya benar-benar mulai mengurangi windows 10 sekarang.
gideon
Jika mendapatkan Error writing (...), tutup regedit dan buka kembali.
Marc.2377
11

Versi pendek

  1. Unduh
  2. Ekstrak
  3. Klik dua kali DisableDefender.reg

Penjelasan

Sejauh ini, cara paling efektif dan bersih untuk menonaktifkan Windows Defender secara permanen di Windows 10 adalah melalui Kebijakan Grup, seperti yang dijelaskan oleh Aaron Hoffman. Sayangnya, Windows 10 Home tidak memiliki alat yang diperlukan.

Berikut adalah file registri yang berisi perubahan yang dibuat oleh gpedit.msc pada mesin Windows 10 Pro. Ini sudah diuji pada Windows 10 Home juga. Simpan file DisableDefender.regdengan ujung baris bergaya Windows dan klik dua kali untuk mengimpornya ke dalam registri Anda.

Windows Registry Editor Version 5.00

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

Jika Anda ingin mengaktifkan kembali Defender, ubah 00000001ke 00000000pada kedua baris.

Anda dapat mengunduh file untuk menonaktifkan dan mengaktifkan kembali bek dari Gist .

Zenexer
sumber
1
Anda memenangkan Internet hari ini, tuan.
ivan_bilan
Saya telah mengaktifkan kembali WD dengan regedit nilai ke 00000000, hasil perlindungan WD Real-time tidak aktif karena Anda menggunakan AV lain. Sebenarnya saya tidak menginstal antivirus. Bagaimana cara memperbaikinya? Terima kasih
Santosa Sandy
@SantosaSandy Itu bisa terjadi karena beberapa alasan, termasuk malware. Anda harus memulai pertanyaan terpisah.
Zenexer
Terima kasih Pak PB. Dalam keadaan darurat dan kurangnya petunjuk menyelidiki kesalahan, saya hanya memperbarui windows dan menjalankan registry cleaner (misalnya CCleaner). Windows Defender aktif lagi. Terima kasih
Santosa Sandy
4

Untuk menonaktifkan Windows Defender sepenuhnya (bukan hanya perlindungan Real-Time) Anda dapat:

  1. Instal suite keamanan lain (seperti yang disebutkan Ramhound).
  2. Jika Anda ingin menggunakan aplikasi pihak ketiga, Anda dapat menggunakan NoDefender: http://msft.gq/pub/apps/NoDefender.zip

Informasi lebih lanjut tentang NoDefender dapat ditemukan di sini: http://winaero.com/blog/nodefender-disable-windows-defender-in-windows-10-with-few-clicks/

pengguna5071535
sumber
Saya menduga NoDefender mungkin hanya cara otomatis untuk mengedit registri, yang telah saya lakukan secara manual.
Todd Wilcox
@ToddWilcox, metode Anda lebih baik dari saya! Satu aplikasi pihak ketiga yang kurang perlu dikhawatirkan.
user5071535
1
saya masih melihat layanan antimalware berjalan, yang menjalankan windows defender. Saya sudah menginstal edisi gratis rata-rata
shorif2000
2
Tepatnya, @Sharif saya ingin melihat konfirmasi apa pun bahwa layanan antimalware juga dinonaktifkan.
Markus
2

Saya telah menulis file kumpulan dan file registri yang harus sepenuhnya menonaktifkan Windows Defender di Windows 10.

  1. Simpan file-file berikut ke dalam folder yang sama.
  2. Jalankan Disable Windows Defender.batsebagai administrator.
  3. Setelah file batch selesai, restart.
  4. Jalankan Disable Windows Defender.batlagi sebagai administrator.
  5. Windows Defender harus dinonaktifkan sepenuhnya sekarang.

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
XP1
sumber
Terima kasih! BTW: Ini membutuhkan versi bahasa Inggris windows untuk bekerja dengan benar
M. Abdelhafid
2

Akan sangat membantu untuk memahami mengapa Anda tidak dapat menghentikan layanan tertentu.

  • Saya adalah administrator; lebih buruk daripada kegagalan, bukankah Administrator bisa mengatur ?!

Itu karena izin keamanan pada layanan WinDefend .

Catatan : WinDefendadalah nama sebenarnya dari "Layanan Antivirus Windows Defender"

masukkan deskripsi gambar di sini

Melihat Izin

Jika Anda menjalankan dari baris perintah:

>sc sdshow WinDefend

dimana

  • sdshowberarti "Menampilkan deskriptor keamanan layanan."

Anda akan mendapatkan deskriptor keamanan :

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)

Ini adalah gumpalan jelek, dan itu benar-benar tidak berdokumen oleh Microsoft, tetapi kita akan mencoba men-decoding. Pertama dengan bungkus kata:

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)

The D:berarti ini adalah daftar kontrol akses discretionary . Daftar Kontrol Akses terdiri dari sejumlah Entri Kontrol Akses (ACE):

  • D: daftar kontrol akses diskresioner
    • 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

Setiap ACE adalah satu set 5 pengaturan diakhiri titik koma, diikuti oleh siapa itu berlaku.

Melihat pertama pada siapa mereka melamar, artikel blog acak decode beberapa dari mereka ( archive.is ) :

  • BU: Pengguna built-in
  • SY: Sistem Lokal
  • BA: Administrator bawaan
  • UI: Pengguna yang masuk secara interaktif
  • SU: Pengguna layanan masuk
  • S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464: Pemasang Tepercaya
  • S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736:

Anda bisa mendapatkan nama yang dikaitkan dengan SID dengan menjalankan:

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

Setiap ACE berisi daftar izin yang diizinkan atau ditolak pengguna.

  • D: daftar kontrol akses diskresioner
    • ACE 1: A;;CCLCSWRPLOCRRC;;; Pengguna bawaan
    • ACE 2: A;;CCLCSWRPLOCRRC;;; Sistem lokal
    • ACE 3: A;;CCLCSWRPLOCRRC;;; Administrator bawaan
    • ACE 4: A;;CCLCSWRPLOCRRC;;; Pengguna interaktif
    • ACE 5: A;;CCLCSWRPLOCRRC;;; Pengguna layanan masuk
    • ACE 6: A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; Pemasang tepercaya
    • ACE 7: A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;; S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

Memecah bagian yang dipisahkan titik koma yang tersisa di ACE:

  • KARTU AS: A;;CCLCSWRPLOCRRC;;;
    • AceType: AACCESS_ALLOWED_ACE_TYPE
    • AceFlags: (tidak ada)
    • 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: (tidak ada)
    • InheritObjectGuid: (tidak ada)

Terdepan Aberarti Diizinkan , dan izin adalah kode dua huruf:

  • D: daftar kontrol akses diskresioner
    • ACE 1 : Izinkan,, CC LC SW RP LO CR RCPengguna built-in
    • ACE 2 : Izinkan,, CC LC SW RP LO CR RCSistem lokal
    • ACE 3 : Izinkan,, CC LC SW RP LO CR RCAdministrator internal
    • ACE 4 : Izinkan,, CC LC SW RP LO CR RCPengguna interaktif
    • ACE 5 : Izinkan,, CC LC SW RP LO CR RCPengguna layanan masuk
    • ACE 6 : Izinkan,, CC LC SW RP LO CR RC DC WP DT SD WD WOPemasang tepercaya
    • ACE 7 : Izinkan CC LC SW RP LO CR RC DC WP DT SD WD WO,, S-1-5-80-1913148863-3492339771-4165695881-2087618961-4109116736

Dan di sinilah saya harus berhenti untuk menyelamatkan pekerjaan saya. Jalan memutar ini tentang cara menghentikan layanan Windows Defender itu menarik dan semuanya: tetapi saya sudah menghentikannya, dan PC saya masih mengalami gangguan.

Spoiler:

sc sdset WinDefend [newSDLString]

Pembacaan Bonus

Ian Boyd
sumber
1

Metode PowerShell mudah di sini dari jawaban saya diposting pada pertanyaan kemudian ditandai duplikat untuk ini.

Cara termudah untuk melakukan ini adalah dengan menggunakan PowerShell untuk menonaktifkannya, perintah yang mungkin Anda inginkan adalah ini

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

Untuk artikel tentang cara menggunakan powershell untuk menonaktifkan / mengaktifkan Windows Defender, periksa di sini: http://wmug.co.uk/wmug/b/pwin/archive/2015/05/12/quickly-disable-windows-defender-on-windows -10-using-powershell

Berikut ini adalah artikel technet untuk melihat lebih detail pada cmdlet bek yang tersedia: https://technet.microsoft.com/en-us/library/dn433280.aspx

Abraxas
sumber
Saya tidak percaya ini akan menghentikan dan menonaktifkan layanan itu sendiri. Itu hanya menonaktifkan kemampuan waktu nyata dari Windows Defender yang hanya dapat dilakukan melalui Pengaturan tidak perlu untuk applet PowerShell.
Ramhound
@Ramhound diedit untuk layanan mgmt dengan PowerShell. Saya tidak 100% akan menghentikan layanan tanpa masalah yang sama dengan layanan stop net tetapi saya lebih beruntung dengan PowerShell dan tidak percaya mendapatkan / menghentikan-layanan alias ke net-stop
Abraxas
1

Saya menemukan bahwa prosedur berikut ini berfungsi dengan baik; itu tidak menghapus atau menonaktifkan Windows Defender, tetapi menonaktifkan Windows Defender SERVICE, menghentikan semua pemindaian start-up dan real-time, dan mencegah Pemindaian Real-Time Windows Defender dari menghidupkan kembali. (Ini meninggalkan Windows Defender di tempat, sehingga Anda dapat menggunakannya untuk melakukan pemindaian berdasarkan permintaan terhadap file yang mencurigakan.)

PROSEDUR:

  1. Temukan, unduh, instal paket program "SysInternals".
  2. Jalankan program "AutoRuns".
  3. Temukan "Layanan Windows Defender".
  4. Hapus centang pada kotak.
  5. Hidupkan Kembali komputer Anda.

Setelah melakukan itu, waktu startup saya berkurang dari 20 menit menjadi 5 menit, dan penggunaan memori setelah startup (sebelum meluncurkan aplikasi apa pun) menurun dari 2,1GB menjadi 1,2GB. Dan ketika saya mencari di "Layanan", saya menemukan bahwa "Layanan Windows Defender", sementara masih di sana, sekarang ditandai "TIDAK berjalan, Dinonaktifkan".

Robbie Hatley
sumber
Memberikan "akses ditolak", bahkan berjalan sebagai Administrator
pgr
1

Tidak mudah untuk secara andal dan sepenuhnya menonaktifkan Windows Defender. Ada skrip PowerShell yang menghapus instalan Windows Defender, tetapi Anda mungkin tidak dapat menginstalnya nanti. Script ini membutuhkan dua reboot.

Cukup unduh Debloat-Windows-10 dan ikuti langkah-langkah ini, yang disediakan oleh penulis:

  1. Buka kemasan arsip;
  2. Aktifkan eksekusi skrip PowerShell:

    PS> Set-ExecutionPolicy Tidak Terbatas

  3. Buka blokir skrip dan modul PowerShell dalam direktori ini:

    PS> ls -Recurse * .ps1 | Buka Blokir-File PS> ls -Recurse * .psm1 | Buka Blokir-File

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

  5. Nyalakan kembali komputer (baik dengan cara biasa atau melalui PS > Restart-Computer)
  6. Jalankan scripts\disable-windows-defender.ps1sekali lagi.
  7. Nyalakan kembali komputer.

Ini bukan cara termudah, tetapi sangat andal dan ulet.

Ada juga skrip untuk menghapus program yang tidak perlu seperti BingFinance, Skype, OneDrive, dll - jika Anda tidak membutuhkannya.

Arsip tersebut juga mengandung banyak skrip yang mungkin berguna bagi Anda.

Perlu diketahui bahwa skrip ini menghapus file yang tidak dapat dibatalkan dan dapat menghapus fungsi vital Windows. Misalnya, mereka dapat sepenuhnya menonaktifkan menu Start!

Jangan lari disable-ShellExperienceHost.batdari paket ini, jika tidak, Start Menu akan berhenti terbuka.

Maxim Masiutin
sumber
0

Saya berhasil menonaktifkannya menggunakan Autoruns; di bawah tab layanan ada entri WinDefend, hapus centang pada kotak dan reboot.

FreddyFlares
sumber
Memberikan "akses ditolak", bahkan berjalan sebagai Administrator
pgr
0

Cara termudah yang saya temukan adalah membuka command prompt administrator dan menjalankan:

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

Kemudian reboot. Saya belum dapat menemukan cara untuk mematikan layanan setelah dimulai dengan reboot.

jcoffland
sumber
0

Dalam pengaturan pengalaman saya, Kebijakan Grup adalah cara yang paling dapat diandalkan untuk menghentikan Windows Defender dan Layanan Antimalware yang Dapat Dieksekusi. Namun, saya baru-baru ini menghadapi situasi di mana pengaturan Kebijakan Grup tidak berpengaruh, dan executable Antimalware terus berjalan dan memakan CPU saya.

Saya akhirnya menulis skrip kecil untuk mengambil kepemilikan dari executable dan menolak membaca dan mengeksekusi hak akses untuk itu. Ini memecahkan masalah. Script di bawah ini.

@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
Andy
sumber
Ini bekerja untuk saya di Windows 10 Pro [Versi 10.0.18362.476], dan selamat dari reboot. Tapi jalan saya adalahc:\Program Files\Windows Defender\MsMpEng.exe
pgr