pydsinternals - A Python native library containing necessary classes, functions and structures to interact with Windows Active Directory.

Overview



pydsinternals - Directory Services Internals Library

MIT License PyPI - Python Version PyPI Build Status

A Python native library containing necessary classes, functions and structures to interact with Windows Active Directory.

Installation

python3 -m pip install dsinternals

Contributing

Pull requests are welcome. Feel free to open an issue if you want to add other features.

Credits

This code base was heavily inspired by MichaelGrafnetter's DS Internals library.

References

You might also like...
A repository containing several general purpose Python scripts to automate daily and common tasks.

General Purpose Scripts Introduction This repository holds a curated list of Python scripts which aim to help us automate daily and common tasks. You

Astvuln is a simple AST scanner which recursively scans a directory, parses each file as AST and runs specified method.

Astvuln Astvuln is a simple AST scanner which recursively scans a directory, parses each file as AST and runs specified method. Some search methods ar

A utility that makes it easy to work with Python projects containing lots of packages, of which you only want to develop some.

Mixed development source packages on top of stable constraints using pip mxdev [mɪks dɛv] is a utility that makes it easy to work with Python projects

A work in progress box containing various Python utilities

python-wipbox A set of modern Python libraries under development to simplify the execution of reusable routines by different projects. Table of Conten

Python Classes Without Boilerplate

attrs is the Python package that will bring back the joy of writing classes by relieving you from the drudgery of implementing object protocols (aka d

A simple python script to generate an iCalendar file for the university classes.
A simple python script to generate an iCalendar file for the university classes.

iCal Generator This is a simple python script to generate an iCalendar file for the university classes. Installation Clone the repository git clone ht

Allows you to canibalize methods from classes effectively implementing trait-oriented programming

About This package enables code reuse in non-inheritance way from existing classes, effectively implementing traits-oriented programming pattern. Stor

Helpful functions for use alongside the rich Python library.

🔧 Rich Tools A python package with helpful functions for use alongside with the rich python library. 󠀠󠀠 The current features are: Convert a Pandas

A simple and easy to use collection of random python functions.

A simple and easy to use collection of random python functions.

Comments
  • Why `DateTime` dependency?

    Why `DateTime` dependency?

    Why do you need the DateTime module instead of the builtin datetime? And especially when you don't use it and overrides it with your own DateTime class... 😅

    https://github.com/p0dalirius/pydsinternals/blob/69ff94b91b4cbf03df4ea0d3231d898781a0382f/requirements.txt#L2

    The DateTime module specifically states that it probably shouldn't be used in most cases:

    This package provides a DateTime data type, as known from Zope. Unless you need to communicate with Zope APIs, you're probably better off using Python's built-in datetime module.

    opened by bastantoine 1
  • Catch OverflowError in KeyCredential

    Catch OverflowError in KeyCredential

    During a test I've used Pywhisker to list msKey credential attributes and this library threw an error on the KeyCreationTime. This pull requests catches this error for this specific key. And this solves the problem I had with Pywhisker.

    opened by mwgielen 0
  • Pythonic improvements on the tests

    Pythonic improvements on the tests

    Improved a bit the tests, especially how they are launched:

    • Used unittests.main() instead of instantiating the class and running the tests one by one. This basically is the same, but a bit more pythonic
    • Used __init__.py files to be able to use absolute imports in the tests files instead of using a symlink
    opened by bastantoine 0
  • KeyCredential Timestamp - OverflowError: date value out of range

    KeyCredential Timestamp - OverflowError: date value out of range

    Hello, while using the tool pywhisker I was able to retrieve credential information from an AD environment. There are two credentials linked to the account in question and for both the following Traceback is thrown:

    Traceback (most recent call last): File "/home/unprivileged/tools/pywhisker/pywhisker.py", line 824, in main shadowcreds.list() File "/home/unprivileged/tools/pywhisker/pywhisker.py", line 320, in list keyCredential = KeyCredential.fromDNWithBinary(DNWithBinary.fromRawDNWithBinary(dn_binary_value)) File "/usr/local/lib/python3.9/dist-packages/dsinternals-1.2.4-py3.9.egg/dsinternals/common/data/hello/KeyCredential.py", line 233, in fromDNWithBinary _KeyCreationTime = ConvertFromBinaryTime(entry["data"], _KeySource, _Version) File "/usr/local/lib/python3.9/dist-packages/dsinternals-1.2.4-py3.9.egg/dsinternals/Utils.py", line 61, in ConvertFromBinaryTime return DateTime(timeStamp) File "/usr/local/lib/python3.9/dist-packages/dsinternals-1.2.4-py3.9.egg/dsinternals/system/DateTime.py", line 31, in init self.Value = datetime.datetime(1601, 1, 1, 0, 0, 0) + datetime.timedelta(seconds=ticks / 1e7) OverflowError: date value out of range [!] date value out of range

    It seems the date is out of range, do you know by any chance how such a date could be included in the binary or how I could troubleshoot the issue?

    Thanks a lot!

    opened by sro-nviso 0
Releases(1.2.4)
  • 1.2.4(Aug 1, 2021)

  • 1.2.3(Jul 29, 2021)

    First release of the library !

    Currently implemented :

    dsinternals.common.cryptography.RSAKeyMaterial
    dsinternals.common.cryptography.X509Certificate2
    dsinternals.common.data.DNWithBinary
    dsinternals.common.data.hello.CustomKeyInformation
    dsinternals.common.data.hello.CustomKeyInformationVolumeType
    dsinternals.common.data.hello.KeyCredential
    dsinternals.common.data.hello.KeyCredentialEntryType
    dsinternals.common.data.hello.KeyCredentialVersion
    dsinternals.common.data.hello.KeyFlags
    dsinternals.common.data.hello.KeySource
    dsinternals.common.data.hello.KeyStrength
    dsinternals.common.data.hello.KeyUsage
    dsinternals.system.DateTime
    dsinternals.system.Guid
    dsinternals.Utils
    
    Source code(tar.gz)
    Source code(zip)
    dsinternals-1.2.3-py3-none-any.whl(26.97 KB)
Owner
Podalirius
Security Researcher
Podalirius
An okayish python script to generate a random Euler circuit with given number of vertices and edges.

Euler-Circuit-Test-Case-Generator An okayish python script to generate a random Euler circuit with given number of vertices and edges. Executing the S

Alen Antony 1 Nov 13, 2021
Manage your exceptions in Python like a PRO

A linter to manage all your python exceptions and try/except blocks (limited only for those who like dinosaurs).

Guilherme Latrova 353 Dec 31, 2022
Finds price floor for every single attribute in a given collection

Solana Solanart Scanner Enjoy the Free Code Steps to run Download VS Code

Dalton Nisbett 19 Oct 20, 2022
ZX Spectrum Utilities: (zx-spectrum-utils)

Here are a few utility programs that can be used with the zx spectrum. The ZX Spectrum is one of the first home computers from the early 1980s.

Graham Oakes 4 Mar 07, 2022
A module for account creation with python

A module for account creation with python

Fayas Noushad 3 Dec 01, 2021
Python library to decorate and beautify strings

outputformat Python library to decorate and beautify your standard output 💖 Ins

Felipe Delestro Matos 259 Dec 13, 2022
tade is a discussion/forum/link aggregator application. It provides three interfaces: a regular web page, a mailing list bridge and an NNTP server

tade is a discussion/forum/link aggregator application. It provides three interfaces: a regular web page, a mailing list bridge and an NNTP server

Manos Pitsidianakis 23 Nov 04, 2022
Search, generate & deliver Msfvenom payloads in an quick and easy way

Goal Search, generate & deliver payloads in an quick and easy way Be as simple as possible BUT with all msfvenom payloads. Ever lost time searching th

2 Mar 03, 2022
A thing to simplify listening for PG notifications with asyncpg

asyncpg-listen This library simplifies usage of listen/notify with asyncpg: Handles loss of a connection Simplifies notifications processing from mult

ANNA 18 Dec 23, 2022
Find version automatically based on git tags and commit messages.

GIT-CONVENTIONAL-VERSION Find version automatically based on git tags and commit messages. The tool is very specific in its function, so it is very fl

0 Nov 07, 2021
New time-based UUID formats which are suited for use as a database key

uuid6 New time-based UUID formats which are suited for use as a database key. This module extends immutable UUID objects (the UUID class) with the fun

26 Dec 30, 2022
Application for easy configuration of swap file and swappiness priority in slackware and others linux distributions.

Swap File Program created with the objective of assisting in the configuration of swap file in Distributions such as Slackware. Required packages: pyt

Mauricio Ferrari 3 Aug 06, 2022
Give you a better view of your Docker registry disk usage.

registry-du Give you a better view of your Docker registry disk usage. This small tool will analysis your Docker registry(vanilla or Harbor both work)

Nova Kwok 16 Jan 07, 2023
Cleaning-utils - a collection of small Python functions and classes which make cleaning pipelines shorter and easier

cleaning-utils [] [] [] cleaning-utils is a collection of small Python functions

4 Aug 31, 2022
NFT-Generator is the best way to generate thousands of NFTs quick and easily with Python.

NFT-Generator is the best way to generate thousands of NFTs quick and easily with Python. Just add your files, set your configuration and run the scri

78 Dec 27, 2022
Grank is a feature-rich script that automatically grinds Dank Memer for you

Grank Inspired by this repository. This is a WIP and there will be more functions added in the future. What is Grank? Grank is a feature-rich script t

42 Jul 20, 2022
Python module and its web equivalent, to hide text within text by manipulating bits

cacherdutexte.github.io This project contains : Python modules (binary and decimal system 6) with a dedicated tkinter program to use it. A web version

2 Sep 04, 2022
Cardano Stakepools: Check for scheduled blocks in current epoch.

ReLeaderLogs For Cardano Stakepool Operators: Lightweight Scheduled Blocks Checker for Current Epoch. No cardano-node Required, data is taken from blo

SNAKE (Cardano Stakepool) 2 Oct 19, 2021
Shut is an opinionated tool to simplify publishing pure Python packages.

Welcome to Shut Shut is an opinionated tool to simplify publishing pure Python packages. What can Shut do for you? Generate setup files (setup.py, MAN

Niklas Rosenstein 6 Nov 18, 2022
✨ Un générateur de mot de passe aléatoire totalement fait en Python par moi, et en français.

Password Generator ❗ Un générateur de mot de passe aléatoire totalement fait en Python par moi, et en français. 🔮 Grâce a une au module random et str

MrGabin 3 Jul 29, 2021