Qt-based GUI application for Active Directory management, replicating core functions of Microsoft RSAT "Users and Computers" and "Group Policy Management"
  • C++ 74.6%
  • C 24.4%
  • CMake 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Artyom V. Poptsov b47e540c78
refactor(adldap/ad_interface): add a new procedure
* src/adldap/ad_interface.cpp (value_to_list): New procedure.
(attribute_replace_value): Use it.
2026-09-04 15:28:18 +03:00
.gear feat (icon_manager): add multiple ad-integration themes support 2026-09-02 19:30:00 +04:00
cmake cmake: Don't abort when clang-format is not available 2023-02-15 00:58:02 +04:00
debian Fixed package names in install depends 2021-06-04 22:10:27 +02:00
share docs(share): Update ADMC screenshot 2026-06-23 17:09:08 +03:00
src refactor(adldap/ad_interface): add a new procedure 2026-09-04 15:28:18 +03:00
tests fix(tests): fix includes 2026-08-31 12:24:53 +03:00
.clang-format chore(.clang-format): Set ColumnLimit to 80 2026-06-25 11:26:15 +03:00
.gitignore chore: Add doc dir to .gitignore 2026-07-17 07:59:44 +03:00
CHANGELOG.txt 0.24.0-alt1 2026-07-01 20:38:43 +04:00
CHANGELOG_ru.txt 0.24.0-alt1 2026-07-01 20:38:43 +04:00
CMakeLists.txt build: Add doc target to build Doxygen documentation 2026-07-17 07:59:44 +03:00
CONTRIBUTING.md docs(CONTRIBUTING): fix a typo 2026-08-17 15:17:59 +03:00
Doxyfile chore(Doxygen): Add Doxygen config 2026-07-17 07:59:44 +03:00
LICENSE.md Change project license due to linking with Samba parts 2020-11-06 20:32:35 +04:00
README.md docs(README): Add "qt6-translations" to dependencies 2026-06-30 11:04:46 +03:00

ADMC

ADMC (AD Management Center) is a Qt-based GUI application for Active Directory management, replicating core functions of Microsoft RSAT "Users and Computers" and "Group Policy Management".

Dependencies

Required:

Optional build-time dependencies:

  • ClangFormat -- a build-time dependency that is used by the auxiliary clangformat target.
  • Doxygen

ALT distributions

On modern ALT Linux distributions the required dependencies can be installed as follows:

$ su -
$ apt-get update
$ apt-get install \
    ad-integration-themes \
    libcng-dpapi-devel \
    libgkdi-devel \
    libkrb5-devel \
    libldap-devel \
    libsasl2-devel \
    libsasl2-plugin-gssapi \
    libsmbclient-devel \
    libuuid-devel \
    qt6-base-devel \
    qt6-linguist \
    qt6-qtbase \
    qt6-svg \
    qt6-tools-devel \
    qt6-translations \
    samba-devel

Building

Getting the ADMC sources

git clone https://github.com/altlinux/admc
cd admc

Manual building

Once dependencies are installed, ADMC can be built by running the following commands in the cloned repository:

$ mkdir build
$ cd build
$ cmake ..
$ make -j$(nproc)

Building RPM packages with Gear

Alternatively ADMC can be built as a set of RPM packages with the help of Gear:

$ gear-rpm -ba

This gear-rpm command produces the following RPM files in ~/RPM/ directory (where <version> is the current ADMC version):

  • ~/RPM/SRPMS/admc-<version>-alt1.x86_64.rpm -- source code package.
  • ~/RPM/RPMS/x86_64/admc-<version>-alt1.x86_64.rpm -- compiled ADMC binaries.
  • ~/RPM/RPMS/x86_64/admc-test-<version>-alt1.x86_64.rpm -- unit tests.
  • ~/RPM/RPMS/x86_64/admc-debuginfo-<version>-alt1.x86_64.rpm -- debug information for ADMC.
  • ~/RPM/RPMS/x86_64/admc-test-debuginfo-<version>-alt1.x86_64.rpm -- debug information for unit tests.

Source code auto-formatting

You can also format the sources by building clangformat target after cmake is run, for example:

$ make -C build clangformat

Usage

This application requires a working Active Directory domain and for the client machine to be connected and logged into the domain. You can find articles about these topics on ALTLinux wiki.

Launch ADMC from the build directory:

$ ./admc

Testing

Tests also require a domain and a connection to the domain.

Launch tests from the build directory:

$ ./admc-test

Contributing

See CONTRIBUTING.md file for contributing guidelines.

Screenshots

image