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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for padc-1.0.tar.gz
Algorithm Hash digest
SHA256 f3472f8b01247e4b1032c0e66eb1b46b9c2cb61627a13a1d951361b7af49e7f3
MD5 6cee8b71550d9c9e714707e569485539
BLAKE2b-256 a7c1e2d8ddabe77f353c618a223937554772b637a046e673090125461d4129e0

See more details on using hashes here.

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

Hashes for padc-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5eda633ee88e69879cab7c0a5d03cf054b31252f4a4a0b9c54b3af0a46886716
MD5 2c2ce57ad240606d4d719666698922c6
BLAKE2b-256 34a6c9fe9229bbb1e8ec8de42240f86d922c790c26ad5e430ea8daf0faa2b80c

See more details on using hashes here.

Supported by

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