diff --git a/Documentation/CHANGELOG.md b/Documentation/CHANGELOG.md
index e158c9d..d45d9a9 100644
--- a/Documentation/CHANGELOG.md
+++ b/Documentation/CHANGELOG.md
@@ -3,10 +3,18 @@
# 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/).
-## [Unreleased]
+## [4.8] - 2022-12-06
### Changed
-- The PowerShell module now advertizes `Desktop` as the required edition. Note that *PowerShell Core* is not supported because of heavy dependency on Win32 API.
+
+- 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
@@ -439,7 +447,8 @@ This is a [Chocolatey](https://chocolatey.org/packages/dsinternals-psmodule)-onl
## 1.0 - 2015-01-20
Initial release!
-[Unreleased]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.7...HEAD
+[Unreleased]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.8...HEAD
+[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
diff --git a/Src/Configuration/CommonAssemblyInfo.cs b/Src/Configuration/CommonAssemblyInfo.cs
index fe055c7..363ba15 100644
--- a/Src/Configuration/CommonAssemblyInfo.cs
+++ b/Src/Configuration/CommonAssemblyInfo.cs
@@ -1,4 +1,4 @@
using System.Reflection;
[assembly: AssemblyProduct("DSInternals PowerShell Module")]
-[assembly: AssemblyCopyright("Copyright © 2015-2021 Michael Grafnetter. All rights reserved.")]
\ No newline at end of file
+[assembly: AssemblyCopyright("Copyright © 2015-2022 Michael Grafnetter. All rights reserved.")]
diff --git a/Src/Configuration/CommonAssemblyInfo.h b/Src/Configuration/CommonAssemblyInfo.h
index 4467d15..25fb701 100644
--- a/Src/Configuration/CommonAssemblyInfo.h
+++ b/Src/Configuration/CommonAssemblyInfo.h
@@ -1,4 +1,4 @@
using namespace System::Reflection;
[assembly:AssemblyProductAttribute(L"DSInternals PowerShell Module")];
-[assembly:AssemblyCopyrightAttribute(L"Copyright © 2015-2019 Michael Grafnetter. All rights reserved.")];
\ No newline at end of file
+[assembly:AssemblyCopyrightAttribute(L"Copyright © 2015-2022 Michael Grafnetter. All rights reserved.")];
diff --git a/Src/DSInternals.Common/DSInternals.Common.nuspec b/Src/DSInternals.Common/DSInternals.Common.nuspec
index 020c7b3..dcd0f90 100644
--- a/Src/DSInternals.Common/DSInternals.Common.nuspec
+++ b/Src/DSInternals.Common/DSInternals.Common.nuspec
@@ -14,9 +14,9 @@
This package is shared between all other DSInternals packages. Its main features are Azure AD Graph API and ADSI clients for for retrieval of cryptographic material. It contains implementations of common hash functions used by Windows, including NT hash, LM hash and OrgId hash. It also contains methods for SysKey/BootKey retrieval.
This package is shared between all other DSInternals packages.
- - Added the SupportedEncryptionTypes property to the DSAccount class. It exposes the msDs-supportedEncryptionTypes attribute.
+ - Updated dependencies.
- Copyright (c) 2015-2021 Michael Grafnetter. All rights reserved.
+ Copyright (c) 2015-2022 Michael Grafnetter. All rights reserved.
ActiveDirectory Security AD AAD Identity Active Directory
diff --git a/Src/DSInternals.Common/Properties/AssemblyInfo.cs b/Src/DSInternals.Common/Properties/AssemblyInfo.cs
index 26fb73f..d4df7ba 100644
--- a/Src/DSInternals.Common/Properties/AssemblyInfo.cs
+++ b/Src/DSInternals.Common/Properties/AssemblyInfo.cs
@@ -5,8 +5,8 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DSInternals Common Library")]
-[assembly: AssemblyVersion("4.7")]
-[assembly: AssemblyFileVersion("4.7")]
+[assembly: AssemblyVersion("4.8")]
+[assembly: AssemblyFileVersion("4.8")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
diff --git a/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec b/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec
index e3100cf..0804b8a 100644
--- a/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec
+++ b/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec
@@ -14,10 +14,9 @@
DSInternals DataStore is an advanced framework for offline ntds.dit file manipulation. It can be used to extract password hashes from Active Directory backups or to modify the sIDHistory and primaryGroupId attributes.
DSInternals DataStore is an advanced framework for offline ntds.dit file manipulation.
-- The msDs-supportedEncryptionTypes attribute can now be retrieved from database files.
-- Improved exception handling when opening read-only database files.
+- Fixed compatibility isses with Windows Server 2022.
- Copyright (c) 2015-2021 Michael Grafnetter. All rights reserved.
+ Copyright (c) 2015-2022 Michael Grafnetter. All rights reserved.
ActiveDirectory Security NTDS AD Identity Active Directory
diff --git a/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs b/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs
index 180c9ee..1b3db1b 100644
--- a/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs
+++ b/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs
@@ -5,8 +5,8 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DSInternals DataStore Library")]
-[assembly: AssemblyVersion("4.7")]
-[assembly: AssemblyFileVersion("4.7")]
+[assembly: AssemblyVersion("4.8")]
+[assembly: AssemblyFileVersion("4.8")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
diff --git a/Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec b/Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec
index 46708c9..a19c2cb 100644
--- a/Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec
+++ b/Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec
@@ -3,14 +3,14 @@
DSInternals-PSModule
- 4.7
+ 4.8
https://github.com/MichaelGrafnetter/DSInternals/tree/master/Src/DSInternals.PowerShell/Chocolatey
MichaelGrafnetter
DSInternals PowerShell Module
Michael Grafnetter
https://github.com/MichaelGrafnetter/DSInternals
https://raw.githubusercontent.com/MichaelGrafnetter/DSInternals/master/Src/Icons/module_black.png
- (c) 2015-2021 Michael Grafnetter. All rights reserved.
+ (c) 2015-2022 Michael Grafnetter. All rights reserved.
https://github.com/MichaelGrafnetter/DSInternals/blob/master/Src/DSInternals.PowerShell/License.txt
false
https://github.com/MichaelGrafnetter/DSInternals/tree/master/Src
@@ -37,8 +37,9 @@
## 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.
-* The Test-PasswordQuality cmdlet can now detect kerberoastable user accounts. Its performance has also been slightly improved.
-* Objects returned by the Get-ADDBAccount, Get-ADReplAccount, and Get-ADSIAccount cmdlets now have the SupportedEncryptionTypes property.
+* Fixed a regression error in ntds.dit file modification on Windows Server 2022.
+* Added pipeline input support to the -SamAccountName parameter of the Get-ADReplAccount cmdlet.
+* All cmdlets that modify the ntds.dit file now require the -Force parameter to be present.
diff --git a/Src/DSInternals.PowerShell/DSInternals.psd1 b/Src/DSInternals.PowerShell/DSInternals.psd1
index 36a8fd5..af72d91 100644
--- a/Src/DSInternals.PowerShell/DSInternals.psd1
+++ b/Src/DSInternals.PowerShell/DSInternals.psd1
@@ -8,7 +8,7 @@
RootModule = 'DSInternals.Bootstrap.psm1'
# Version number of this module.
-ModuleVersion = '4.7'
+ModuleVersion = '4.8'
# Supported PSEditions
# CompatiblePSEditions = 'Desktop'
@@ -23,7 +23,7 @@ Author = 'Michael Grafnetter'
CompanyName = 'DSInternals'
# Copyright statement for this module
-Copyright = '(c) 2015-2021 Michael Grafnetter. All rights reserved.'
+Copyright = '(c) 2015-2022 Michael Grafnetter. All rights reserved.'
# Description of the functionality provided by this module
Description = @"
@@ -141,8 +141,9 @@ PrivateData = @{
# ReleaseNotes of this module
ReleaseNotes = @"
-- The Test-PasswordQuality cmdlet can now detect kerberoastable user accounts. Its performance has also been slightly improved.
-- Objects returned by the Get-ADDBAccount, Get-ADReplAccount, and Get-ADSIAccount cmdlets now have the SupportedEncryptionTypes property.
+- Fixed a regression error in ntds.dit file modification on Windows Server 2022.
+- Added pipeline input support to the -SamAccountName parameter of the Get-ADReplAccount cmdlet.
+- All cmdlets that modify the ntds.dit file now require the -Force parameter to be present.
"@
} # End of PSData hashtable
diff --git a/Src/DSInternals.PowerShell/License.txt b/Src/DSInternals.PowerShell/License.txt
index 94633ed..58e82b2 100644
--- a/Src/DSInternals.PowerShell/License.txt
+++ b/Src/DSInternals.PowerShell/License.txt
@@ -8,7 +8,7 @@ DSInternals PowerShell Module and Framework
The MIT License (MIT)
-Copyright (c) 2015-2021 Michael Grafnetter
+Copyright (c) 2015-2022 Michael Grafnetter
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Src/DSInternals.PowerShell/Properties/AssemblyInfo.cs b/Src/DSInternals.PowerShell/Properties/AssemblyInfo.cs
index 75391f9..96c41b9 100644
--- a/Src/DSInternals.PowerShell/Properties/AssemblyInfo.cs
+++ b/Src/DSInternals.PowerShell/Properties/AssemblyInfo.cs
@@ -5,8 +5,8 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DSInternals PowerShell Commands")]
-[assembly: AssemblyVersion("4.7")]
-[assembly: AssemblyFileVersion("4.7")]
+[assembly: AssemblyVersion("4.8")]
+[assembly: AssemblyFileVersion("4.8")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
diff --git a/Src/DSInternals.Replication.Interop/version.rc b/Src/DSInternals.Replication.Interop/version.rc
index be6d9c0..21b65b6 100644
--- a/Src/DSInternals.Replication.Interop/version.rc
+++ b/Src/DSInternals.Replication.Interop/version.rc
@@ -39,8 +39,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,7,0,0
- PRODUCTVERSION 4,7,0,0
+ FILEVERSION 4,8,0,0
+ PRODUCTVERSION 4,8,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -57,12 +57,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Michael Grafnetter"
VALUE "FileDescription", "DSInternals Replication Interop Library"
- VALUE "FileVersion", "4.7.0.0"
+ VALUE "FileVersion", "4.8.0.0"
VALUE "InternalName", "DSInternals.Replication.Interop"
- VALUE "LegalCopyright", "Copyright © 2015-2021 Michael Grafnetter"
+ VALUE "LegalCopyright", "Copyright © 2015-2022 Michael Grafnetter"
VALUE "OriginalFilename", "DSInternals.Replication.Interop.dll"
VALUE "ProductName", "DSInternals PowerShell Module"
- VALUE "ProductVersion", "4.7.0.0"
+ VALUE "ProductVersion", "4.8.0.0"
END
END
BLOCK "VarFileInfo"
diff --git a/Src/DSInternals.Replication.Model/Properties/AssemblyInfo.cs b/Src/DSInternals.Replication.Model/Properties/AssemblyInfo.cs
index 635c2c3..af6a978 100644
--- a/Src/DSInternals.Replication.Model/Properties/AssemblyInfo.cs
+++ b/Src/DSInternals.Replication.Model/Properties/AssemblyInfo.cs
@@ -5,8 +5,8 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DSInternals Replication Data Model")]
-[assembly: AssemblyVersion("4.7")]
-[assembly: AssemblyFileVersion("4.7")]
+[assembly: AssemblyVersion("4.8")]
+[assembly: AssemblyFileVersion("4.8")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
diff --git a/Src/DSInternals.Replication/DSInternals.Replication.nuspec b/Src/DSInternals.Replication/DSInternals.Replication.nuspec
index d4f91f8..7e03fae 100644
--- a/Src/DSInternals.Replication/DSInternals.Replication.nuspec
+++ b/Src/DSInternals.Replication/DSInternals.Replication.nuspec
@@ -14,9 +14,9 @@
DSInternals Replication implements a client for the Active Directory Replication Service Remote Protocol (DRS-R). It can be used to remotely extract password hashes from domain controllers.
DSInternals Replication implements a client for the Active Directory Replication Service Remote Protocol (DRS-R).
-- The msDs-supportedEncryptionTypes attribute can now be read on replicated accounts.
+- Updated dependencies.
- Copyright (c) 2015-2021 Michael Grafnetter. All rights reserved.
+ Copyright (c) 2015-2022 Michael Grafnetter. All rights reserved.
ActiveDirectory Security RPC DRSR
diff --git a/Src/DSInternals.Replication/Properties/AssemblyInfo.cs b/Src/DSInternals.Replication/Properties/AssemblyInfo.cs
index 6f24d13..d574e72 100644
--- a/Src/DSInternals.Replication/Properties/AssemblyInfo.cs
+++ b/Src/DSInternals.Replication/Properties/AssemblyInfo.cs
@@ -5,8 +5,8 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DSInternals Replication Library")]
-[assembly: AssemblyVersion("4.7")]
-[assembly: AssemblyFileVersion("4.7")]
+[assembly: AssemblyVersion("4.8")]
+[assembly: AssemblyFileVersion("4.8")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
diff --git a/Src/DSInternals.SAM/DSInternals.SAM.nuspec b/Src/DSInternals.SAM/DSInternals.SAM.nuspec
index 1c437db..e8deca7 100644
--- a/Src/DSInternals.SAM/DSInternals.SAM.nuspec
+++ b/Src/DSInternals.SAM/DSInternals.SAM.nuspec
@@ -14,9 +14,9 @@
DSInternals SAM implements a client for the Security Accounts Manager Remote Protocol (SAM-R) and Local Security Authority Remote Protocol(MS-LSAD or LSARPC). It can be used to import password hashes into Active Directory or to query and modify LSA Policy.
DSInternals SAM implements a client for SAM-R and MS-LSAD/LSARPC protocols.
-- Updated the target .NET Framework to 4.7.2.
+- Updated dependencies.
- Copyright (c) 2015-2021 Michael Grafnetter. All rights reserved.
+ Copyright (c) 2015-2022 Michael Grafnetter. All rights reserved.
ActiveDirectory Security RPC SAMR LSARPC AD Identity Active Directory
diff --git a/Src/DSInternals.SAM/Properties/AssemblyInfo.cs b/Src/DSInternals.SAM/Properties/AssemblyInfo.cs
index 1aca646..64db2d2 100644
--- a/Src/DSInternals.SAM/Properties/AssemblyInfo.cs
+++ b/Src/DSInternals.SAM/Properties/AssemblyInfo.cs
@@ -5,8 +5,8 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DSInternals SAM Library")]
-[assembly: AssemblyVersion("4.5")]
-[assembly: AssemblyFileVersion("4.5")]
+[assembly: AssemblyVersion("4.8")]
+[assembly: AssemblyFileVersion("4.8")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]