Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Event ID 4658 Windows Server, AD и Роли

Event ID 4658: The handle to an object was closed в Windows

Обновлено: 28.08.2026 · Официальная документация ↗

Что означает Event ID 4658 простыми словами?

Событие Event ID 4658 («The handle to an object was closed») сообщает о том, что программа или процесс завершила работу с ранее открытым объектом (файлом на диске, ключом реестра, мьютексом или системным процессом) и закрыла его дескриптор (Handle ID).

Как работает цепочка аудита дескрипторов:

  1. Event ID 4656: Процесс запросил открытие файла (запрос дескриптора).
  2. Event ID 4663: Процесс выполнил действие (прочитал или перезаписал файл).
  3. Event ID 4658: Процесс закрыл дескриптор (освободил файл).
Поле событияЗначение
Handle IDШестнадцатеричный идентификатор дескриптора (например, 0x1a4)
Process IDPID программы, которая закрыла объект
Категория аудитаHandle Manipulation (Манипуляция дескрипторами)

Как анализировать событие 4658 и почему его часто отключают

Само по себе событие 4658 не содержит имени закрытого файла — в нем есть только Handle ID. Чтобы узнать имя файла, системному администратору нужно найти предшествующее событие с тем же Handle ID.

  1. Сопоставление Handle ID для поиска имени файла:
    # Находим событие закрытия дескриптора с Handle ID 0x14c:
    $Handle = "0x14c"
    Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4656,4663,4658} | Where-Object {$_.Properties[0].Value -eq $Handle -or $_.Message -like "*$Handle*"}
  2. Оценка влияния на производительность сервера:

    Категория Handle Manipulation является одной из самых «тяжелых» в Windows. Включение аудита закрытия дескрипторов может генерировать сотни тысяч записей в минуту на загруженных файловых серверах.

  3. Отключение аудита закрытия дескрипторов для снижения нагрузки:
    auditpol /set /subcategory:"Handle Manipulation" /success:disable /failure:disable

Рекомендация: Включайте аудит Handle Manipulation только временно при точечной отладке утечек файловых дескрипторов в разрабатываемом ПО или при расследовании блокировок файлов.

💡 Практика специалистов: Если на сервере резко заполнился журнал Security и возникло событие 4612 (переполнение очереди), в 95% случаев причиной является случайно включенный аудит категории Handle Manipulation (события 4658 и 4690). Отключайте его без сомнений.

Частые вопросы (FAQ)

Почему в событии 4658 нет пути к закрытому файлу?

В целях оптимизации ядро Windows указывает путь к файлу только в момент его открытия (Event 4656), а при закрытии оперирует исключительно числовым идентификатором Handle ID.

Что такое дескриптор (Handle) простыми словами?

Дескриптор — это временный числовой указатель, который Windows выдает программе, чтобы та могла читать или записывать открытый файл.

Безопасно ли отключить событие 4658 в корпоративной сети?

Да, подавляющее большинство рекомендаций по безопасности (включая стандарты CIS Benchmarks и Microsoft Security Baseline) рекомендуют отключать аудит закрытия дескрипторов.

Как сопоставить время удержания файла процессом?

Вычислите разницу во времени между Event ID 4656 (открытие) и Event ID 4658 (закрытие) для одного и того же значения Handle ID.

Полезные материалы
Рекомендуем