MIT License

项目介绍

MichaelGrafnetter/DSInternals 是一个托管在 GitHub 上的开源项目,主要使用 C# 编写,采用 MIT License 许可证,目前获得 2.0k 个 Star、277 次 Fork。

仓库全名
MichaelGrafnetter/DSInternals
开源许可证
MIT License
Star 数
2.0k
Fork 数
277
未关闭 Issue
20

README 摘要

Directory Services Internals PowerShell Module and Framework Introduction The DSInternals project consists of these two parts: The DSInternals Framework exposes several internal features of Active Directory and can be used from any .NET application. The codebase has already been integrated into several 3 rd party commercial products that use it in scenarios like Active Directory disaster recovery, identity…

完整内容见 GitHub 原始 README 或本页 。

常见问题

DSInternals 用什么语言开发?

主要使用 C# 编写,采用 MIT License 许可证,目前有 2.0k 个 Star。

DSInternals 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 DSInternals 的源码?

可以直接克隆仓库:git clone https://github.com/MichaelGrafnetter/DSInternals.git,默认分支为 master;安装与运行步骤见仓库 README。

DSInternals 最近还在维护吗?

仓库最近一次更新为 3 周前,当前有 20 个未关闭 Issue;Star 数为 2.0k,可作为社区活跃度的参考。

README

DSInternals Logo DSInternals Logo

Directory Services Internals
PowerShell Module and Framework

MIT License PowerShell 5.1 | 7 Windows Server 2008 R2 | 2012 R2 | 2016 | 2019 | 2022 | 2025

.NET Framework 4.8+ .NET 8.0+ Architecture x64 | x86 | ARM64

Introduction

The DSInternals project consists of these two parts:

Warning 警告

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

Author

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.

Downloads

PowerShell Gallery Downloads Chocolatey Downloads GitHub Downloads NuGet Gallery Downloads

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.ServicePointManager]::SecurityProtocol -bor [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.

WAPT Package

The DSInternals PowerShell Module can also be installed using the WAPT package.

The package can be installed by the WAPT console or by the WAPT Command-line interface like so:

wapt-get install dsinternals

This package is self-contained and it will also install all dependencies.

Offline Module Distribution

  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 2026 CI Build

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

Documentation

Get-Help

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

Acknowledgements

This project utilizes the following 3rd party copyrighted material:

  • ManagedEsent - Provides managed access to esent.dll, the embeddable database engine native to Windows.
  • PBKDF2.NET - Provides PBKDF2 for .NET Framework.
  • Bouncy Castle - A lightweight cryptography API for Java and C#.
  • 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 Explorer - A graphical inspection tool for Active Directory databases.

评论

暂无评论