Доступ запрещен при выполнении пакетного задания на компьютере под управлением Windows Server 2003
В этой статье описано решение ошибки (доступ запрещен), которая возникает при выполнении пакетного задания на компьютере под управлением Microsoft Windows Server 2003.
Применяется к: Windows Server 2003
Исходный номер базы знаний: 867466
Симптомы
При выполнении пакетного задания, выполняемого в контексте обычной учетной записи пользователя, скрипт может не выполняться. Если пакетное задание выполняется с помощью функции запланированных задач, в файле журнала запланированных задач (Schedlgu.txt) может быть зарегистрировано следующее сообщение об ошибке:
0x80070005: доступ запрещен.
Если вы используете программу отладчика, чтобы определить, почему пакетное задание не работает, в выходных данных отладки может появиться следующее сообщение об ошибке:
Доступ запрещен (ошибка 5)
Причина
Эта проблема возникает, если выполняются все следующие условия:
- Пакетное задание выполняется на рядовом сервере под управлением Windows Server 2003.
- Пакетное задание выполняется как неинтерактивный процесс.
- Пакетное задание настроено для выполнения в контексте учетной записи, которая не является членом группы администраторов.
В Windows Server 2003 группа Пользователи не имеет разрешений на чтение и выполнение для обработчика команд (Cmd.exe). По умолчанию программа Cmd.exe имеет следующие параметры разрешений:
Интерактивная неявная группа и неявная группа службы имеют разрешения на чтение и выполнение.
Примечание.
На рядовом сервере группа TelnetClients также имеет разрешения на чтение и выполнение. На контроллере домена неявная группа пакетной службы также имеет разрешения на чтение и выполнение.
Неявная группа "Администраторы" и "Система" имеют разрешения на полный доступ.
Чтобы устранить эту проблему, используйте один из следующих методов.
Решение 1. Предоставление разрешений на чтение и выполнение Cmd.exe
Предоставьте программе Cmd.exe разрешения на чтение и выполнение для учетной записи пользователя, под которой выполняется пакетное задание. Для этого выполните следующие действия:
Нажмите кнопку Пуск, а затем — Windows Обозреватель.
Найдите и щелкните файл Cmd.exe правой кнопкой мыши. Файл Cmd.exe находится в папке %windir%\System32.
Выберите команду Свойства.
Щелкните вкладку Безопасность.
Нажмите кнопку Добавить.
В поле Введите имена объектов для выбора введите имя пользователя, под которым выполняется пакетное задание, и нажмите кнопку ОК два раза.
Примечание.
При добавлении пользователя ему автоматически предоставляются разрешения на чтение и выполнение.
Нажмите кнопку Да , когда появится запрос на продолжение.
Решение 2. Предоставление разрешений на чтение и выполнение для Cmd.exe файла группе пакетной службы
Предоставьте разрешения на чтение и выполнение для файла Cmd.exe группе пакетной службы. Это позволяет всем пакетным процессам запускать обработчик команд. Для этого выполните следующие действия:
- Нажмите кнопку Пуск, а затем — Windows Обозреватель.
- Найдите и щелкните файл Cmd.exe правой кнопкой мыши. Файл Cmd.exe находится в папке %windir%\System32.
- Выберите команду Свойства.
- Щелкните вкладку Безопасность.
- Нажмите кнопку Добавить.
- В поле Введите имена объектов для выбора введите Пакетная служба и нажмите кнопку ОК два раза.
- Нажмите кнопку Да , когда появится запрос на продолжение.
Дополнительная информация
Поведение, описанное в этой статье, отличается от поведения microsoft Windows 2000 Server по умолчанию. По умолчанию Windows 2000 Server предоставляет разрешения на чтение и выполнение для группы Пользователи.
Дополнительные сведения о неявных группах см. на следующих веб-сайтах Майкрософт:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по