Last modified by root_xwiki on 2025/10/30 07:12

Hide last authors
root_xwiki 1.1 1
2
3 ----
4
root_xwiki 1.2 5 = Инструкция по использованию программы "Массовое обновление пользователей Active Directory"
6 =
root_xwiki 1.1 7
root_xwiki 1.2 8 Вы правы! Вот дополнение к инструкции с разделом установки зависимостей:
9
10 ----
11
12 == 0. Установка программы и зависимостей ==
13
14 == Системные требования ==
15
16 * **Операционная система:** Windows 10/11, Linux, macOS
17 * **Python:** версия 3.7 или выше
18 * **Доступ к сети:** подключение к серверу corp.tcax.ru
19 * **Права:** права администратора домена для полного функционала
20
21 == Шаг 1: Установка Python ==
22
23 Если Python не установлен:
24
25 **Windows:**
26
27 1. Скачайте установщик с [[https:~~/~~/www.python.org/downloads/>>url:https://www.python.org/downloads/]]
28 1. Запустите установщик
29 1. **Важно!** Поставьте галочку "Add Python to PATH"
30 1. Нажмите "Install Now"
31
32 **Linux (Ubuntu/Debian):**
33
34 {{{
35 }}}
36
37 bash
38
39 sudo apt update sudo apt install python3 python3-pip
40
41 **Linux (CentOS/RHEL):**
42
43 {{{
44 }}}
45
46
47 bash
48
49 sudo yum install python3 python3-pip
50
root_xwiki 1.3 51 == Шаг 2: Установка зависимостей
52 \\ ==
root_xwiki 1.2 53
root_xwiki 2.1 54 **Windows:**
root_xwiki 1.2 55
root_xwiki 2.1 56 {{{text}}}
root_xwiki 1.2 57
root_xwiki 2.1 58 pip install PyQt5==5.15.10 pandas==2.1.3 openpyxl==3.1.2 ldap3==2.9.1
root_xwiki 1.2 59
root_xwiki 2.1 60 **Linux/macOS:**
root_xwiki 1.2 61
root_xwiki 2.1 62 {{{bash}}}
63
64 pip3 install PyQt5==5.15.10 pandas==2.1.3 openpyxl==3.1.2 ldap3==2.9.1
65
66 **Или без указания версий (установит последние):**
67
68 {{{bash}}}
69
70 pip install PyQt5 pandas openpyxl ldap3
71
72 **С использованием python -m pip (если pip недоступен напрямую):**
73
74 {{{bash}}}
75
76 python -m pip install PyQt5==5.15.10 pandas==2.1.3 openpyxl==3.1.2 ldap3==2.9.1
77
78 Создайте файл requirements.txt со следующим содержимым:
79
80 {{{text}}}
81
root_xwiki 1.2 82 PyQt5==5.15.10 pandas==2.1.3 openpyxl==3.1.2 ldap3==2.9.1
83
84 Установите зависимости одной командой:
85
86 **Windows:**
87
88 {{{
89 }}}
90
91 text
92
93 pip install -r requirements.txt
94
95 **Linux/macOS:**
96
97 {{{
98 }}}
99
100 bash
101
102 pip3 install -r requirements.txt
103
104 **Или установите пакеты по отдельности:**
105
106 {{{
107 }}}
108
109
110 bash
111
112 pip install PyQt5 pip install pandas pip install openpyxl pip install ldap3
113
114 == Описание зависимостей ==
115
116 |=Библиотека|=Версия|=Назначение
117 |**PyQt5**|5.15.10|Графический интерфейс программы
118 |**pandas**|2.1.3|Работа с Excel файлами и таблицами данных
119 |**openpyxl**|3.1.2|Чтение и запись файлов Excel (.xlsx)
120 |**ldap3**|2.9.1|Подключение и работа с Active Directory
121
122
123
124 == Шаг 3: Проверка установки ==
125
126 Запустите следующую команду для проверки:
127
128 {{{
129 }}}
130
131 bash
132
133 python -c "import PyQt5; import pandas; import openpyxl; import ldap3; print('Все зависимости установлены успешно!')"
134
135 Если команда выполнилась без ошибок - всё готово к использованию!
136
137 == Шаг 4: Запуск программы ==
138
139 **Windows:**
140
141 {{{
142 }}}
143
144 text
145
146 python ad_bulk_update.py
147
148 **Linux/macOS:**
149
150 {{{
151 }}}
152
153 bash
154
155 python3 ad_bulk_update.py
156
157 == Возможные проблемы при установке ==
158
159 == Проблема 1: "pip не является внутренней или внешней командой" ==
160
161 **Решение:**
162
163 {{{
164 }}}
165
166 bash
167
168 python -m pip install -r requirements.txt
169
170 == Проблема 2: Ошибка при установке PyQt5 ==
171
172 **Решение для Linux:**
173
174 {{{
175 }}}
176
177
178 bash
179
180 sudo apt install python3-pyqt5 python3-pyqt5.qtwidgets
181
182 == Проблема 3: Ошибка доступа (Permission denied) ==
183
184 **Решение:**
185
186 {{{
187 }}}
188
189
190 bash
191
192 pip install ~-~-user -r requirements.txt
193
194 == Проблема 4: Конфликт версий ==
195
196 **Решение:** Используйте виртуальное окружение:
197
198 **Windows:**
199
200 {{{
201 }}}
202
203
204 text
205
206 python -m venv venv venv\Scripts\activate pip install -r requirements.txt
207
208 **Linux/macOS:**
209
210 {{{
211 }}}
212
213
214
215 bash
216
217 python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
218
219 == Структура файлов проекта ==
220
221 После установки у вас должны быть следующие файлы:
222
223 {{{
224 }}}
225
226 text
227
228 ad_bulk_update/ ├── ad_bulk_update.py # Основной файл программы ├── requirements.txt # Список зависимостей ├── ad_bulk_update_config.json # Настройки (создается автоматически) ├── ad_columns_config.json # Настройки столбцов (создается автоматически) └── README.md # Данная инструкция
229
230 == Создание исполняемого файла (опционально) ==
231
232 Для создания .exe файла (Windows) без необходимости установки Python:
233
234 1. Установите PyInstaller:
235
236 {{{
237 }}}
238
239
240 bash
241
242 pip install pyinstaller
243
244 1. Создайте исполняемый файл:
245
246 {{{
247 }}}
248
249 bash
250
251 pyinstaller ~-~-onefile ~-~-windowed ~-~-name="AD Bulk Update" ad_bulk_update.py
252
253 1. Готовый файл будет в папке dist/
254
255 ----
256
257 == Быстрый старт (для опытных пользователей) ==
258
259 {{{
260 }}}
261
262 bash
263
264 # Клонирование или создание проекта mkdir ad_bulk_update cd ad_bulk_update # Создание requirements.txt echo "PyQt5==5.15.10 pandas==2.1.3 openpyxl==3.1.2 ldap3==2.9.1" > requirements.txt # Установка зависимостей pip install -r requirements.txt # Копирование файла ad_bulk_update.py (все 3 части кода) # Запуск python ad_bulk_update.py
265
266 ----
267
268 == Обновление зависимостей ==
269
270 Для обновления всех библиотек до последних версий:
271
272 {{{
273 }}}
274
275 bash
276
277 pip install ~-~-upgrade -r requirements.txt
278
279 ----
280
281 **Примечание:** Рекомендуется использовать указанные версии библиотек для обеспечения стабильной работы программы. Более новые версии могут содержать изменения API, которые потребуют модификации кода.
282
root_xwiki 1.1 283 == Параметры подключения к Active Directory ==
284
285 **LDAP сервер:** corp.tcax.ru
286 **Пользователь:** tcax\it_zolotov
287 **Base DN:** OU=TCAX,DC=corp,DC=tcax,DC=ru
288
289 ----
290
291 == 1. Первоначальная настройка ==
292
293 == Шаг 1: Запуск программы ==
294
295 1. Запустите файл ad_bulk_update.py
296 1. Откроется главное окно программы с 4 вкладками
297
298 == Шаг 2: Настройка подключения ==
299
300 1. Перейдите на вкладку **"⚙️ Настройки подключения"**
301 1. (((
302 Заполните параметры подключения:
303
304 * **LDAP сервер:** corp.tcax.ru
305 * **Пользователь:** tcax\it_zolotov
306 * **Пароль:** введите ваш пароль
307 * **Base DN:** OU=TCAX,DC=corp,DC=tcax,DC=ru
308 )))
309
310 == Шаг 3: Проверка подключения ==
311
312 1. Нажмите кнопку **"Проверить подключение"**
313 1. Дождитесь сообщения об успешном подключении
314 1. Нажмите **"💾 Сохранить настройки"** для сохранения параметров
315
316 >**Примечание:** Пароль не сохраняется по соображениям безопасности и должен вводиться каждый раз при запуске программы.
317
318 ----
319
320 == 2. Работа с пользователями AD (ручное редактирование) ==
321
322 == Загрузка пользователей ==
323
324 1. Перейдите на вкладку **"👥 Пользователи AD"**
325 1. (((
326 При необходимости измените LDAP фильтр или используйте быстрые фильтры:
327
328 * **Все пользователи** - загрузить всех пользователей
329 * **Активные** - только активные учетные записи
330 * **Отключенные** - только заблокированные учетные записи
331 )))
332 1. Нажмите **"🔍 Загрузить пользователей из AD"**
333 1. Дождитесь завершения загрузки
334
335 == Настройка отображаемых столбцов ==
336
337 1. Нажмите кнопку **"⚙️ Настроить столбцы"**
338 1. Выберите атрибуты для отображения в таблице
339 1. (((
340 Используйте кнопки:
341
342 * **Выбрать все** - показать все доступные атрибуты
343 * **Снять все** - скрыть все атрибуты
344 * **По умолчанию** - стандартный набор (логин, имя, email, должность, отдел, телефон, табельный номер)
345 )))
346 1. Нажмите **OK** для применения
347
348 == Поиск пользователей ==
349
350 * Используйте поле **"Быстрый поиск"** для фильтрации по любым атрибутам в таблице
351 * Поиск работает в реальном времени
352
353 == Действия с пользователями ==
354
355 == Создание нового пользователя ==
356
357 1. Нажмите **"➕ Создать пользователя"**
358 1. (((
359 Заполните обязательные поля (помечены *):
360
361 * Имя
362 * Фамилия
363 * Логин (только латиница)
364 * Пароль (минимум 8 символов)
365 * OU (путь создания)
366 )))
367 1. При необходимости используйте кнопку **"Сгенерировать пароль"**
368 1. Заполните дополнительные поля (email, должность, отдел и т.д.)
369 1. (((
370 Настройте параметры учетной записи:
371
372 * ✓ Включить учетную запись после создания
373 * ✓ Пароль не истекает
374 * ✓ Требовать смену пароля при входе
375 )))
376 1. Нажмите **OK**
377
378 == Редактирование пользователя ==
379
380 1. Выберите пользователя в таблице (один клик)
381 1. Дважды кликните по строке **ИЛИ** нажмите кнопку **"✏️ Редактировать"**
382 1. В открывшемся окне измените нужные атрибуты
383 1. Счетчик покажет количество изменений
384 1. Нажмите **Save** для сохранения
385
386 == Активация пользователей ==
387
388 1. Выберите одного или нескольких пользователей (удерживайте Ctrl для множественного выбора)
389 1. Нажмите **"✅ Активировать"**
390 1. Подтвердите действие
391 1. Дождитесь завершения операции
392
393 == Блокировка пользователей ==
394
395 1. Выберите одного или нескольких пользователей
396 1. Нажмите **"🚫 Заблокировать"**
397 1. Подтвердите действие
398 1. Дождитесь завершения операции
399
400 == Экспорт пользователей ==
401
402 1. Нажмите **"📊 Экспорт"**
403 1. Выберите место сохранения файла
404 1. Все загруженные пользователи будут экспортированы в Excel со всеми атрибутами
405
406 ----
407
408 == 3. Массовая загрузка из Excel ==
409
410 == Шаг 1: Подготовка Excel файла ==
411
412 Создайте Excel файл со следующей структурой:
413
414 * **Первая строка** - названия столбцов
415 * **Один столбец** должен содержать уникальный идентификатор (логин, email, табельный номер)
416 * **Остальные столбцы** - данные для обновления
417
418 **Пример:**
419
420 |=Логин|=Имя|=Фамилия|=Email|=Должность|=Отдел|=Телефон
421 |ivanov|Иван|Иванов|[[ivanov@tcax.ru>>mailto:ivanov@tcax.ru]]|Инженер|IT-отдел|+7 (123) 456-78-90
422
423
424
425
426
427
428 == Шаг 2: Загрузка файла ==
429
430 1. Перейдите на вкладку **"📊 Массовая загрузка из Excel"**
431 1. В разделе **"Шаг 1"** нажмите **"📂 Выбрать Excel файл"**
432 1. Выберите подготовленный файл
433 1. Проверьте превью данных (первые 10 строк)
434
435 == Шаг 3: Настройка сопоставления ==
436
437 1. (((
438 В разделе **"Шаг 2"** выберите:
439
440 * **Столбец идентификатора** - столбец из Excel с уникальным значением
441 * **Атрибут AD** - по какому атрибуту искать пользователей (обычно sAMAccountName)
442 )))
443 1. (((
444 Настройте сопоставление полей:
445
446 * Нажмите **"🔮 Автосопоставление"** для автоматического сопоставления
447 * (((
448 ИЛИ вручную для каждой строки:
449
450 * Выберите столбец Excel
451 * Выберите соответствующий атрибут AD
452 * Поставьте галочку ✓ для использования
453 )))
454 )))
455 1. (((
456 Используйте кнопки управления:
457
458 * **➕ Добавить поле** - добавить новое сопоставление
459 * **➖ Удалить выбранное** - удалить строку сопоставления
460 * **🗑️ Очистить все** - снять все галочки
461 )))
462
463 == Шаг 4: Проверка ==
464
465 1. Нажмите **"✓ Проверить и подготовить к загрузке"**
466 1. Проверьте информацию о сопоставлении
467 1. Если все корректно - переходите к следующему шагу
468
469 ----
470
471 == 4. Выполнение массового обновления ==
472
473 == Запуск обновления ==
474
475 1. Перейдите на вкладку **"▶️ Выполнение обновления"**
476 1. Проверьте информацию о задаче
477 1. Нажмите **"▶ Выполнить обновление"**
478 1. **ВНИМАНИЕ!** Подтвердите действие - данные в AD будут изменены!
479
480 == Мониторинг процесса ==
481
482 * Прогресс-бар покажет текущий статус выполнения
483 * (((
484 В окне лога отображается информация о каждом пользователе:
485
486 * ✓ Успешно обновлен
487 * ✗ Ошибка обновления
488 * ⚠ Не найден в AD
489 * ⊘ Пропущен
490 )))
491
492 == Экспорт результатов ==
493
494 1. После завершения обновления нажмите **"📊 Экспортировать лог в Excel"**
495 1. Выберите место сохранения
496 1. (((
497 В файле будут содержаться:
498
499 * Идентификатор пользователя
500 * Статус обновления
501 * Описание ошибок (если были)
502 * Список измененных полей
503 )))
504
505 ----
506
507 == 5. Часто используемые атрибуты AD ==
508
509 == Основная информация ==
510
511 * givenName - Имя
512 * sn - Фамилия
513 * displayName - Отображаемое имя
514 * cn - Полное имя
515 * description - Описание
516
517 == Контактная информация ==
518
519 * mail - Email
520 * telephoneNumber - Телефон
521 * mobile - Мобильный телефон
522 * ipPhone - IP телефон
523
524 == Адрес ==
525
526 * streetAddress - Улица
527 * l - Город
528 * st - Область/Регион
529 * postalCode - Почтовый индекс
530
531 == Организационная информация ==
532
533 * title - Должность
534 * department - Отдел
535 * company - Компания
536 * employeeID - Табельный номер
537 * physicalDeliveryOfficeName - Офис
538
539 == Дополнительные атрибуты ==
540
541 * extensionAttribute1-15 - Расширенные атрибуты (для пользовательских данных)
542
543 ----
544
545 == 6. Советы и рекомендации ==
546
547 == Безопасность ==
548
549 1. Всегда делайте **резервную копию** перед массовыми изменениями
550 1. Сначала протестируйте на **небольшой группе** пользователей
551 1. Используйте **экспорт лога** для документирования изменений
552 1. Не сохраняйте пароль в настройках
553
554 == Производительность ==
555
556 1. При загрузке большого количества пользователей используйте **фильтры**
557 1. Настройте **видимые столбцы** для ускорения отображения
558 1. Используйте **быстрый поиск** вместо прокрутки таблицы
559
560 == Устранение проблем ==
561
562 1. (((
563 Если пользователь не найден - проверьте:
564
565 * Правильность идентификатора
566 * Корректность Base DN
567 * Наличие пользователя в указанном OU
568 )))
569 1. (((
570 При ошибках подключения:
571
572 * Проверьте доступность сервера corp.tcax.ru
573 * Убедитесь в правильности учетных данных
574 * Проверьте сетевое подключение
575 )))
576 1. (((
577 При ошибках обновления:
578
579 * Проверьте права доступа учетной записи
580 * Убедитесь в корректности формата данных
581 * Изучите детали ошибки в экспортированном логе
582 )))
583
584 ----
585
586 == 7. Горячие клавиши и быстрые действия ==
587
588 * **Двойной клик** по пользователю - открыть для редактирования
589 * **Ctrl + клик** - множественный выбор пользователей
590 * **Shift + клик** - выбор диапазона пользователей
591 * **Поле быстрого поиска** - фильтрация в реальном времени
592
593 ----
594
595 == Контакты технической поддержки ==
596
597 При возникновении проблем обращайтесь к администратору IT-отдела.
598
599 **Программа разработана для:** TCAX
600 **Версия:** 2.0
601 **Дата:** Октябрь 2025
602
603 ----
604
605 **ВНИМАНИЕ!** Программа вносит изменения в Active Directory. Используйте с осторожностью и только при наличии соответствующих прав доступа.