Мы пытаемся запустить несколько сценариев входа / выхода на контроллере домена 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.