Build AD Bulk Tool / build (ubuntu-latest, linux-x64, ) (push) Failing after 7m11s
Build AD Bulk Tool / build (ubuntu-latest, win-x64, .exe) (push) Failing after 3m13s
Build AD Bulk Tool / build (macos-latest, osx-arm64, ) (push) Canceled after 0s
Build AD Bulk Tool / build (macos-latest, osx-x64, ) (push) Canceled after 0s
3.0 KiB
3.0 KiB
AD Bulk Tool
Cross-platform Avalonia UI app for bulk Active Directory operations from a CSV file.
Features
- Load a CSV with any column structure
- Auto-discover the AD domain and domain controller via DNS (click Discover or runs on startup)
- Built-in port/connectivity health check (DNS, TCP 389, TCP 636, LDAP bind, LDAPS bind)
- Dry-run mode to validate before making changes
- Actions: enable, disable, add/remove from group, set/force password change
- LDAP 389 for normal edits; LDAPS 636 required for password resets
Download
Pre-built binaries for each platform (no .NET SDK required):
| Platform | File |
|---|---|
| Windows x64 | ADBulkTool-win-x64.exe |
| Linux x64 | ADBulkTool-linux-x64 |
| macOS x64 | ADBulkTool-macos-x64 |
| macOS ARM | ADBulkTool-macos-arm64 |
Grab the latest from Releases.
Build from source
Prerequisites
| Platform | Install |
|---|---|
| Windows | winget install Microsoft.DotNet.SDK.8 |
| Arch-based | sudo pacman -S dotnet-sdk-8.0 |
| Ubuntu / Debian | Register Microsoft repo then sudo apt install dotnet-sdk-8.0 |
| Fedora / RHEL | sudo dnf install dotnet-sdk-8.0 |
| macOS | brew install dotnet-sdk-8.0 |
Run directly
git clone https://gitea.mikisoq.cc/mikisoq/ADBulk.git
cd ADBulk
dotnet restore
dotnet build
dotnet run
Build standalone executables
# All platforms at once (Linux/macOS)
./scripts/publish-all.sh
# All platforms at once (Windows PowerShell)
.\scripts\publish-all.ps1
# Single platform
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true
Output goes to publish/ — a single .exe/binary per platform, no runtime needed.
Quick start
- Launch the app
- Click Discover (or let it auto-detect on startup)
- Enter your AD bind username and password
- Click Test ports + LDAP/LDAPS to verify connectivity
- Load a CSV
- Select the username column and an action
- Run Preview then Dry run before executing
Safety
- Test with a dedicated test OU and test accounts first
- Keep Dry run enabled until you are sure the mapping is correct
- Password reset actions require LDAPS and are blocked on plain LDAP
- Do not use Ignore cert errors in production
LDAPS certificate trust
Linux
# Arch-based:
sudo cp your-root-ca.crt /etc/ca-certificates/trust-source/anchors/
sudo trust extract-compat
# Ubuntu / Debian:
sudo cp your-root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
# Fedora / RHEL:
sudo cp your-root-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust
Windows
If the domain controller certificate is already trusted by the domain, nothing extra is needed. Otherwise, import the root CA into the Trusted Root Certification Authorities store.