![]() |
VOOZH | about |
dotnet add package DSInternals.DataStore --version 7.0.0
NuGet\Install-Package DSInternals.DataStore -Version 7.0.0
<PackageReference Include="DSInternals.DataStore" Version="7.0.0" />
<PackageVersion Include="DSInternals.DataStore" Version="7.0.0" />Directory.Packages.props
<PackageReference Include="DSInternals.DataStore" />Project file
paket add DSInternals.DataStore --version 7.0.0
#r "nuget: DSInternals.DataStore, 7.0.0"
#:package DSInternals.DataStore@7.0.0
#addin nuget:?package=DSInternals.DataStore&version=7.0.0Install as a Cake Addin
#tool nuget:?package=DSInternals.DataStore&version=7.0.0Install as a Cake Tool
The DSInternals.DataStore package allows you to directly access and modify the Active Directory database without running a domain controller.
using DSInternals.DataStore;
// Open the database in read-only mode
string ntdsPath = @"C:\Backup\ntds.dit";
using var context = new DirectoryContext(ntdsPath, readOnly: true);
using var agent = new DirectoryAgent(context);
Console.WriteLine($"Domain: {context.DomainController.DomainName}");
Console.WriteLine($"Forest Mode: {context.DomainController.ForestMode}");
using DSInternals.DataStore;
string ntdsPath = @"C:\Backup\ntds.dit";
byte[] bootKey = BootKeyRetriever.GetBootKey(@"C:\Backup\SYSTEM");
using var context = new DirectoryContext(ntdsPath, readOnly: true);
using var agent = new DirectoryAgent(context);
// Enumerate all accounts with password hashes
foreach (var account in agent.GetAccounts(bootKey))
{
Console.WriteLine($"Account: {account.SamAccountName}");
if (account.NTHash != null)
{
string ntHash = BitConverter.ToString(account.NTHash).Replace("-", "");
Console.WriteLine($"NT Hash: {ntHash}");
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-windows7.0 net8.0-windows7.0 is compatible. net9.0-windows net9.0-windows was computed. net9.0-windows7.0 net9.0-windows7.0 is compatible. net10.0-windows net10.0-windows was computed. |
| .NET Framework | net48 net48 is compatible. net481 net481 was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 7.0.0 | 1,397 | 5/28/2026 |
| 6.5.0 | 589 | 5/16/2026 |
| 6.4.0 | 1,306 | 3/28/2026 |
| 6.3.0 | 2,006 | 2/8/2026 |
| 6.1.0 | 2,175 | 8/17/2025 |
| 6.0.0 | 291 | 8/14/2025 |
| 5.3.0 | 1,095 | 4/11/2025 |
| 5.2.0 | 377 | 4/9/2025 |
| 5.0.0 | 260 | 3/3/2025 |
| 4.16.0 | 460 | 1/5/2025 |
| 4.14.0 | 1,540 | 4/13/2024 |
| 4.13.0 | 447 | 12/20/2023 |
| 4.12.0 | 315 | 10/6/2023 |
| 4.11.0 | 305 | 10/1/2023 |
| 4.10.0 | 308 | 9/16/2023 |
| 4.9.0 | 546 | 2/25/2023 |
| 4.8.0 | 2,345 | 12/6/2022 |
| 4.7.0 | 758 | 10/30/2021 |
| 4.6.0 | 2,200 | 10/19/2021 |
| 4.5.0 | 648 | 10/13/2021 |
- More DNS zone properties are now retrieved from ntds.dit files.
- Added zone filtering when retrieving DNS resource records.
- Added support for exporting DNS signing keys from ntds.dit files.