PowerShell-скрипт для поиска и удаления ключей реестра, связанных с Dr.Web

PowerShell-скрипт для поиска и удаления ключей реестра Dr.Web для очистки системы перед переустановкой или устранением ошибок.

2025.05.22                    


Как использовать

  • Запустите PowerShell от имени администратора.
  • Скопируйте код скрипта в файл с расширением .ps1, например: RemoveDrWebRegistry.ps1.

Запустите скрипт командой:

.\RemoveDrWebRegistry.ps1

Важно: Этот скрипт удалит ключи только если они существуют. Но будьте внимательны — перед выполнением обязательно сделайте резервную копию реестра!



Исходник скрипта:

# Запустите PowerShell от имени администратора!

# Функция для удаления ключа реестра, если он существует
function Remove-RegistryKeyIfExists {
    param (
        [string]$Path
    )
    if (Test-Path $Path) {
        Write-Output "Удаляем ключ: $Path"
        Remove-Item -Path $Path -Recurse -Force
    } else {
        Write-Output "Ключ не найден: $Path"
    }
}

# Основные ветки для удаления
$keysToRemove = @(
    "HKLM:\SOFTWARE\Doctor Web",
    "HKCU:\Software\Doctor Web",
    "HKLM:\SYSTEM\CurrentControlSet\Services\dwprot",
    "HKLM:\SYSTEM\CurrentControlSet\Services\dwengine",
    "HKLM:\SYSTEM\CurrentControlSet\Services\dwwatcher",
    "HKLM:\SYSTEM\CurrentControlSet\Services\drwebfw"
)

foreach ($key in $keysToRemove) {
    Remove-RegistryKeyIfExists -Path $key
}

# Поиск и удаление ключей, содержащих "DrWeb" в названиях в HKLM\SOFTWARE
Write-Output "Поиск ключей с 'DrWeb' в HKLM:\SOFTWARE..."
$foundKeys = Get-ChildItem -Path "HKLM:\SOFTWARE" -Recurse -ErrorAction SilentlyContinue |
    Where-Object { $_.Name -like "*DrWeb*" }

foreach ($foundKey in $foundKeys) {
    Remove-RegistryKeyIfExists -Path $foundKey.PSPath
}

Write-Output "Очистка завершена. Рекомендуется перезагрузить компьютер."