Единый логон-скрипт для AD
Моя попытка навести порядок и унификацию при подключении сетевых дисков в AD.
Возможна работа как через индивидуальные групповые политики, так и через политику AD по-умолчанию.
Идея состоит в следующем: храним описание вариантов подключений в текстовых файлах, с указанием группы для которой это работает, и анализируем при запуске грeппы конкретного пользователя с использованием dsget и dsquery.
Структура хранимых описаний такова: групповые и общедоменные назначачения хранятся в едином файле расположенном в корне NETLOGON(возможны варианты), а пользовательские назначения располагаются в папках с пользовательским именем входа в систему.
Также в отдельных файлах храним описание запускаемых скриптов для групп и пользователей.
Цель - получить прозрачный и универсальный алгоритм входа в систему единый как для обычного входа, так и для терминального, без черезмерного усложнения групповых политик.
Структура решения:
\dsget.exe - файл из RK для получения списка групп пользователя
\dsquery.dll- файл из RK для получения списка групп пользователя
\dsquery.exe- файл из RK для получения списка групп пользователя
\logon.cmd - собственно тело скрипта
\logon.vbs - костыль для запуска без отображения окна консоли - именно он должен быть назначен в качестве логон скрипта
\rs_list.txt - список групповых и общедоменных назначений подключаемых дисков с указанием группы
\sc_list.txt - список групповых и общедоменных назначений выполняемых скриптов с указанием группы
\_SCRIPT\ - папка с групповыми и общедоменными скриптами
\_SCRIPT\1C.cmd - пример скрипта
\USER1\rs_list.txt- список назначений подключаемых дисков для конкретного пользователя(без указания группы)
\USER1\sc_list.txt- список назначений выполняемых скриптов для конкретного пользователя(без указания группы)
\USER2\rs_list.txtсписок назначений подключаемых дисков для конкретного пользователя(без указания группы)
\USER2\sc_list.txt- список назначений выполняемых скриптов для конкретного пользователя(без указания группы)
Прикрепляю файл с телом скрипта и тестовой структурой.
Приветствуются пожелания по доработке ;)
Добавил ключ рекурсивного анализа вхождения в группы.
И на всякий случай тело скрипта в текстовом виде:
@ECHO OFF :: Буквы дисков зарезервированные под пользовательские сетевые подключения SET "EXLUDE_LETTER=D: E: F: J: H: I: J:" "%~dp0dsquery.exe" user -d "%USERDOMAIN%" -samid "%USERNAME%"|^ %~dp0dsget.exe user -memberof |findstr /I /C:"CN=Domain Users,"&&( :: Удаление текущих сетевых подключений FOR /F "usebackq tokens=2 delims= " %%a IN (`net use^|find ":"^|find "\\"^|FINDSTR /V /I "%EXLUDE_LETTER%"`) DO ( 1>NUL 2>&1 NET USE /DELETE %%a) :: Добавление групповых сетевых подключений IF EXIST "%~dp0rs_list.txt" ( FOR /F "usebackq tokens=1,2,3 eol=; delims=|" %%a IN (`TYPE "%~dp0rs_list.txt"^|FIND "\\"`) DO ( "%~dp0dsquery.exe" user -d "%USERDOMAIN%" -samid "%USERNAME%"|^ %~dp0dsget.exe user -memberof -expand |1>NUL 2>&1 findstr /I /C:"CN=%%~c,"&&( 1>NUL 2>&1 NET USE %%a: %%b /PERSISTENT:NO))) :: Выполнение групповых скриптов IF EXIST "%~dp0sc_list.txt" ( FOR /F "usebackq tokens=1,2 eol=; delims=|" %%a IN (`TYPE "%~dp0sc_list.txt"^|FINDSTR /I ".cmd .bat"`) DO ( "%~dp0dsquery.exe" user -d "%USERDOMAIN%" -samid "%USERNAME%"|^ %~dp0dsget.exe user -memberof -expand |1>NUL 2>&1 findstr /I /C:"CN=%%~b,"&&( IF EXIST "%~dp0%%~a" CALL "%~dp0%%~a"))) :: Добавление пользовательских сетевых подключений IF EXIST "%~dp0%USERNAME%\rs_list.txt" ( FOR /F "usebackq tokens=1,2 eol=; delims=|" %%a IN (`TYPE "%~dp0%USERNAME%\rs_list.txt"^|FIND "\\"`) DO ( 1>NUL 2>&1 NET USE %%a: %%b /PERSISTENT:NO)) :: Выполнение пользовательских скриптов IF EXIST "%~dp0%USERNAME%\sc_list.txt" ( FOR /F "usebackq tokens=1 eol=; delims=|" %%a IN (`TYPE "%~dp0%USERNAME%\sc_list.txt"^|FIND /I ".cmd"`) DO ( IF EXIST "%~dp0%%~a" CALL "%~dp0%%~a")) ) EXIT 0
Вложение | Размер |
---|---|
logon_script.7z | 143.77 КБ |
- Блог пользователя yurkesha
- Версия для печати
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Похожие материалы по этой теме на сайте
Содержимое | |
---|---|
Интерпретатор CMD - вывод переменных со спецсимволами на экран и в файл |
Известная, но слабоосвещенная тема - обработка в коммандном интерпретаторе CMD данных со спецсимволами. |
Скрипты для CMD |
Скрипты выполняемые интерпретатором CMD.EXE - стандартной консольной оболочкой для Win2000/WinXP/Vista/Seven/Win8/Win2000 Server/Win2003/Win2008. |
Страховое копирование по списку |
Относительно простой вариант резервного копирования по списку файлов/папок с учетом типа резервной копии и количества хранимых копий по типам. Классические типы: дневная-недельная-месячная-годовая копии. Кодировка скрипта CP866.... |
Преобразование файлов 1CClientBankExchange в табличную форму |
Лично мне периодически приходилось сталкиваться с обработкой данных не в табличной форме, а в "именованном формате" то есть когда каждый параметр пишется на отдельной строке в виде Параметр=Значение параметра причем файл... |
Чтение данных из реестра в переменную окружения |
Продвинутый кросплатформенный модуль для встраивания в скрипты, позволяющий в удобной форме получать данные из реестра для дальнейшего использования(как всегда - кодировка скрипта CP866): |
Перевод столбца в строку |
Преобразование столбца в строку с заданными разделителями и обрамлением. Кодировка скрипта CP866. |
Новости российского отделения корпорации Майкрософт |
Федеральная служба по техническому и экспортному контролю (ФСТЭК) вручила сертификаты для операционных систем Windows 8 и Windows Server 2012. Вот полный список сертифицированных ОС на сегодняшний день: |
Настройка TS Easy Print на сервере терминалов Windows Server 2012 R2 |
Технология TS Easy Print является альтернативой стандартной службе печати, появилась впервые в Windows Server 2008R2. |
Сейчас на сайте
Пользователей онлайн: 0.
Популярное сегодня
- (Y)PE HDD tools edition by yurkesha (WIM)
- Windows PE (Bart's PE) на загрузочной USB-Flash или CD/DVD
- WinPE или о том для чего был создан этот сайт
- RDP Client (WinPE 4.0 x86/x64)
- USB3 драйверпак
- КАПЧА
- Распространяемый через Skype троян превращает компьютер в добытчика Bitcoin-валюты
- Прислали картинку посмотреть
Страницы
Пользователи
- fixer121
- Minja_2024
- MakPol
- mmmeee
- baydat
- Av
- AllaDimm
- eldridge.aahil
- rudmaks
- eakolodkin
Популярное содержимое
- (Y)PE by yurkesha (CD)
- (Y)PE HDD tools edition by yurkesha (WIM)
- Ieshua's Live DVD/USB 2.13
- RDP server, teamviewer, Radmin, VNC or ....???
- образ для загрузки ТК по сети
- Yurkesha (Y)PE (BARTPE&XPE)
- Собираем собственную Live-CD сборку WinPE2.0 на основе Windows 7. Конфигурируем сервер для загрузки образов дискет формата ima.
- Запросы на создание/публикацию плагинов
Комментарии
Класс. Большое спасибо.
Класс. Большое спасибо.
Страницы