![DSInternals Logo](../.github/DSInternals.png) # Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [4.9] - 2023-02-25 ### Changed - Implemented [FIPS compliance requirement](https://learn.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing) check (issues [#97](https://github.com/MichaelGrafnetter/DSInternals/issues/97), [#111](https://github.com/MichaelGrafnetter/DSInternals/issues/111), and [#152](https://github.com/MichaelGrafnetter/DSInternals/issues/152)). - Added a check that the module is running on Windows. - The [Set-ADDBBootKey](PowerShell/Set-ADDBBootKey.md#set-addbbootkey) cmdlet now also has the `-Force` parameter, as do all other cmdlets for offline DB modification. ### Fixed - The [Get-BootKey](PowerShell/Get-BootKey.md#get-bootkey) cmdlet should now be able to read inconsistent/corrupted SYSTEM registry hives (issue [#47](https://github.com/MichaelGrafnetter/DSInternals/issues/47)). ## [4.8] - 2022-12-06 ### Changed - Upgraded to the latest [JSON.NET library](https://www.newtonsoft.com/json) to fix some security issues. - Upgraded to the latest [CBOR library](https://github.com/peteroupc/CBOR) to fix some security issues. - Added pipeline input support to the `-SamAccountName` parameter of the [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) cmdlet. - All PowerShell cmdlets that modify the `ntds.dit` file now have the `-Force` parameter. ### Fixed - Fixed a regression error in `ntds.dit` file modification on Windows Server 2022 that was introduced in release [4.7]. ## [4.7] - 2021-10-30 ### Added - The [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet can now identify [kerberoastable](https://attack.mitre.org/techniques/T1558/003/) user accounts. - The [DSAccount](../Src/DSInternals.Common/Data/Principals/DSAccount.cs) class now exposes the [msDs-supportedEncryptionTypes](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/4f1f447a-4f35-49b1-a129-d76ea280a4c1) attribute in its `SupportedEncryptionTypes` property. ### Changed - DSInternals.Replication.Interop is targeting the latest Windows 10 SDK instead of a specific one. ### Fixed - Computer accounts are now skipped when searching for duplicate passwords. - Improved exception handling when opening read-only database files. ## [4.6] - 2021-10-19 ### Added - Windows Server 2022 ntds.dit file modification is now supported. ### Changed - Updated ManagedEsent to 1.9.4.1 and extracted customizations to partial classes. ### Fixed - ESE parameter set now better mimics the one used in AD. ## [4.5] - 2021-10-14 ### Fixed - Added support for ntds.dit files with conflicting defunct attributes. - Fixed the detection of default computer passwords. - Improved parsing of roaming CNG private keys. ### Changed - Updated the target .NET Framework to 4.7.2. ## [4.4.1] - 2020-07-18 ### Fixed - The `vcruntime140_1.dll` file is now part of the binary distribution. Its absence sometimes prevented the `DSInternals.Replication.Interop.dll` file from being loaded. ## [4.4] - 2020-07-03 ### Added - The new [Set-AzureADUserEx](PowerShell/Set-AzureADUserEx.md#set-azureaduserex) cmdlet can be used to revoke FIDO2 and NGC keys in Azure Active Directory. ## [4.3] - 2020-04-02 ### Added - New logo and package icons! - The new [Get-AzureADUserEx](PowerShell/Get-AzureADUserEx.md#get-azureaduserex) cmdlet can be used to retrieve FIDO and NGC keys from Azure Active Directory, as the first tool on the market. - Both [lastLogon](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-ada1/93258066-276d-4357-8458-981c19caad95) and [lastLogonTimestamp](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-ada1/530d7194-20f6-4aaa-8d80-9ca6b6350ad6) user account attributes are now exposed. The LastLogonDate PowerShell property returns whichever of these 2 values is available. - The `-Server` parameter of the [Get-ADSIAccount](PowerShell/Get-ADSIAccount.md#get-adsiaccount) cmdlet now has the standard `-ComputerName` alias. ### Changed - Major [PowerShell module documentation](PowerShell/Readme.md#directory-services-internals-powershell-module) improvements. ## [4.2] - 2020-03-18 ### Added - The [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet now supports **cross-domain and cross-forest duplicate password discovery**. - The [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount), [Get-ADReplBackupKey](PowerShell/Get-ADReplBackupKey.md#get-adreplbackupkey) and [Add-ADReplNgcKey](PowerShell/Add-ADReplNgcKey.md#add-adreplngckey) cmdlets no longer require the `Domain` and `NamingContext` parameters to be specified, as their proper values are automatically retrieved from the target DC. ### Changed - Updated license information in Nuget packages to resolve [Warning NU5125](https://docs.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu5125). ### Fixed - Resolved a bug in the [Get-ADDBBackupKey](PowerShell/Get-ADDBBackupKey.md#get-addbbackupkey) cmdlet that prevented it from working on global catalogs in multi-domain forests. - Resolved a bug in DPAPI credential display. ## [4.1] - 2019-12-12 ### Added - The [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet now contains a check for accounts that require smart card authentication and have a password at the same time. ### Fixed - The [Save-DPAPIBlob](PowerShell/Save-DPAPIBlob.md#save-dpapiblob) cmdlet now saves roamed CNG keys in proper format. - Fixed an issue with the [Set-ADDBAccountPassword](PowerShell/Set-ADDBAccountPassword.md#set-addbaccountpassword) and [Set-ADDBAccountPasswordHash](PowerShell/Set-ADDBAccountPasswordHash.md#set-addbaccountpasswordhash) cmdlets, which, under rare circumstances, could incorrectly modify replication metadata. Unfortunately, the documentation does not say that [PROPERTY_META_DATA_EXT_VECTOR](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-drsr/22bccd51-1e7d-4502-aef8-b84da983f94f) must be sorted. ## [4.0] - 2019-12-04 ### Added - Added support for [auditing (Azure) Active Directory NGC keys](PowerShell/Get-ADKeyCredential.md#get-adkeycredential) against the [ROCA](https://crocs.fi.muni.cz/public/papers/rsa_ccs17) vulnerability. - Added the [Add-ADReplNgcKey](PowerShell/Add-ADReplNgcKey.md#add-adreplngckey) cmdlet for NGC key injection through the MS-DRSR protocol. - Added the `Moduli` custom PowerShell view to enable export of public keys stored in the `msDS-KeyCredentialLink` attribute. - Added the `FIDO` custom PowerShell view to provide visibility into FIDO2 keys registered in the `msDS-KeyCredentialLink` attribute. - Implemented FIDO2 token information parsing in the `KeyCredential` class. Tested with **YubiKey**, **Feitian**, **eWBM** and **SoloKeys**. Big thanks to @aseigler for major code contribution! - Implemented public key retrieval capability in the `KeyCredential` class. ### Changed - .NET Framework 4.7 is now required because of ECC support. - The [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) cmdlet can now search accounts by the `userPrincipalName` attribute. - NGC keys generated by the [Get-ADKeyCredential](PowerShell/Get-ADKeyCredential.md#get-adkeycredential) cmdlet are now accepted in validated writes. ### Fixed - Eliminated a memory leak in `DRS_MSG_GETCHGREQ_V8` deallocation. - Fixed the output type of the [Set-ADDBBootKey](PowerShell/Set-ADDBBootKey.md#set-addbbootkey) cmdlet. ## [3.6.1] - 2019-08-10 ### Fixed - Resolved issue #91 (The boot key provided cannot be used to decrypt the database), which appeared during decryption of ntds.dit files originating from Windows Server 2016+ DCs that were promoted using IFM. ## [3.6] - 2019-06-28 ### Changed - Renamed the `-DBPath` parameter of [database cmdlets](PowerShell/Readme.md#cmdlets-for-offline-active-directory-operations) to `-DatabasePath`. - Improved [Get-Help documentation](PowerShell/Readme.md#dsinternals-powershell-module). ### Fixed - Resolved issue #88 (Test-PasswordQuality errors out with "Offset and length must refer to a position in the string"). ## 3.5.1 - 2019-05-23 This is a [Chocolatey](https://chocolatey.org/packages/dsinternals-psmodule)-only release. ### Fixed - Temporarily removed the package dependency on PowerShell 3, which caused some [issues](https://github.com/MichaelGrafnetter/DSInternals/issues/85). Will be resolved in a future release. ## [3.5] - 2019-05-10 ### Added - Official [Chocolatey Package](https://chocolatey.org/packages/dsinternals-psmodule) - New password hash export formats: [JohnLMHistory](PowerShell/Readme.md#john-the-ripper), [HashcatLMHistory](PowerShell/Readme.md#hashcat), [PWDumpHistory](PowerShell/Readme.md#other-formats) and [LMHashHistory](PowerShell/Readme.md#other-formats). ### Changed - The [JohnNTHistory](PowerShell/Readme.md#john-the-ripper) and [HashcatNTHistory](PowerShell/Readme.md#hashcat) export formats now differentiate between current and historical password hashes. ### Fixed - Improved the [JohnNT](PowerShell/Readme.md#john-the-ripper) and [JohnLM](PowerShell/Readme.md#john-the-ripper) export formats. - Scripts generated by the [New-ADDBRestoreFromMediaScript](PowerShell/New-ADDBRestoreFromMediaScript.md#new-addbrestorefrommediascript) cmdlet now correctly restore SYSVOL on Windows Server 2008 R2+. - Scripts generated by the [New-ADDBRestoreFromMediaScript](PowerShell/New-ADDBRestoreFromMediaScript.md#new-addbrestorefrommediascript) cmdlet now supports SYSVOL FRS replication in addition to DFS-R. - Scripts generated by the [New-ADDBRestoreFromMediaScript](PowerShell/New-ADDBRestoreFromMediaScript.md#new-addbrestorefrommediascript) cmdlet now do not require the ActiveDirectory module to be pre-installed. ## [3.4] - 2019-04-23 ### Added - The [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet now has a parameter called `-WeakPasswordHashesSortedFile`. This parameter should be used with ordered hash files downloaded from [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) as it has huge performance benefits over the older `-WeakPasswordHashesFile` parameter due to the usage of binary search algorithm. - The [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet now has a proper documentation, including usage examples. ### Fixed - The [PWDump](PowerShell/Readme.md#other-formats) export format is now more compatible with some 3rd party tools, e.g. ElcomSoft Distributed Password Recovery, although the ASCII encoding still must be enforced. - The speed of processing the `-WeakPasswordHashesFile` and `-WeakPasswordsFile` parameters of the [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet has significantly been increased. - Parsing of roamed credentials is now slightly faster. - Documentation improvements! ## [3.3] - 2019-03-02 ### Changed - Implemented a slightly more secure handling of [GMSA passwords](../Src/DSInternals.Common/Data/Principals/ManagedPassword.cs). - The .NET Framework 4.5.1 requirement is now enforced. ### Fixed - Scripts generated by the [New-ADDBRestoreFromMediaScript](PowerShell/New-ADDBRestoreFromMediaScript.md#new-addbrestorefrommediascript) cmdlet will also fix SYSVOL references in the DFS-R subscription object if it is restored to a different path. - A more explanatory exception is now thrown when opening databases that originate from different OS versions. - A more explanatory exception is now thrown when the *Universal C Runtime* is missing from Windows. - A more explanatory exception is now thrown when the assemblies are blocked. - PEK list decryption exceptions now contain troubleshooting data. - Minor improvement in C++ build speed. ## [3.2.1] - 2019-01-04 ### Fixed - The implementation of database re-encryption now behaves more closely to Windows Server 2016. ## [3.2] - 2019-01-03 ### Added - [Module] Added the [Get-LsaBackupKey](PowerShell/Get-LsaBackupKey.md#get-lsabackupkey) cmdlet for DPAPI domain backup key retrieval through LSARPC. - [Framework] Added support for DPAPI domain backup key retrieval from LSA Policy. ### Changed - [Module] The [Set-ADDBBootKey](PowerShell/Set-ADDBBootKey.md#set-addbbootkey) cmdlet now works with Windows Server 2000-2019 databases. - [Module] The [New-ADDBRestoreFromMediaScript](PowerShell/New-ADDBRestoreFromMediaScript.md#new-addbrestorefrommediascript) cmdlet now uses shutdown.exe instead of Restart-Computer. - [Framework] Updated package references. ### Fixed - [Framework] Fixed `DSInternals.Replication.Interop` assembly versioning. ## [3.1] - 2018-12-29 ### Added - [Module] Added the [New-ADDBRestoreFromMediaScript](PowerShell/New-ADDBRestoreFromMediaScript.md#new-addbrestorefrommediascript) cmdlet to aid with file-level DC recovery process. - [Module] Added the [Get-LSAPolicyInformation](PowerShell/Get-LSAPolicyInformation.md#get-lsapolicyinformation) and [Set-LSAPolicyInformation](PowerShell/Set-LSAPolicyInformation.md#set-lsapolicyinformation) cmdlets that can be used to retrieve and change domain-related LSA Policies. - [Module] Extended the information returned by the [Get-ADDBDomainController](PowerShell/Get-ADDBDomainController.md#get-addbdomaincontroller) cmdlet. - [Module] Added MAML documentation for `Get-Help`. - [Framework] Added support for LSA Policy retrieval and modification. ### Changed - [Framework] Implemented distinguished name (DN) caching in the database access layer. ### Fixed - [Module] Path to the DSInternals.psd1 file now does not need to be specified when loading the module from a non-default location. ## [3.0] - 2018-09-29 ### Added - [Module] Added the [Set-ADDBAccountPassword](PowerShell/Set-ADDBAccountPassword.md#set-addbaccountpassword) and [Set-ADDBAccountPasswordHash](PowerShell/Set-ADDBAccountPasswordHash.md#set-addbaccountpasswordhash) cmdlets for offline password modification. - [Module] The [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet now supports NTLM hash list from haveibeenpwned.com. - [Module] Added the [Get-ADKeyCredential](PowerShell/Get-ADKeyCredential.md#get-adkeycredential) cmdlet for linked credential generation (AKA Windows Hello for Business). - [Module] The [Get-ADDBAccount](PowerShell/Get-ADDBAccount.md#get-addbaccount), [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) and [Get-ADSIAccount](PowerShell/Get-ADSIAccount.md#get-adsiaccount) cmdlets now display linked credentials. - [Module] Databases from Windows Server 2016 can now be read on non-DCs. - [Module] Added the [ConvertTo-KerberosKey](PowerShell/ConvertTo-KerberosKey.md#convertto-kerberoskey) cmdlet for key generation. - [Module] The [Save-DPAPIBlob](PowerShell/Save-DPAPIBlob.md#save-dpapiblob) now generates scripts for mimikatz. - [Module] The [Save-DPAPIBlob](PowerShell/Save-DPAPIBlob.md#save-dpapiblob) cmdlet now accepts pipeline input from both Get-ADDBBackupKey and ADDBAccount cmdlets. - [Module] Added Views [JohnNTHistory](PowerShell/Readme.md#john-the-ripper), [HashcatNTHistory](PowerShell/Readme.md#hashcat) and [NTHashHistory](PowerShell/Readme.md#other-formats). - [Module] The [Get-ADDBDomainController](PowerShell/Get-ADDBDomainController.md#get-addbdomaincontroller) now displays domain and forest functional levels. - [Module] The [Set-ADDBDomainController](PowerShell/Set-ADDBDomainController.md#set-addbdomaincontroller) can now be used to modify backup expiration. - [Module] The [Get-ADDBAccount](PowerShell/Get-ADDBAccount.md#get-addbaccount) cmdlet now reports progress when retrieving multiple accounts. - [Framework] Added support for offline password changes. - [Framework] Added support for kerberos key derivation. - [Framework] Added support for WDigest hash calculation. ### Fixed - [Framework] Minor bug fixes. ### Removed - [Module] Removed the `ConvertTo-NTHashDictionary` cmdlet as its functionality had been integrated into the [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet. - [Module] Removed the `-ShowPlainTextPasswords` parameter of the [Test-PasswordQualiy](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet. It might be re-added in the future. ## [2.23] - 2018-07-07 ### Changed - [Module] The [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) now supports accounts that require smart card authentication. ### Fixed - [Module] Fixed a bug in in the processing of the `-SkipDuplicatePasswordTest` switch of the [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet. ## [2.22] - 2017-04-29 ### Added - [Framework] Added the [Enable-ADDBAccount](PowerShell/Enable-ADDBAccount.md#enable-addbaccount) and [Disable-ADDBAccount](PowerShell/Disable-ADDBAccount.md#disable-addbaccount) cmdlets. - [Module] Added the ability to enable or disable accounts in offline databases. ## [2.21.2] - 2017-04-19 ### Fixed - [Framework] Fixed a bug in roamed credentials processing. - [Module] Fixed a bug in hexadecimal parameter parsing. ## [2.21.1] - 2017-04-14 ### Fixed - Fixed a bug in linked value replication. ## [2.21] - 2017-03-25 - [Module] The replication cmdlets now use Kerberos authentication by default. - [Module] Added support for roamed credentials. - [Module] Cmdlets now accept hashes in both byte array and hexadecimal string forms. - [Framework] Added support for linked value retrieval. - [Framework] Updated referenced packages. - [Framework] Added the SamEnumerateDomainsInSamServer call. ## [2.20] - 2016-11-15 - Added the [Get-ADPasswordPolicy](PowerShell/Get-SamPasswordPolicy.md#get-sampasswordpolicy) cmdlet. ## [2.19] - 2016-10-21 - Added support for the ServicePrincipalName attribute. ## [2.18] - 2016-10-02 - [Module] Added the [Get-ADDBKdsRootKey](PowerShell/Get-ADDBKdsRootKey.md#get-addbkdsrootkey) cmdlet to aid DPAPI-NG decryption, e.g. SID-protected PFX files. - [Module] The [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) cmdlet now correctly reports the access denied error. - [Module] Fixed a bug in progress reporting of the [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) cmdlet. - [Framework] Added support for KDS Root Key retrieval. - [Framework] Replication errors are now reported using more suitable exception types. ## 2.17 - 2016-09-16 - [Module] The `Get-ADReplAccount -All` command now reports replication progress. - [Framework] Added the ability to retrieve the replication cursor. - [Framework] The `ReplicationCookie` class is now immutable and replication progress is reported using a delegate. - [Framework] Win32 exceptions are now translated to more specific .NET exceptions by the `Validator` class. ## [2.16.1] - 2016-08-08 - [Module] Added the `-ShowPlainTextPasswords` parameter to the [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) cmdlet. Cracked and cleartext passwords now do not get displayed by default. ## [2.16] - 2016-08-07 - [Module] Added the [Test-PasswordQuality](PowerShell/Test-PasswordQuality.md#test-passwordquality) and `ConvertTo-NTHashDictionary` cmdlets. - [Module] Added support for the the UserAccountControl attribute of user accounts. - [Framework] Added the ability to replicate user accounts by specifying their UPN. - [Framework] Added the ability to calculate a NT hash from both String and SecureString. - [Framework] Added the `HashEqualityComparer`, which allows the hashes to be stored in the built-in generic collections. ## [2.15] - 2016-06-18 - Removed dependency on ADSI. - Added support for the PAM optional feature. - Added the [PWDump](PowerShell/Readme.md#other-formats) custom view. - Added the [NTHash](PowerShell/Readme.md#other-formats) custom view. - Added the [LMHash](PowerShell/Readme.md#other-formats) custom view. ## [2.14] - 2016-04-30 - Added support for Windows Server 2016 ntds.dit encryption. - Added support for replication with renamed domains. - Added support for reading security descriptors (ACLs) from both ntds.dit files and DRS-R. - Added support for the AdminCount attribute. - Updated the forked ManagedEsent source codes to version 1.9.3.3. ## [2.13.1] - 2016-02-25 - Fixed a bug regarding incorrect OS version detection. ## [2.13] - 2016-02-21 - Fixed a rare bug which caused the database cmdlets to hang while loading indices. - Meaningful error messages are now displayed when a dirty or downlevel ntds.dit file is encountered. - The `DSInternals.Replication` library now supports incremental replication (not exposed through PowerShell). ## [2.12] - 2016-02-07 - Commandlets for ntds.dit manipulation now work on Windows 7 / Windows Server 2008 R2. - The module now requires .NET Framework 4.5.1 instead of 4.5. - Both Visual Studio 2013 and 2015 are now supported platforms. ## 2.11.1 - 2016-02-03 - Added support for Windows Server 2003 R2. - The replication now works on x86, again. - Fixed a bug in temporary index loading. ## [2.10] - 2016-01-14 - Added support for the NTLM-Strong-NTOWF package in Supplemental Credentials (new in Windows Server 2016 TP4) - Added support for initial databases - Added partial support for ADAM/LDS databases - The [Get-ADDBSchemaAttribute](PowerShell/Get-ADDBSchemaAttribute.md#get-addbschemaattribute) now shows attribute OIDs - Fixed a bug in Exchange schema loading ## 2.9 - 2015-12-27 - The [Get-BootKey](PowerShell/Get-BootKey.md#get-bootkey) cmdlet now supports online boot key retrieval - The PBKDF2.NET library has been replaced by CryptSharp - The [Get-ADDBDomainController](PowerShell/Get-ADDBDomainController.md#get-addbdomaincontroller) cmdlet now extracts some more data from the DB - The project has been open-sourced ## 2.8 - 2015-10-20 - Added the [ConvertFrom-ADManagedPasswordBlob](PowerShell/ConvertFrom-ADManagedPasswordBlob.md#convertfrom-admanagedpasswordblob) cmdlet - Added the [Get-ADDBBackupKey](PowerShell/Get-ADDBBackupKey.md#get-addbbackupkey) cmdlet - Added the [Get-ADReplBackupKey](PowerShell/Get-ADReplBackupKey.md#get-adreplbackupkey) cmdlet - Added the [Save-DPAPIBlob](PowerShell/Save-DPAPIBlob.md#save-dpapiblob) cmdlet - Added the [HashcatLM](PowerShell/Readme.md#hashcat) view ## 2.7 - 2015-09-30 - Added the `about_DSInternals` help page (work in progress) - Fixed a bug in the [Set-ADDBPrimaryGroup](PowerShell/Set-ADDBPrimaryGroup.md#set-addbprimarygroup) cmdlet ## 2.6 - 2015-09-21 - Implemented CRC checks in the [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) cmdlet - The [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) cmdlet now displays meaningful error messages on 64-bit systems - The `-Server` parameter of the [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) is now compulsory instead of localhost being default - The [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) and [Set-SamAccountPasswordHash](PowerShell/Set-SamAccountPasswordHash.md#set-samaccountpasswordhash) cmdlets now display a warning in case they are supplied with a DNS domain name instead of a NetBIOS one. - Fixed a bug in SupplementalCredentials parsing ## 2.5 - 2015-09-14 - Both x86 and x64 platforms are now supported. - A few parameters have been changed and new aliases added. - Fixed a bug in the [Add-ADDBSidHistory](PowerShell/Add-ADDBSidHistory.md#add-addbsidhistory) cmdlet. ## 2.4 - 2015-09-05 - Fixed a bug regarding distinguished name parsing in the [Get-ADDBAccount](PowerShell/Get-ADDBAccount.md#get-addbaccount) cmdlet - Removed a big memory leak in the [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) cmdlet - Added the `Get-ADReplicationAccount` alias for [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) - Updated AutoMapper to the latest version - Switched to the official build of Microsoft's Managed Esent libraries - The module has been published in PowerShell Gallery. ## 2.3 - Parameter `-SystemHiveFilePath` of the [Get-BootKey](PowerShell/Get-BootKey.md#get-bootkey) cmdlet is now positional - Added the Readme.txt file with system requirements - Fixed a bug in distinguished name parsing that caused the [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) cmdlet to fail under some circumstances ## 2.2 ### Changed - Added a few parameter validations ### Fixed - Fixed a bug in SupplementalCredentials parsing ## 2.1 - The [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) cmdlet can now retrieve all accounts from AD or just a sigle one - Added Microsoft Visual C++ 2013 Runtime libraries to the distribution - The module is now 64-bit only - Minor bug fixes ## 2.0 - 2015-07-14 - Added the [Get-ADDBAccount](PowerShell/Get-ADDBAccount.md#get-addbaccount) cmdlet - Added the [Get-BootKey](PowerShell/Get-BootKey.md#get-bootkey) cmdlet - Added the [Get-ADReplAccount](PowerShell/Get-ADReplAccount.md#get-adreplaccount) cmdlet - Added the [Remove-ADDBObject](PowerShell/Remove-ADDBObject.md#remove-addbobject) cmdlet - Added the [ConvertTo-Hex](PowerShell/ConvertTo-Hex.md#convertto-hex) cmdlet - Merged the `DSInternals.Cryptography` assembly into `DSInternals.Common` - Minor bug fixes ## 1.6 ### Added - Added the [Set-ADDBDomainController](PowerShell/Set-ADDBDomainController.md#set-addbdomaincontroller) cmdlet - Added the [Get-ADDBSchemaAttribute](PowerShell/Get-ADDBSchemaAttribute.md#get-addbschemaattribute) cmdlet ## 1.5 ### Added - Added the [Get-ADDBDomainController](PowerShell/Get-ADDBDomainController.md#get-addbdomaincontroller) cmdlet ## 1.4 - 2015-05-31 ### Added - Added the [Set-ADDBPrimaryGroup](PowerShell/Set-ADDBPrimaryGroup.md#set-addbprimarygroup) cmdlet ### Fixed - The [Add-ADDBSidHistory](PowerShell/Add-ADDBSidHistory.md#add-addbsidhistory) cmdlet now supports relative file paths ## 1.3.1 ### Fixed - Fixed a bug in the Microsoft.Isam.Esent.Interop library, that prevented the [Add-ADDBSidHistory](PowerShell/Add-ADDBSidHistory.md#add-addbsidhistory) cmdlet to run on Windows Server 2008 R2 ## 1.3 - 2015-05-24 ### Added - Added the [Add-ADDBSidHistory](PowerShell/Add-ADDBSidHistory.md#add-addbsidhistory) cmdlet ## 1.2 ### Added - Added the [ConvertTo-GPPrefPassword](PowerShell/ConvertTo-GPPrefPassword.md#convertto-gpprefpassword) cmdlet ## 1.1 ### Added - Added the [ConvertTo-OrgIdHash](PowerShell/ConvertTo-OrgIdHash.md#convertto-orgidhash) cmdlet - Added the [ConvertFrom-GPPrefPassword](PowerShell/ConvertFrom-GPPrefPassword.md#convertfrom-gpprefpassword) cmdlet ## 1.0 - 2015-01-20 Initial release! [Unreleased]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.9...HEAD [4.9]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.8...v4.9 [4.8]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.7...v4.8 [4.7]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.6...v4.7 [4.6]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.5...v4.6 [4.5]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.4.1...v4.5 [4.4.1]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.4...v4.4.1 [4.4]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.3...v4.4 [4.3]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.2...v4.3 [4.2]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.1...v4.2 [4.1]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.0...v4.1 [4.0]: https://github.com/MichaelGrafnetter/DSInternals/compare/v3.6.1...v4.0 [3.6.1]: https://github.com/MichaelGrafnetter/DSInternals/compare/v3.6...v3.6.1 [3.6]: https://github.com/MichaelGrafnetter/DSInternals/compare/v3.5...v3.6 [3.5]: https://github.com/MichaelGrafnetter/DSInternals/compare/v3.4...v3.5 [3.4]: https://github.com/MichaelGrafnetter/DSInternals/compare/v3.3...v3.4 [3.3]: https://github.com/MichaelGrafnetter/DSInternals/compare/v3.2.1...v3.3 [3.2.1]: https://github.com/MichaelGrafnetter/DSInternals/compare/v3.2...v3.2.1 [3.2]: https://github.com/MichaelGrafnetter/DSInternals/compare/v3.1...v3.2 [3.1]: https://github.com/MichaelGrafnetter/DSInternals/compare/v3.0...v3.1 [3.0]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.23...v3.0 [2.23]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.22...v2.23 [2.22]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.21.2...v2.22 [2.21.2]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.21.1...v2.21.2 [2.21.1]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.21...v2.21.1 [2.21]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.20...v2.21 [2.20]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.19...v2.20 [2.19]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.18...v2.19 [2.18]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.16.1...v2.18 [2.16.1]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.16...v2.16.1 [2.16]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.15...v2.16 [2.15]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.14...v2.15 [2.14]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.13.1...v2.14 [2.13.1]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.13...v2.13.1 [2.13]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.12...v2.13 [2.12]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.11...v2.12 [2.11]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.10...v2.11 [2.10]: https://github.com/MichaelGrafnetter/DSInternals/compare/v2.9...v2.10