Скрипты входа (Logon Scripts): создание .bat для подключения дисков в AD
Зачем нужен скрипт входа (Logon Script)?
Когда в компании появляется общий файловый сервер, подключать сетевую папку \\Server\Share вручную на каждом из 50 компьютеров сотрудников слишком долго. Скрипт входа (Logon Script) позволяет автоматически монтировать сетевые папки в виде букв дисков (например, диск Z: — Общий диск компании, диск B: — Бухгалтерия) в момент ввода пароля сотрудником.
Симптомы при отсутствии автоматизации:
- Пользователи звонят сисадмину: «У меня пропал диск с документами!».
- Сетевые диски отваливаются после перезагрузки компьютера или смены пароля.
Создание скрипта и его назначение в Active Directory
Шаг 1. Пишем универсальный пакетный файл logon.bat
Откройте Блокнот и напишите безопасный сценарий, который сначала корректно отключает старые зависшие буквы дисков, а затем монтирует актуальные ресурсы:
@echo off
chcp 65001 > nul
:: Отключаем старые диски во избежание конфликтов букв
net use Z: /delete /yes > nul 2>&1
net use Y: /delete /yes > nul 2>&1
:: Подключаем общий диск компании (Z:)
net use Z: \\FileServer\Common /persistent:no
:: Подключаем личную папку пользователя (Y:)
net use Y: \\FileServer\Users$\%USERNAME% /persistent:no
exitСохраните файл под именем logon.bat (тип файла: Все файлы, кодировка ANSI или UTF-8).
Шаг 2. Размещаем файл в системной папке NETLOGON
Папка NETLOGON автоматически реплицируется между всеми контроллерами домена и доступна всем пользователям только для чтения:
- Нажмите
Win + R→ введите сетевой путь\\ваш_домен\NETLOGON(например,\\company.local\netlogon). - Скопируйте ваш файл
logon.batв эту папку.
Шаг 3. Назначаем скрипт пользователю в AD
- Откройте оснастку
dsa.msc(Active Directory - пользователи и компьютеры). - Откройте свойства нужного пользователя → перейдите на вкладку Профиль (Profile).
- В поле Сценарий входа (Logon script) впишите только имя файла:
logon.bat(полный путь указывать не нужно, система сама найдет его в NETLOGON). - Нажмите ОК. При следующем входе в Windows сетевые диски появятся автоматически!
Частые вопросы (FAQ)
Почему параметр /persistent:no лучше, чем :yes?
Параметр persistent:no запрещает Windows запоминать диск намертво. Скрипт будет заново чисто переподключать диски при каждом логине, исключая ошибки 'Имя локального устройства уже используется'.
Как назначить скрипт сразу 100 пользователям?
В оснастке dsa.msc выделите мышкой нужных пользователей с зажатой клавишей Shift, нажмите 'Свойства' -> вкладка 'Профиль' -> установите флажок 'Сценарий входа' и введите logon.bat.
Почему в современных сетях рекомендуют использовать Group Policy Preferences (GPP) вместо .bat файлов?
GPP (Настройки групповых политик / Сопоставление дисков) настраивается визуально через gpmc.msc, работает быстрее и позволяет подключать диски на основе членства в группах безопасности (Targeting) без написания кода.
Что означает переменная %USERNAME% в скрипте?
Это встроенная системная переменная Windows, которая автоматически подставляет логин текущего вошедшего сотрудника.