Wiki source code of Инструкция по использованию программы "Массовое обновление пользователей Active Directory"
Version 1.2 by root_xwiki on 2025/10/30 07:10
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | |
| 2 | |||
| 3 | ---- | ||
| 4 | |||
| |
1.2 | 5 | = Инструкция по использованию программы "Массовое обновление пользователей Active Directory" |
| 6 | = | ||
| |
1.1 | 7 | |
| |
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 | |||
| 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 | |||
| |
1.1 | 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. Используйте с осторожностью и только при наличии соответствующих прав доступа. |