Version 1.2 by root_xwiki on 2025/10/30 07:10

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