Утилита для ввода ПК в домен Active Directory
Простая, надёжная, user-friendly
ADloader — портативная Windows-утилита для быстрого ввода компьютера в домен Active Directory. Разработана для IT-специалистов, которым нужен простой и надёжный инструмент без лишней сложности.
- 🔗 Ввод ПК в домен одним кликом
- 👤 Автоматическая проверка существования пользователя в AD
- ➕ Создание нового пользователя (с подтверждением) если не найден
- 📋 Встроенный лог-вьюер — каждый шаг виден в реальном времени
- 📁 Файловое логирование в
%APPDATA%/ADloader/logs/ - 🔄 Перезагрузка одной кнопкой после успешного ввода
- 🛡️ Автоматический запрос прав администратора (UAC)
- 🔍 Предварительные проверки: права админа, сеть, DNS
- Скачайте
ADloader.UI.WPF.exeиз Releases - Запустите файл (UAC запросит права автоматически)
- Заполните три поля: Домен, Логин, Пароль
- Нажмите «Подключить к домену»
- После успеха — нажмите «Перезагрузить»
Примечание: .NET Runtime НЕ требуется — всё включено в один EXE-файл.
# Клонировать репозиторий
git clone https://github.com/YOUR_USERNAME/ADloader.git
cd ADloader
# Запуск (требуется .NET 8 SDK)
dotnet run --project ADloader.UI.WPF
# Или собрать один EXE
dotnet publish ADloader.UI.WPF -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o ./publish| Параметр | Требование |
|---|---|
| ОС | Windows 10 / Windows 11 (все сборки) |
| Архитектура | x64 |
| Права | Администратор (запрашиваются автоматически) |
| Сеть | Подключение к сети с доступом к контроллеру домена |
| .NET Runtime | Не требуется (self-contained) |
Проект построен по принципам Clean Architecture и MVVM:
ADloader/
├── ADloader.Domain/ # Модели и интерфейсы (0 зависимостей)
│ ├── Models/
│ │ └── DomainJoinRequest.cs
│ └── Interfaces/
│ ├── IActiveDirectoryService.cs
│ └── IDomainJoinService.cs
├── ADloader.Application/ # Бизнес-логика (Use Cases)
│ ├── Common/
│ │ └── Result.cs
│ └── UseCases/
│ └── JoinDomainUseCase.cs
├── ADloader.Infrastructure/ # Реализации (AD + Win32 API)
│ ├── Services/
│ │ ├── ActiveDirectoryService.cs
│ │ └── DomainJoinService.cs
│ └── Logging/
│ └── FileLoggerProvider.cs
└── ADloader.UI.WPF/ # Интерфейс (WPF + MVVM)
├── MainWindow.xaml
├── ViewModels/
│ └── MainViewModel.cs
└── App.xaml.cs
graph TD
UI["🖥️ UI (WPF)"] --> App["⚙️ Application"]
UI --> Infra["🔧 Infrastructure"]
App --> Domain["📦 Domain"]
Infra --> Domain
Infra --> App
Infra -->|P/Invoke| Win32["🪟 netapi32.dll"]
Infra -->|System.DirectoryServices| AD["🏢 Active Directory"]
| Компонент | Технология |
|---|---|
| Framework | .NET 8.0 |
| UI | WPF + MVVM |
| MVVM Toolkit | CommunityToolkit.Mvvm |
| DI | Microsoft.Extensions.DependencyInjection |
| AD | System.DirectoryServices.AccountManagement |
| Domain Join | Win32 P/Invoke (NetJoinDomain) |
| Logging | Microsoft.Extensions.Logging → File + UI |
| Проблема | Решение |
|---|---|
| «Отказано в доступе» | Убедитесь, что учётная запись имеет права на ввод ПК в домен |
| «Домен не найден» | Проверьте FQDN домена (например: corp.domain.local) |
| «Контроллер домена недоступен» | Проверьте сетевое подключение и настройки DNS |
| «Неверный пароль» | Проверьте правильность логина и пароля |
| «Компьютер уже в домене» | ПК уже состоит в этом домене, повторный ввод не нужен |
| Нет UAC-запроса | Запустите EXE правой кнопкой → «Запуск от имени администратора» |
📂 Подробные логи: %APPDATA%\ADloader\logs\
MIT © OneDeadMachine
Made with ❤️ by OneDeadMachine