
Windows 10 блокирует установку программ от неизвестных издателей через механизм SmartScreen и политики безопасности. Эта мера защищает систему от потенциально вредоносного ПО, но иногда ошибочно блокирует легитимные приложения. Чаще всего проблема возникает при попытке запустить исполняемые файлы (.exe), подписанные самоподписанными сертификатами или сертификатами с истекшим сроком действия. В 90% случаев ошибка сопровождается сообщением: «Windows защитила ваш компьютер. Издатель этого приложения не проверен».
Основные причины блокировки – отсутствие цифровой подписи у файла, недоверенный корневой сертификат издателя или настройки UAC (Контроль учетных записей) на уровне «Всегда уведомлять». Также блокировка может быть вызвана групповыми политиками в корпоративных сетях или остаточными данными в реестре после удаления антивируса. Для диагностики откройте Свойства файла → Цифровые подписи – если сертификат отсутствует или помечен как недоверенный, потребуется вмешательство в системные настройки.
Существует три основных метода решения: временное отключение SmartScreen через Панель управления → Безопасность и обслуживание, добавление издателя в список доверенных через Локальные политики безопасности (secpol.msc) или редактирование реестра. Последний способ – самый надежный для постоянного решения, но требует точного выполнения инструкций. Например, для отключения проверки подписи через реестр необходимо создать параметр DWORD EnableCertPaddingCheck со значением 0 в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\WinTrust\Config.
Важно: перед любыми изменениями создайте точку восстановления системы. Если блокировка возникает в корпоративной среде, обратитесь к администратору – самостоятельные действия могут нарушить политики безопасности компании. Для проверки сертификата используйте утилиту sigcheck от Sysinternals: команда sigcheck -v файл.exe покажет цепочку доверия и причину блокировки.
Проверка причины блокировки программы или драйвера

Первым шагом откройте Журнал событий Windows (eventvwr.msc) и перейдите в раздел Журналы Windows → Система. Отфильтруйте события по коду 19 (блокировка драйвера) или 1035 (проблемы с цифровой подписью). В описании события ищите имя заблокированного файла, издателя и причину: например, «Цифровая подпись недействительна» или «Драйвер не прошёл проверку WHQL». Для программ проверьте журналы Приложение на наличие ошибок с кодом 1001 или 1000, где указывается путь к исполняемому файлу и издатель.
Использование параметров безопасности для разрешения неподписанных приложений

Windows 10 по умолчанию блокирует запуск приложений без цифровой подписи издателя, классифицируя их как потенциально опасные. Чтобы обойти это ограничение, откройте Параметры Windows (Win + I) и перейдите в раздел Обновление и безопасность → Безопасность Windows → Управление приложениями и браузером. Здесь выберите Параметры защиты на основе репутации и отключите опцию Проверять приложения и файлы. Это временно снизит уровень защиты, поэтому используйте метод только для доверенных программ.
Альтернативный способ – изменение политики локальной групповой безопасности. Запустите Редактор локальной групповой политики (gpedit.msc) и перейдите по пути: Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Антивирусная программа «Защитник Windows» → Защита в реальном времени. Найдите параметр Отключить проверку поведения и установите значение Включено. После применения изменений перезагрузите систему.
Для пользователей без доступа к gpedit.msc (например, в домашней редакции Windows) подойдет редактирование реестра. Откройте Редактор реестра (regedit) и перейдите к ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Features. Создайте параметр DWORD (32-бит) с именем TamperProtection и установите значение 0. Это отключит защиту от изменений, но не влияет напрямую на проверку подписей – для этого потребуется дополнительная настройка в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.
В разделе System создайте параметр DWORD EnableLUA и присвойте ему значение 0. Это отключит контроль учетных записей (UAC) для неподписанных приложений, но повысит риск несанкционированного выполнения кода. После внесения изменений перезагрузите компьютер. Учтите, что отключение UAC снижает общую безопасность системы, поэтому восстанавливайте параметр после установки нужного ПО.
Для разового запуска неподписанного приложения используйте командную строку с повышенными правами. Откройте PowerShell или Командную строку от имени администратора и выполните команду: start-process -filepath "C:\путь\к\файлу.exe" -verb runas. Это обойдет блокировку без изменения системных настроек, но потребует подтверждения UAC при каждом запуске.
Если приложение блокируется из-за отсутствия подписи в SmartScreen, добавьте его в список исключений. Откройте Панель управления → Система и безопасность → Безопасность и обслуживание, выберите Изменить параметры SmartScreen и установите переключатель в положение Предупреждать, но не блокировать. Для корпоративных пользователей доступна настройка через Центр безопасности Windows Defender с помощью политик MDM или Intune.
При работе с драйверами без цифровой подписи используйте режим тестовой подписи. Запустите командную строку с правами администратора и выполните: bcdedit /set testsigning on. После перезагрузки система позволит устанавливать неподписанные драйверы, но на экране блокировки появится надпись Тестовый режим. Для отключения режима используйте команду bcdedit /set testsigning off.
Перед применением любых изменений создайте точку восстановления системы. Откройте Панель управления → Система → Защита системы и нажмите Создать. В случае нестабильной работы системы вы сможете откатиться к предыдущему состоянию. Избегайте отключения защитных механизмов для программ из ненадежных источников – это может привести к заражению вредоносным ПО или утечке данных.
Отключение контроля учетных записей (UAC) для конкретного файла
Контроль учетных записей (UAC) в Windows 10 блокирует запуск неподписанных или потенциально опасных исполняемых файлов, требуя подтверждения от администратора. Чтобы обойти это ограничение для конкретного файла без полного отключения UAC, используйте встроенные механизмы системы: планировщик заданий или манифест приложения. Первый метод надежнее, так как не требует изменения исходного файла и работает даже с защищенными программами.
Для настройки через планировщик заданий:
- Откройте
taskschd.mscчерез меню «Выполнить» (Win + R). - В правой панели выберите «Создать задачу».
- На вкладке «Общие» укажите имя задачи (например,
Запуск_без_UAC) и установите флажок «Выполнять с наивысшими правами». - Перейдите на вкладку «Действия» → «Создать» → укажите путь к целевому файлу в поле «Программа или сценарий».
- Сохраните задачу и создайте ярлык на рабочем столе с командой:
schtasks /run /tn "Запуск_без_UAC"
Метод с манифестом подходит для собственных или модифицируемых приложений. Создайте XML-файл с именем имя_файла.exe.manifest и содержимым:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Поместите манифест в ту же папку, что и исполняемый файл. Windows будет использовать его при запуске, запрашивая повышение прав через UAC только один раз. Этот способ не работает с подписанными файлами, так как цифровая подпись блокирует модификации.
Альтернативный вариант – использование утилиты Application Compatibility Toolkit от Microsoft. Установите пакет, запустите Compatibility Administrator, создайте новое исправление совместимости и выберите параметр «RunAsInvoker». Это заставит систему игнорировать запрос UAC для указанного файла. Однако метод нестабилен: изменения могут сбрасываться после обновлений Windows или переустановки программы.
Важно: отключение UAC для отдельных файлов снижает безопасность системы. Применяйте эти методы только к доверенным приложениям, так как они обходят штатные механизмы защиты. Для корпоративных сред рекомендуется использовать групповые политики (gpedit.msc) или PowerShell-скрипты для централизованного управления настройками UAC.
Добавление издателя в список доверенных через свойства файла

Откройте проводник Windows и найдите исполняемый файл (.exe) или установщик программы, блокировку которого нужно снять. Щелкните по нему правой кнопкой мыши и выберите «Свойства». В открывшемся окне перейдите на вкладку «Общие» – в нижней части появится предупреждение системы безопасности с кнопкой «Разблокировать», если файл был загружен из интернета. Нажмите её, чтобы убрать метку «Этот файл получен с другого компьютера». Если кнопки нет, перейдите на вкладку «Цифровые подписи» и проверьте наличие сертификата издателя.
На вкладке «Цифровые подписи» выделите строку с именем издателя и нажмите «Сведения». В новом окне кликните «Просмотр сертификата», затем перейдите на вкладку «Общие» и выберите «Установить сертификат». Запустится мастер импорта сертификатов – выберите «Текущий пользователь» или «Локальный компьютер» в зависимости от области применения. В следующем шаге укажите хранилище «Доверенные издатели» и завершите импорт. После этого система будет считать издателя доверенным для всех файлов с его подписью.
Если сертификат отсутствует или недействителен, добавьте издателя вручную через редактор локальной групповой политики (gpedit.msc). Перейдите по пути: «Конфигурация компьютера» → «Конфигурация Windows» → «Параметры безопасности» → «Политики управления приложениями» → «Контроль учётных записей: только повышение прав для подписанных и проверенных исполняемых файлов». Отключите политику или добавьте сертификат издателя в список доверенных через оснастку «Сертификаты». Для домашней версии Windows используйте PowerShell-команду: `Set-ExecutionPolicy -Scope CurrentUser RemoteSigned`, предварительно запустив оболочку от имени администратора.
Изменение политики выполнения через редактор локальной групповой политики
Редактор локальной групповой политики (gpedit.msc) доступен только в версиях Windows 10 Pro, Enterprise и Education. Для запуска нажмите Win + R, введите gpedit.msc и подтвердите клавишей Enter. Если инструмент отсутствует, его можно активировать через PowerShell командой DISM /Online /Enable-Feature /FeatureName:Microsoft-Windows-GroupPolicy с правами администратора.
Перейдите по пути: Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Windows PowerShell. Найдите параметр «Включить выполнение сценариев» и дважды кликните по нему. В открывшемся окне выберите «Включено», затем в выпадающем списке установите политику «Разрешить все сценарии». Это отключит ограничения для подписанных и неподписанных скриптов.
Для более точной настройки используйте параметр «Установить политику выполнения». Здесь можно задать одно из значений: AllSigned (только подписанные доверенными издателями), RemoteSigned (локальные скрипты без подписи, удалённые – только с подписью) или Unrestricted (полный доступ). После выбора нажмите «Применить» и «ОК».
Изменения вступают в силу немедленно, но для проверки выполните в PowerShell команду Get-ExecutionPolicy. Если результат не соответствует ожидаемому, перезагрузите систему или обновите политики вручную командой gpupdate /force. Учтите, что Unrestricted снижает безопасность, поэтому используйте его только для тестирования.
В корпоративных средах политики могут переопределяться доменными настройками. Чтобы проверить источник текущей политики, выполните Get-ExecutionPolicy -List. Если в столбце Scope указано MachinePolicy или UserPolicy, изменения через gpedit.msc будут игнорироваться до корректировки доменных политик.
Для отката к стандартным настройкам верните параметр «Включить выполнение сценариев» в состояние «Не задано» или выберите «Отключено». Альтернативный способ – выполнить в PowerShell команду Set-ExecutionPolicy Restricted -Force, которая заблокирует все скрипты, кроме встроенных.
Обновление сертификатов корневых центров сертификации в системе
Windows 10 использует корневые сертификаты для проверки подлинности издателей программного обеспечения. Если сертификат устарел или отсутствует в хранилище доверенных корневых центров, система блокирует запуск приложений с подписью такого издателя. Обновить сертификаты можно через встроенный механизм Windows Update или вручную через оснастку certmgr.msc. Для автоматического обновления выполните команду в PowerShell с правами администратора:
certutil -generateSSTFromWU roots.sst– загружает актуальный список корневых сертификатов с серверов Microsoft;Import-Certificate -FilePath "roots.sst" -CertStoreLocation Cert:\LocalMachine\Root– импортирует сертификаты в хранилище.
При ручном обновлении скачайте корневые сертификаты с сайта Microsoft (aka.ms/rootcert) или доверенного центра сертификации (например, DigiCert, Sectigo). Убедитесь, что файл имеет расширение .cer или .crt, затем дважды кликните по нему и выберите «Установить сертификат» → «Локальный компьютер» → «Поместить все сертификаты в следующее хранилище» → «Доверенные корневые центры сертификации». После импорта перезагрузите систему или выполните gpupdate /force для применения изменений.
Запуск программы от имени администратора с временным обходом блокировки
Блокировка издателя в Windows 10 часто возникает при попытке запуска неподписанных или самоподписанных приложений. Временный обход ограничения возможен через запуск программы с повышенными правами, но этот метод не отключает проверку подписи навсегда. Для выполнения действия откройте командную строку от имени администратора (Win + X → «Командная строка (администратор)») и введите: runas /user:Администратор /savecred "путь_к_файлу.exe". Параметр /savecred сохраняет учетные данные, но не рекомендуется для постоянного использования из-за рисков безопасности.
Альтернативный способ – использование PowerShell с командлетом Start-Process. Пример команды: Start-Process -FilePath "C:\path\to\app.exe" -Verb RunAs -ArgumentList "--ignore-certificate-errors". Ключ -Verb RunAs запрашивает права администратора, а аргумент --ignore-certificate-errors (если поддерживается программой) может подавить предупреждения о сертификатах. Этот метод эффективен для однократного запуска, но не решает проблему на уровне системы.
Для программ, использующих установщик MSI, можно применить параметр msiexec /i "путь_к_файлу.msi" /qn ALLUSERS=1 в командной строке администратора. Флаг /qn отключает интерфейс установщика, а ALLUSERS=1 обеспечивает установку для всех пользователей. Однако этот подход не обходит проверку подписи напрямую – он лишь маскирует процесс установки, что может не сработать для всех сценариев.
| Метод | Команда/Действие | Ограничения |
|---|---|---|
| Командная строка (runas) | runas /user:Администратор /savecred "app.exe" |
Сохраняет пароль, не отключает проверку подписи |
| PowerShell (Start-Process) | Start-Process -FilePath "app.exe" -Verb RunAs |
Требует поддержки аргументов программой |
| MSI-установщик | msiexec /i "setup.msi" /qn ALLUSERS=1 |
Не работает с EXE-файлами |
Временные обходы блокировки издателя не устраняют первопричину – отсутствие доверенной цифровой подписи. Для постоянного решения рекомендуется либо запросить у разработчика подписанную версию программы, либо добавить сертификат издателя в доверенные через оснастку certmgr.msc (раздел «Доверенные корневые центры сертификации»). Однако это требует технических знаний и может нарушить политики безопасности организации.
Восстановление системных настроек безопасности по умолчанию
Сброс политик безопасности Windows 10 выполняется через оснастку Локальная политика безопасности (secpol.msc). Откройте её через поиск в меню «Пуск» или командой Win + R. В разделе Локальные политики → Параметры безопасности найдите параметры, изменённые вручную или сторонними программами. Для восстановления значений по умолчанию щёлкните правой кнопкой мыши на нужном параметре и выберите Сбросить. Альтернативный метод – использование PowerShell: выполните команду secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose, которая перезапишет все настройки безопасности на заводские.
Если система блокирует запуск приложений из-за изменённых параметров Контроля учётных записей (UAC), верните их к стандартным значениям. Откройте Панель управления → Учётные записи пользователей → Изменить параметры контроля учётных записей. Переместите ползунок на уровень Уведомлять только при попытках приложений внести изменения в компьютер. Это соответствует второму снизу положению. Для применения изменений требуется перезагрузка.
Восстановление разрешений NTFS для системных папок критично при ошибках доступа. Запустите командную строку от имени администратора и выполните icacls "C:\Windows" /reset /t /c /q. Команда рекурсивно сбросит ACL для папки Windows и всех вложенных объектов. Аналогично поступите с директориями Program Files и Users. Избегайте сброса разрешений для корня диска C:\ без необходимости – это может нарушить работу служб.
Для отката изменений в политиках AppLocker или Software Restriction Policies используйте групповую политику (gpedit.msc). Перейдите в Конфигурация компьютера → Административные шаблоны → Компоненты Windows → AppLocker и отключите все правила. В разделе Software Restriction Policies удалите созданные правила через контекстное меню. После изменений выполните gpupdate /force для немедленного применения.
При повреждении хранилища сертификатов Windows восстановите его через certmgr.msc. Удалите все недоверенные сертификаты из разделов Доверенные корневые центры сертификации и Доверенные издатели, кроме подписанных Microsoft. Для автоматического обновления корневых сертификатов выполните certutil -generateSSTFromWU roots.sst, затем импортируйте файл roots.sst в хранилище. Перезагрузите систему, чтобы изменения вступили в силу.
