Назад | Перейти на главную страницу

Не удается запустить командные файлы с сервера, у пользователей нет разрешения на доступ к файлу

Мы пытаемся запустить несколько сценариев входа / выхода на контроллере домена server 2008r2. Скрипт находится в каталоге выхода из групповой политики по умолчанию.

\\domain.local\SysVol\domain.local\Policies\{guid}\User\Scripts\Logoff

При выходе из системы ничего не происходило, поэтому мы наконец поняли, что скрипт вообще не работает. Я скопировал скрипт на свой локальный компьютер и запустил его, и он работает нормально (обычная аутентифицированная учетная запись пользователя).

Затем я попытался получить доступ к каталогу через файловый проводник, который мог. Однако мне не удалось запустить командный файл. Я получаю ошибку

«Windows не может получить доступ (\ расположение файла). У вас нет разрешения на доступ (\ расположение файла). Обратитесь к администратору сети, чтобы запросить доступ».

Если щелкнуть правой кнопкой мыши и запустить от имени администратора, все будет нормально. Я не упомянул, что находится в командном файле, потому что это не имеет значения. Я создал сценарий входа в систему под названием test.bat. Он содержит только

echo Hello
pause

Опять же, это не работает в папке пользовательских сценариев или в любом другом общем ресурсе, если на то пошло. Я помещаю его в тестовую папку на нашем файловом сервере и получаю ту же ошибку. Если я запускаю командный файл через командную строку, он также работает нормально.

Кроме того, применяется групповая политика, и в средстве просмотра событий рабочей станции нет журналов ошибок.

Наконец, я попытался предоставить учетной записи пользователя домена больше прав для самого файла, но он все равно не запускается. Только администратор домена может запустить файл.

Есть предположения?

Переместите свой командный файл в \\DomainController\Netlogon а затем в объекте групповой политики перейдите по этому пути и используйте этот .bat-файл для сценария выхода из системы.

Это должно исправить любые проблемы с разрешениями.

Если у вас много контроллеров домена, вы можете установить путь к пакетному файлу в GPO на \\%LOGONSERVER%\NETLOGON\copyNinite.bat

Затем он будет использовать любой DC, аутентифицировавший их, в качестве пути к пакетному файлу, который должен быть локальным для их сайта.

Надеюсь, это поможет.

Щелкните правой кнопкой мыши папку, в которой находится BAT -> безопасность -> все пользователи -> разрешить все. проверьте также список других пользователей, перечисленных там. Может быть, это проблема, поскольку у нас была аналогичная проблема.

Для меня это похоже на виртуализацию файловой системы контроля учетных записей пользователей. В качестве эксперимента запустите useraccountcontrolsettings.exe и установите для UAC значение «Никогда не уведомлять». Перезагрузитесь и повторите тест. Если ваш скрипт работает, то однозначно UAC.