A Python application to handle Active Directory tasks
Explore the docs »
·
Report Bug
·
Request Feature
Table of Contents
Active Directory Automate is a sophisticated application designed to streamline the process of user management within Active Directory (AD). Born out of the necessity to eliminate the repetitive and manual task of creating AD users, this tool stands as a testament to the power of automation in the IT administration field.
At the heart of Active Directory Automate is its ability to create and manage SQL databases that serve as the repository for user information. With functionality that enables you to add, edit, and modify user details, the application seamlessly synchronizes this data with Active Directory, ensuring a synchronized and up-to-date user management system.
The principal aim of this project is to significantly reduce the administrative overhead associated with managing thousands of users in Active Directory
- Launching the Application:
- Critical Note: The executable (EXE) file must be launched directly on the Windows Server machine where Active Directory services are hosted. This is essential for the tool to function correctly and securely interact with Active Directory.
- Do not attempt to run the executable from client machines. Doing so may result in improper functionality and security risks.
- Performing Tasks:
- After launching the application on the server, follow the on-screen instructions to perform various Active Directory management tasks.
- Security and Compliance: Ensure that you have the necessary permissions and comply with your organization's IT policies when using this tool on the server.
- Record Management
- PowerShell Commands
- Python Commands
- Database Storing
- Organisation Unit Management
- Auto Filling
- Description: Creates a new user record in the application with the details provided in the input fields.
- Usage: Complete the input fields under 'Record' and click this button to save a new record.
- Description: Modifies an existing user record.
- Usage: After editing details in the 'Record' section, click this button to apply the updates.
- Description: Clears all the input fields in the 'Record' section.
- Usage: Click this to reset the form and prepare for new input.
- Description: Automatically reassigns IDs to all records in the database to maintain a sequential order.
- Usage: Use this button to reorganize the ID sequence after record deletions.
- Description: Scans the database for duplicate records and removes them.
- Usage: Click this button to clean up the database by removing duplicates.
- Description: Deletes the selected user record from the database.
- Usage: Select a record and use this button to permanently delete it from the database.
- Description: Deletes all records from the database.
- Usage: Use this with caution; it will completely empty the database of user records.
- Description: Synchronizes the current database entries with Active Directory. The selected databsse in the DataBase Storing section will be synchronized.
- Usage: Click this to update Active Directory with the information from the application database.
- Description: Opens the script used for database synchronization for editing.
- Usage: Click this if you need to modify the PowerShell script parameters or behavior.
- Description: Initiates a prompt to change the password for a single or multiple selected users from the database then synchronize the changes to Active Directory.
- Usage: Select one or many user(s) and click this to begin the password change process.
- Description: Makes the account of the selected user(s) Enable if Disable and Disable if Enable.
- Usage: Select one or many user(s) and click this to begin the enable/disable account process.
- Description: Inserts a placeholder record with generated information into the database.
- Usage: Click this to add a single dummy record for testing or demonstration purposes.
- Description: Generates and adds multiple placeholder records to the database.
- Usage: Click this to insert a batch of dummy records.
- Description: Exports the entire database to a CSV file named 'database_name'-YYYYMMDD-HH-MM-SS.
- Usage: Use this button to create a CSV backup or for data analysis purposes.
- Description: Imports records into the database from a CSV file.
- Usage: Click this and select a CSV file to upload and add records from it to the database.
- Description: Initializes a new, empty database for storing user records.
- Usage: Click this to set up a fresh database, typically used when starting from scratch.
- IMPORTANT: Place the database at the root of the application.
- Description: Opens a file dialog to explore and manage the database files.
- Usage: Use this to locate and open an existing database file.
- Detail: Copies the selected database at the root of the application.
- Description: Creates a backup copy of the current database and name it 'database_name'-YYYYMMDD-HH-MM-SS.
- Usage: Click this to ensure you have a recent backup of your user data.
- Description: Allows the selection of an organizational unit from Active Directory to manage.
- Usage: Click to display and select from available organizational units.
- Description: Initiates a prompt to set up an existing organizational unit path in order to synchronize with Active Directory.
- Usage: Click this after specifying the details to create a new organizational path.
- Description: Scans Active Directory to find the Organizational Units (OUs) where users are already present.
- Usage: Click this button to perform a search in Active Directory and retrieve a list of OUs that contain user accounts. This can be useful for auditing purposes or to ensure users are correctly organized within AD.
- Expected Outcome: After scanning, the application will display the OUs along with associated user details from Active Directory.
- Description: Automatically generates and fills in an address for the selected record.
- Usage: Select a user record and click this to populate the address fields.
- Description: Constructs and fills in the SAM account name for a user based on the domain.
- Usage: With a user record selected, click this to auto-generate the SAM account name.
Install pyintaller
pip install pyinstaller
Generate the standalone app
pyinstaller --onefile your_script_name.py
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU GENERAL PUBLIC LICENSE. See LICENSE.txt
for more information.