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
Python humanize functions

humanize This modest package contains various common humanization utilities, like turning a number into a fuzzy human-readable duration ("3 minutes ag

Jason Moiron 1.6k Jan 01, 2023
A fixture that allows runtime xfail

pytest-runtime-xfail pytest plugin, providing a runtime_xfail fixture, which is callable as runtime_xfail(), to allow runtime decisions to mark a test

Brian Okken 4 Apr 06, 2022
Bounding Boxes Python Utils

Bounding Boxes Python Utils

Vadim 4 May 01, 2022
A BlackJack simulator in Python to simulate thousands or millions of hands using different strategies.

BlackJack Simulator (in Python) A BlackJack simulator to play any number of hands using different strategies The Rules To keep the code relatively sim

Hamid 4 Jun 24, 2022
一款不需要买代理来减少扫网站目录被封概率的扫描器,适用于中小规格字典。

PoorScanner使用说明书 -工具在不同环境下可能不怎么稳定,如果有什么问题恳请大家反馈。说明书有什么错误的地方也大家欢迎指正。 更新记录 2021.8.23 修复了云函数主程序 gitee上传文件接口写错了的BUG(之前把自己的上传地址写死进去了,没从配置文件里读) 更新了说明书 PoorS

14 Aug 02, 2022
Simple code to generate a password for your account!

Password-Generator Simple code to generate a password for your account! Password Generator for passwords for your accounts or anything else! This code

DEEM 1 Jun 05, 2022
A simple Python app that generates semi-random chord progressions.

chords-generator A simple Python app that generates semi-random chord progressions.

53 Sep 07, 2022
Customized python validations.

A customized python validations.

Wilfred V. Pine 2 Apr 20, 2022
A python app which aggregates and splits costs from multiple public cloud providers into a csv

Cloud Billing This project aggregates the costs public cloud resources by accounts, services and tags by importing the invoices from public cloud prov

1 Oct 04, 2022
Regression Metrics Calculation Made easy

Regression Metrics Mean Absolute Error Mean Square Error Root Mean Square Error Root Mean Square Logarithmic Error Root Mean Square Logarithmic Error

Ashish Patel 12 Jan 02, 2023
Animation retargeting tool for Autodesk Maya. Retargets mocap to a custom rig with a few clicks.

Animation Retargeting Tool for Maya A tool for transferring animation data and mocap from a skeleton to a custom rig in Autodesk Maya. Installation: A

Joaen 63 Jan 06, 2023
isort is a Python utility / library to sort imports alphabetically, and automatically separated into sections and by type.

isort is a Python utility / library to sort imports alphabetically, and automatically separated into sections and by type. It provides a command line utility, Python library and plugins for various e

Python Code Quality Authority 5.5k Jan 08, 2023
A simple tool to extract python code from a Jupyter notebook, and then run pylint on it for static analysis.

Jupyter Pylinter A simple tool to extract python code from a Jupyter notebook, and then run pylint on it for static analysis. If you find this tool us

Edmund Goodman 10 Oct 13, 2022
A collection of resources/tools and analyses for the angr binary analysis framework.

Awesome angr A collection of resources/tools and analyses for the angr binary analysis framework. This page does not only collect links and external r

105 Jan 02, 2023
Course-parsing - Parsing Course Info for NIT Kurukshetra

Parsing Course Info for NIT Kurukshetra Overview This repository houses code for

Saksham Mittal 3 Feb 03, 2022
A dictionary that can be flattened and re-inflated

deflatable-dict A dictionary that can be flattened and re-inflated. Particularly useful if you're interacting with yaml, for example. Installation wit

Lucas Sargent 2 Oct 18, 2021
A simple tool to move and rename Nvidia Share recordings to a more sensible format.

A simple tool to move and rename Nvidia Share recordings to a more sensible format.

Jasper Rebane 8 Dec 23, 2022
An awesome tool to save articles from RSS feed to Pocket automatically.

RSS2Pocket An awesome tool to save articles from RSS feed to Pocket automatically. About the Project I used to use IFTTT to save articles from RSS fee

Hank Liao 10 Nov 12, 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
A color library based on pokemons colors!

pokepalette A simple pokemon color chooser " This repo is based on CDWimmer/PokePalette and was originated from this tweet. If you don't remember your

Thomas Capelle 5 Aug 30, 2021