python active directory cli using python-ldap lib
Project description
padc
cli using python-ldap lib to create connections with Active Directory this project use poetry
Setup for development
create virtual environment
python -m venv .venv
activate environment
poetry shell
install padc
poetry install
Create .env file inside root directory to establish a ldap connection
.env
URI='ldap://192.168.0.213'
BIND_DN='administrator@rts.local'
AUTH_PASS='Mypasswd@123'
CA_PATH=''
BASE_DN='DC=RTS,DC=LOCAL'
padc has logging_settings.ini inside padc/config
[loggers]
keys = root
[handlers]
keys = FileHandler,StreamHandler
[formatters]
keys = simpleFormatter
[logger_root]
level = DEBUG
handlers = FileHandler,StreamHandler
[handler_FileHandler]
class = FileHandler
formatter = simpleFormatter
args = ('padc.log', 'a')
[handler_StreamHandler]
class = StreamHandler
formatter = simpleFormatter
args = (sys.stdout,)
[formatter_simpleFormatter]
format = %(asctime)s:%(levelname)s: %(message)s
Install padc from pypi
pip install padc
You can modify where log file will be created by editing logging_settings.ini the default file is created at current directory with name 'padc.log'
Running
cli written in Typer to manipulate operations in AD
padc --help
users is the main subcommand, every subcommand has a helper option
pacd users --help
padc has in users subcommand some basic operations
if one of the supported operations run with --debug option
when errors occurs the traceback and exception will be raised.
exp:
padc users create -f .env "Pingu pythonico" "Pingupassword@123" -c 514 --debug
padc users create-ldif -f .env --ldif example.ldif
padc users add-to-group --file .env "Pingu" "CN=testgroup,CN=Users,DC=RTS,DC=LOCAL" --debug
padc users remove-from-group --file .env "Pingu" "CN=testgroup,CN=Users,DC=RTS,DC=LOCAL"
padc users delete --file .env "Pingu pythonico"
padc users enable -f .env "Pingu" --debug
padc users disable "Pingu" --debug
Testing
Simple Unittest to create/delete/modify user account in AD
python -m unittest -v tests.test_msad
Building
poetry build
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file padc-1.0.tar.gz.
File metadata
- Download URL: padc-1.0.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.10.9 Linux/6.1.12-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3472f8b01247e4b1032c0e66eb1b46b9c2cb61627a13a1d951361b7af49e7f3
|
|
| MD5 |
6cee8b71550d9c9e714707e569485539
|
|
| BLAKE2b-256 |
a7c1e2d8ddabe77f353c618a223937554772b637a046e673090125461d4129e0
|
File details
Details for the file padc-1.0-py3-none-any.whl.
File metadata
- Download URL: padc-1.0-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.10.9 Linux/6.1.12-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5eda633ee88e69879cab7c0a5d03cf054b31252f4a4a0b9c54b3af0a46886716
|
|
| MD5 |
2c2ce57ad240606d4d719666698922c6
|
|
| BLAKE2b-256 |
34a6c9fe9229bbb1e8ec8de42240f86d922c790c26ad5e430ea8daf0faa2b80c
|