Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

padc-1.0.tar.gz (9.8 kB view hashes)

Uploaded Source

Built Distribution

padc-1.0-py3-none-any.whl (12.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page