Ошибка no Ace Condition 804 (0x324): Исправьте это за 4 шага
X УСТАНОВИТЕ, НАЖАВ ССЫЛКУ ДЛЯ СКАЧИВАНИИ
ФАЙЛА
Системные администраторы часто сталкиваются с ERROR_NO_ACE_CONDITION, и эта ошибка может помешать вам получить доступ к определенным файлам, поэтому в сегодняшнем руководстве мы покажем вам, как ее исправить.
Как исправить ERROR_NO_ACE_CONDITION?
1. Сбросить ACL для затронутого файла/папки
- Нажмите клавишу Windows + S и введите cmd. Выберите Запуск от имени администратора.
-
Далее выполните следующую команду: icacls
"C:\path\to\file_or_folder" /reset /t /c /l /q
- После этого разрешения должны быть установлены по умолчанию.
2. Проверить и изменить ACL с помощью PowerShell
- Нажмите клавишу Windows + S и введите powershell. Выберите Запуск от имени администратора.
-
Выполните следующее, чтобы проверить условия ACE:
Get-Acl "C:\path\to\file_or_folder" | Format-List3
- Если ACE недействителен, сбросьте его следующим образом:
$acl = Get-Acl "C:\path\to\file_or_folder" $acl.SetAccessRuleProtection($true, $false) Set-Acl "C:\path\to\file_or_folder" -AclObject $acl
Узнайте больше об этой теме
- D3dx11_42.dll не найден: как это исправить
- Остановка Windows 11 после простоя: 4 способа остановить ее
- Windows выключается вместо перезагрузки: 4 способа это исправить
- Windows 11 выключается, но пользователь остается в системе: как это исправить
3. Проверить конфликты групповой политики
- Нажмите клавишу Windows + R и введите gpedit.msc.
- Перейдите в Конфигурацию компьютера, затем Настройки Windows.
- Выберите Настройки безопасности, затем Локальные политики. Выберите Настройки безопасности.
- Ищите политики, связанные с Управлением доступом пользователей или Безопасными дескрипторами, и при необходимости отредактируйте их.
4. Измените ваш код
- Откройте ваш код.
- Измените его следующим образом:
import win32security sd = win32security.GetFileSecurity("C:\\path\\to\\file", win32security.DACL_SECURITY_INFORMATION) dacl = sd.GetSecurityDescriptorDacl() # Убедитесь, что ACE добавляются с действительными условиями for i in range(dacl.GetAceCount()): ace = dacl.GetAce(i) print(ace) # Проверьте, отсутствуют ли условия или они искажены
- Сохраните изменения.
ERROR_NO_ACE_CONDITION можно распознать по сообщению 804 (0x324) Указанная запись контроля доступа (ACE) не содержит условия, и если вы столкнетесь с ней, сбросьте ACL или измените их с помощью PowerShell.
Это не единственная ошибка, и мы писали об ERROR_ABANDON_HIBERFILE и WORKER_THREAD_TEST_CONDITION в наших предыдущих статьях, так что не пропустите их.