Directory Services Internals (DSInternals) PowerShell Module and Framework
Alternatives To Dsinternals
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Dsinternals1,27523a month ago21October 30, 202130mitC#
Directory Services Internals (DSInternals) PowerShell Module and Framework
7 days ago24gpl-3.0JavaScript
🔑 Free Offline-first Password Manager
3 months ago2otherC#
Keepass plugin that performs offline and online checks against HaveIBeenPwned passwords
5 years ago2November 26, 2016mitRuby
A simple tool for offline searching of default credentials for network devices, web applications and more.
3 years ago3Swift
The offline macOS password manager
5 years agogpl-3.0C++
MemType Tool - GUI For managing the MemType Offline password keeper
9 months ago2Python
splunksecrets is a tool for working with Splunk secrets offline
7 years ago1agpl-3.0Shell
Windows Offline Common Password Hash Checker
14 years agoJavaScript
Offline Twitter
8 years agoapache-2.0Python
Your last stop for password list generation needs!
Alternatives To Dsinternals
Select To Compare

Alternative Project Comparisons

DSInternals Logo

Directory Services Internals
PowerShell Module and Framework

MIT License PowerShell 3 | 4 | 5 Windows Server 2008 R2 | 2012 R2 | 2016 | 2019 | 2022 .NET Framework 4.7.2+


The DSInternals project consists of these two parts:

DISCLAIMER: Features exposed through these tools are not supported by Microsoft. Improper use might cause irreversible damage to domain controllers or negatively impact domain security.


Michael Grafnetter

Twitter Blog LinkedIn

I have created these tools in my spare time and I am using them while performing AD security audits and also in my lectures to demonstrate how Active Directory works internally.

I would like to thank all people who have contributed to the project by sending their feedback or by submitting their code. In case you would also like to help with this project, please see the CONTRIBUTING document.


PowerShell Gallery Downloads Chocolatey Downloads GitHub Downloads NuGet Gallery Downloads

PowerShell Gallery (PowerShell 5+)

Since PowerShell 5, you can install the DSInternals module directly from the official PowerShell Gallery by running the following command:

Install-Module DSInternals -Force

Additional steps might be required on some freshly installed computers before DSInternals can be downloaded:

# TLS 1.2 must be enabled on older versions of Windows.
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12

# Download the NuGet package manager binary.
Install-PackageProvider -Name NuGet -Force

# Register the PowerShell Gallery as package repository if it is missing for any reason.
if($null -eq (Get-PSRepository -Name PSGallery -ErrorAction SilentlyContinue)) { Register-PSRepository -Default }

# Download the DSInternals PowerShell module.
Install-Module -Name DSInternals -Force

Chocolatey Package

The DSInternals PowerShell Module can also be installed using the official Chocolatey package by executing the following Chocolatey command:

choco install dsinternals-psmodule --confirm

This package is self-contained and it will also install all dependencies. Note that package versions prior to 3.5 were not official.

Offline Module Distribution (PowerShell 3+)

  1. Download the current release from GitHub.
  2. Unblock the ZIP file, using either the Properties dialog or the Unblock-File cmdlet. If you fail to do so, all the extracted DLLs will inherit this attribute and PowerShell will refuse to load them.
  3. Extract the DSInternals directory to your PowerShell modules directory, e.g. C:\Windows\system32\WindowsPowerShell\v1.0\Modules\DSInternals or C:\Users\John\Documents\WindowsPowerShell\Modules\DSInternals.
  4. (Optional) If you copied the module to a different directory than advised in the previous step, you have to manually import it using the Import-Module cmdlet.

Commando VM

The DSInternals PowerShell module is part of FireEye's Commando VM, the Windows-based alternative to Kali Linux.

NuGet Packages

The easiest way of integrating the DSInternals functionality into .NET applications is by using the DSInternals Framework NuGet packages:

Building from Source Code

Visual Studio 2017 | 2019 Build Status Test Results

You can of course download the source code, perform a review and compile the Module/Framework yourself. See the CONTRIBUTING guide for more info.



The online version of PowerShell Get-Help documentation contains the list of all cmdlets and some usage examples.

Blog Posts

I have also published a series of articles about the DSInternals module on my blog. Here are a few of them:

Slide Decks


This project utilizes the following 3rd party copyrighted material:

  • ManagedEsent - Provides managed access to esent.dll, the embeddable database engine native to Windows.
  • AutoMapper - A convention-based object-object mapper in .NET.
  • NDceRpc - Integration of WCF and .NET with MS-RPC and binary serialization.
  • PBKDF2.NET - Provides PBKDF2 for .NET Framework.
  • Bouncy Castle - A lightweight cryptography API for Java and C#.
  • Json.NET - Popular high-performance JSON framework for .NET.
  • Peter O. CBOR - A C# implementation of Concise Binary Object Representation (RFC 7049).

Related Projects

  • Mimikatz - The No.1 tool for pass-the-hash attacks. Can use the credentials extracted by the DSInternals module to do some nasty stuff.
  • NTDSXtract - A framework for ntds.dit parsing written in Python.
  • Impacket - Various MSRPC-based protocols implemented in Python.
  • DIT Snapshot Viewer - A graphical inspection tool for Active Directory databases.
  • Esent Workbench - Great tool for displaying the structure of ntds.dit files.
Popular Password Projects
Popular Offline Projects
Popular Security Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
C Sharp
Penetration Testing
Active Directory
Security Audit