Development of a simple Active Directory - Student Management System in Python for teaching purposes. It is assumed that a pupil is exactly in one school class.
Supports
- Import of students with their classes from csv file
- Removal of former students and classes
Includes:
- Simple CLI based UI
- VBScripts for installing prerequisits on file server and domain controller
- Install a Windows Domain Controller and if required a file server and a Windows Client
- Install Python on the computer on which you want to run this student management software.
- Download and unzip or clone the software from Github.
- Navigate to downloaded and unzipped or cloned folder
- Use the package manager [pip](https://pip.pypa.io/en/stable/) to install requirements.
pip install -r requirements.txt
- Copy or rename settings-template.py to settings.py and enter the appropriate data of your domain.
- Edit VBScript vbScripts\installPrerequisitesDC.vbs, specify your domain name and run the script as the domain administrator on the domain controller.
- Run VBScript vbScripts\installPrerequisitesFS.vbs as the domain administrator on the file server.
- Edit students login VBScript vbScripts\studentsLogon.vbs, specify your domain and your file server names.
- Create GPO StudentsLogonPolicy on OU Students.
- Edit this GPO, navigate to User Configuration > Policies > Windows Settings > Scripts (Logon/Logoff)
- Double-click Logon in the right pane and click Show files. A folder whose name ends in User\Scripts\Logon\ is displayed.
- Copy your logon script files into this folder.
- In the Logon Properties window, click Add.
- Click Browse to open the logon script directory, then select your logon script file and click OK.
- Verify that the logon script now appears in the list on the Logon Properties window.
- Close the Group Policy Management Editor window for your GPO, then close the Group Policy Management window.
python importStudents.py [path to csv import file]
Example:
python importStudents.py import/students.csv
Start the test program with unit tests
testImportStudents.py
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.