diff --git a/Documentation/CHANGELOG.md b/Documentation/CHANGELOG.md index 7170f08..2bf8fef 100644 --- a/Documentation/CHANGELOG.md +++ b/Documentation/CHANGELOG.md @@ -1,16 +1,21 @@ # 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.2] - 2020-03-18 ### Added -- 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 now do not require the `Domain` and `NamingContext` parameters to be specified, as their proper values are retrieved from the target DC. +- 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 @@ -361,7 +366,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.1...HEAD +[Unreleased]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.2...HEAD +[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 diff --git a/Documentation/PowerShell/Test-PasswordQuality.md b/Documentation/PowerShell/Test-PasswordQuality.md index 23c77db..6ec3a27 100644 --- a/Documentation/PowerShell/Test-PasswordQuality.md +++ b/Documentation/PowerShell/Test-PasswordQuality.md @@ -55,7 +55,7 @@ These groups of accounts have the same passwords: Group 1: CONTOSO\graham CONTOSO\graham_admin - Group 1: + Group 2: CONTOSO\admin CONTOSO\sql_svc01 @@ -92,7 +92,7 @@ Performs an offline credential hygiene audit of AD database against HIBP. ### Example 2 ```powershell -PS C:\> $results = Get-ADReplAccount -All -NamingContext 'DC=contoso,DC=com' -Server LON-DC1 | +PS C:\> $results = Get-ADReplAccount -All -Server LON-DC1 | Test-PasswordQuality -WeakPasswords 'Pa$$w0rd','April2019' -WeakPasswordHashesSortedFile pwned-passwords-ntlm-ordered-by-hash-v4.txt ``` @@ -116,6 +116,27 @@ PS C:\> Get-ADDBAccount -All -DatabasePath ntds.dit -BootKey $key | Performs an offline credential hygiene audit of a selected OU from AD database against HIBP. +### Example 5 +```powershell +PS C:\> $contosoAccounts = Get-ADReplAccount -All -Server LON-DC1.contoso.com +PS C:\> $adatumAccounts = Get-ADReplAccount -All -Server NYC-DC1.adatum.com -Credential (Get-Credential) +PS C:\> $contosoAccounts + $adatumAccounts | Test-PasswordQuality +<# Sample Output (Partial) + +These groups of accounts have the same passwords: + Group 1: + ADATUM\smith + ADATUM\doe + Group 2: + ADATUM\Administrator + ADATUM\joe_admin + CONTOSO\Administrator + CONTOSO\joe_admin +#> +``` + +Performs a cross-forest duplicate password discovery. Any number of Get-ADReplAccount and Get-ADDBAccount cmdlet outputs can be combined together, as long as the computer has enough memory. + ## PARAMETERS ### -Account diff --git a/LICENSE.md b/LICENSE.md index f1887b5..25fa18a 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2015-2019 Michael Grafnetter +Copyright (c) 2015-2020 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/Scripts/Pack-Chocolatey.ps1 b/Scripts/Pack-Chocolatey.ps1 index 2b82674..5090c2c 100644 --- a/Scripts/Pack-Chocolatey.ps1 +++ b/Scripts/Pack-Chocolatey.ps1 @@ -19,7 +19,7 @@ if(-not $catalogIsValid) } # Create target folder -mkdir $outputDir -Force +New-Item -Path $outputDir -ItemType Directory -Force # Pack using Chocolatey choco pack $nuspecPath --outputdirectory $outputDir --timeout 60 --confirm --verbose \ No newline at end of file diff --git a/Scripts/Pack-NuGetPackages.ps1 b/Scripts/Pack-NuGetPackages.ps1 index a7a70b9..371f0bb 100644 --- a/Scripts/Pack-NuGetPackages.ps1 +++ b/Scripts/Pack-NuGetPackages.ps1 @@ -18,13 +18,14 @@ $nugetExeUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe' if(-not (Test-Path $nuget)) { - mkdir $toolsDir + New-Item -Path $toolsDir -ItemType Directory -Force Invoke-WebRequest -Uri $nugetExeUrl -OutFile $nuget } # Pack all *.csproj files that have a corresponding *.nuspec file -Get-ChildItem -Path $repoRoot -Filter *.nuspec -Exclude DSInternals.nuspec -Recurse -File | +Get-ChildItem -Path $repoRoot -Filter *.nuspec -Recurse -File | ForEach-Object { $PSItem.FullName.Replace('.nuspec', '.csproj') } | + Where-Object { Test-Path -Path $PSItem -PathType Leaf } | ForEach-Object { $solutionFile = $PSItem & $nuget pack $solutionFile -OutputDirectory $outputDir -IncludeReferencedProjects -Verbosity detailed -NonInteractive diff --git a/Src/Configuration/CommonAssemblyInfo.cs b/Src/Configuration/CommonAssemblyInfo.cs index 5b199d3..856221a 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-2019 Michael Grafnetter. All rights reserved.")] \ No newline at end of file +[assembly: AssemblyCopyright("Copyright © 2015-2020 Michael Grafnetter. All rights reserved.")] \ No newline at end of file diff --git a/Src/DSInternals.Common/DSInternals.Common.nuspec b/Src/DSInternals.Common/DSInternals.Common.nuspec index d0dcded..5533e95 100644 --- a/Src/DSInternals.Common/DSInternals.Common.nuspec +++ b/Src/DSInternals.Common/DSInternals.Common.nuspec @@ -6,14 +6,18 @@ DSInternals Common Michael Grafnetter Michael Grafnetter - https://github.com/MichaelGrafnetter/DSInternals/blob/master/LICENSE.md + MIT https://github.com/MichaelGrafnetter/DSInternals/ + https://www.dsinternals.com/wp-content/uploads/ad.png false This package is shared between all other DSInternals packages. 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. - Roamed CNG keys are now exported in proper format. - Copyright (c) 2015-2019 Michael Grafnetter. All rights reserved. + +- A property called LogonName has been added to the DsAccount class, to support multi-domain scenarios. +- Several bugs in the ADSI client have been fixed. + + Copyright (c) 2015-2020 Michael Grafnetter. All rights reserved. ActiveDirectory Security diff --git a/Src/DSInternals.Common/Properties/AssemblyInfo.cs b/Src/DSInternals.Common/Properties/AssemblyInfo.cs index 894c2ee..a0914c2 100644 --- a/Src/DSInternals.Common/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.Common/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals Common Library")] -[assembly: AssemblyVersion("4.1")] -[assembly: AssemblyFileVersion("4.1")] +[assembly: AssemblyVersion("4.2")] +[assembly: AssemblyFileVersion("4.2")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec b/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec index 1af273e..8ebcc27 100644 --- a/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec +++ b/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec @@ -6,14 +6,15 @@ DSInternals DataStore Michael Grafnetter Michael Grafnetter - https://github.com/MichaelGrafnetter/DSInternals/blob/master/LICENSE.md + MIT https://github.com/MichaelGrafnetter/DSInternals/ + https://www.dsinternals.com/wp-content/uploads/ad.png false 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. - Fixed the order of entries in serialized replication metadata. - Copyright (c) 2015-2019 Michael Grafnetter. All rights reserved. + Directory accounts now contain domain information in the LogonName property. + Copyright (c) 2015-2020 Michael Grafnetter. All rights reserved. ActiveDirectory Security NTDS diff --git a/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs b/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs index 9901761..6aff5c4 100644 --- a/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals DataStore Library")] -[assembly: AssemblyVersion("4.1")] -[assembly: AssemblyFileVersion("4.1")] +[assembly: AssemblyVersion("4.2")] +[assembly: AssemblyFileVersion("4.2")] [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 76dc714..f4df342 100644 --- a/Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec +++ b/Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec @@ -3,14 +3,14 @@ DSInternals-PSModule - 4.1 + 4.2 https://github.com/MichaelGrafnetter/DSInternals/tree/master/Src/DSInternals.PowerShell/Chocolatey MichaelGrafnetter DSInternals PowerShell Module Michael Grafnetter https://github.com/MichaelGrafnetter/DSInternals https://www.dsinternals.com/wp-content/uploads/ad.png - (c) 2015-2019 Michael Grafnetter. All rights reserved. + (c) 2015-2020 Michael Grafnetter. All rights reserved. https://github.com/MichaelGrafnetter/DSInternals/blob/master/LICENSE.md false https://github.com/MichaelGrafnetter/DSInternals/tree/master/Src @@ -36,8 +36,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 now contains a check for accounts that require smart card authentication and have a password at the same time. -* Minor bug fixes. +* The Test-PasswordQuality cmdlet now supports cross-domain and cross-forest duplicate password detection. +* The Get-ADReplAccount, Get-ADReplBackupKey and 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. +* Fixed multiple bugs related to Credential Roaming. diff --git a/Src/DSInternals.PowerShell/DSInternals.psd1 b/Src/DSInternals.PowerShell/DSInternals.psd1 index 6a82a3c..81acad2 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.1' +ModuleVersion = '4.2' # ID used to uniquely identify this module GUID = '766b3ad8-eb78-48e6-84bd-61b31d96b53e' @@ -20,7 +20,7 @@ Author = 'Michael Grafnetter' CompanyName = 'DSInternals' # Copyright statement for this module -Copyright = '(c) 2015-2019 Michael Grafnetter. All rights reserved.' +Copyright = '(c) 2015-2020 Michael Grafnetter. All rights reserved.' # Description of the functionality provided by this module Description = @" @@ -137,8 +137,9 @@ PrivateData = @{ # ReleaseNotes of this module ReleaseNotes = @" -- The Test-PasswordQuality cmdlet now contains a check for accounts that require smart card authentication and have a password at the same time. -- Minor bug fixes. +- The Test-PasswordQuality cmdlet now supports cross-domain and cross-forest duplicate password detection. +- The Get-ADReplAccount, Get-ADReplBackupKey and 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. +- Fixed multiple bugs related to Credential Roaming. "@ } # End of PSData hashtable diff --git a/Src/DSInternals.PowerShell/License.txt b/Src/DSInternals.PowerShell/License.txt index 61ab01e..8d71878 100644 --- a/Src/DSInternals.PowerShell/License.txt +++ b/Src/DSInternals.PowerShell/License.txt @@ -4,11 +4,11 @@ The binary distribution of the DSInternals PowerShell Module contains the follow DSInternals PowerShell Module and Framework ------------------------------------------- -(License updated on 7/7/2019 from https://raw.githubusercontent.com/MichaelGrafnetter/DSInternals/master/LICENSE.md.) +(License updated on 3/17/2020 from https://raw.githubusercontent.com/MichaelGrafnetter/DSInternals/master/LICENSE.md.) The MIT License (MIT) -Copyright (c) 2015-2019 Michael Grafnetter +Copyright (c) 2015-2020 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 6afc183..6404cd8 100644 --- a/Src/DSInternals.PowerShell/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.PowerShell/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals PowerShell Commands")] -[assembly: AssemblyVersion("4.1")] -[assembly: AssemblyFileVersion("4.1")] +[assembly: AssemblyVersion("4.2")] +[assembly: AssemblyFileVersion("4.2")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/Src/DSInternals.PowerShell/Tests/DSInternals.Smoke.Tests.ps1 b/Src/DSInternals.PowerShell/Tests/DSInternals.Smoke.Tests.ps1 index 0897ece..5ff6d79 100644 --- a/Src/DSInternals.PowerShell/Tests/DSInternals.Smoke.Tests.ps1 +++ b/Src/DSInternals.PowerShell/Tests/DSInternals.Smoke.Tests.ps1 @@ -84,8 +84,10 @@ Describe 'DSInternals PowerShell Module' { Select-String -Path $aboutPagePath -Pattern 'about_DSInternals' -CaseSensitive -SimpleMatch -Quiet | Should Be $true } - It 'contains the License.txt file' { - Join-Path $ModulePath 'License.txt' | Should -Exist + It 'contains the License.txt file with up-to-date copyright' { + $licenseFile = Join-Path $ModulePath 'License.txt' + $licenseFile | Should -Exist + $licenseFile | Should -FileContentMatch ('Copyright \(c\) 2015-{0}' -f (Get-Date).Year) } It 'contains Visual C++ Runtime ()' -TestCases @{ Platform = 'x86' },@{ Platform = 'amd64' } -Test { diff --git a/Src/DSInternals.PowerShell/en-US/DSInternals.PowerShell.dll-Help.xml b/Src/DSInternals.PowerShell/en-US/DSInternals.PowerShell.dll-Help.xml index 3088ce7..cc007d7 100644 --- a/Src/DSInternals.PowerShell/en-US/DSInternals.PowerShell.dll-Help.xml +++ b/Src/DSInternals.PowerShell/en-US/DSInternals.PowerShell.dll-Help.xml @@ -9419,7 +9419,7 @@ These groups of accounts have the same passwords: Group 1: CONTOSO\graham CONTOSO\graham_admin - Group 1: + Group 2: CONTOSO\admin CONTOSO\sql_svc01 @@ -9456,7 +9456,7 @@ These accounts that require smart card authentication have a password: -------------------------- Example 2 -------------------------- - PS C:\> $results = Get-ADReplAccount -All -NamingContext 'DC=contoso,DC=com' -Server LON-DC1 | + PS C:\> $results = Get-ADReplAccount -All -Server LON-DC1 | Test-PasswordQuality -WeakPasswords 'Pa$$w0rd','April2019' -WeakPasswordHashesSortedFile pwned-passwords-ntlm-ordered-by-hash-v4.txt Performs an online credential hygiene audit of AD against HIBP + a custom wordlist. @@ -9480,6 +9480,27 @@ These accounts that require smart card authentication have a password: Performs an offline credential hygiene audit of a selected OU from AD database against HIBP. + + -------------------------- Example 5 -------------------------- + PS C:\> $contosoAccounts = Get-ADReplAccount -All -Server LON-DC1.contoso.com +PS C:\> $adatumAccounts = Get-ADReplAccount -All -Server NYC-DC1.adatum.com -Credential (Get-Credential) +PS C:\> $contosoAccounts + $adatumAccounts | Test-PasswordQuality +<# Sample Output (Partial) + +These groups of accounts have the same passwords: + Group 1: + ADATUM\smith + ADATUM\doe + Group 2: + ADATUM\Administrator + ADATUM\joe_admin + CONTOSO\Administrator + CONTOSO\joe_admin +#> + + Performs a cross-forest duplicate password discovery. Any number of Get-ADReplAccount and Get-ADDBAccount cmdlet outputs can be combined together, as long as the computer has enough memory. + + diff --git a/Src/DSInternals.Replication.Interop/AssemblyInfo.cpp b/Src/DSInternals.Replication.Interop/AssemblyInfo.cpp index d2deb65..cc4bdbd 100644 --- a/Src/DSInternals.Replication.Interop/AssemblyInfo.cpp +++ b/Src/DSInternals.Replication.Interop/AssemblyInfo.cpp @@ -14,7 +14,7 @@ using namespace System::Security::Permissions; // [assembly:AssemblyTitleAttribute(L"DSInternals Replication Interop Library")]; // Note: Do not forget to change the version in version.rc files. -[assembly:AssemblyVersionAttribute("4.0")]; +[assembly:AssemblyVersionAttribute("4.2")]; [assembly:AssemblyDescriptionAttribute(L"")]; [assembly:AssemblyConfigurationAttribute(L"")]; [assembly:AssemblyCompanyAttribute(L"")]; diff --git a/Src/DSInternals.Replication.Interop/version.rc b/Src/DSInternals.Replication.Interop/version.rc index 986f163..1467862 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,0,0,0 - PRODUCTVERSION 4,0,0,0 + FILEVERSION 4,2,0,0 + PRODUCTVERSION 4,2,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.0.0.0" + VALUE "FileVersion", "4.2.0.0" VALUE "InternalName", "DSInternals.Replication.Interop" - VALUE "LegalCopyright", "Copyright © 2015-2019 Michael Grafnetter" + VALUE "LegalCopyright", "Copyright © 2015-2020 Michael Grafnetter" VALUE "OriginalFilename", "DSInternals.Replication.Interop.dll" VALUE "ProductName", "DSInternals PowerShell Module" - VALUE "ProductVersion", "4.0.0.0" + VALUE "ProductVersion", "4.2.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 0db0f8c..997423d 100644 --- a/Src/DSInternals.Replication.Model/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.Replication.Model/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals Replication Data Model")] -[assembly: AssemblyVersion("4.0")] -[assembly: AssemblyFileVersion("4.0")] +[assembly: AssemblyVersion("4.2")] +[assembly: AssemblyFileVersion("4.2")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/Src/DSInternals.Replication/DSInternals.Replication.nuspec b/Src/DSInternals.Replication/DSInternals.Replication.nuspec index 508e1ea..4b0a65d 100644 --- a/Src/DSInternals.Replication/DSInternals.Replication.nuspec +++ b/Src/DSInternals.Replication/DSInternals.Replication.nuspec @@ -6,14 +6,15 @@ DSInternals Replication Michael Grafnetter Michael Grafnetter - https://github.com/MichaelGrafnetter/DSInternals/blob/master/LICENSE.md + MIT https://github.com/MichaelGrafnetter/DSInternals/ + https://www.dsinternals.com/wp-content/uploads/ad.png false 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). - Added support for the IDL_DRSWriteNgcKey operation. - Copyright (c) 2015-2019 Michael Grafnetter. All rights reserved. + Directory accounts now contain domain information in the LogonName property. + Copyright (c) 2015-2020 Michael Grafnetter. All rights reserved. ActiveDirectory Security RPC DRSR @@ -22,7 +23,7 @@ - + diff --git a/Src/DSInternals.Replication/Properties/AssemblyInfo.cs b/Src/DSInternals.Replication/Properties/AssemblyInfo.cs index 4757ac1..c719134 100644 --- a/Src/DSInternals.Replication/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.Replication/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals Replication Library")] -[assembly: AssemblyVersion("4.0")] -[assembly: AssemblyFileVersion("4.0")] +[assembly: AssemblyVersion("4.2")] +[assembly: AssemblyFileVersion("4.2")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/Src/DSInternals.SAM/DSInternals.SAM.nuspec b/Src/DSInternals.SAM/DSInternals.SAM.nuspec index 717cbf3..bbf047e 100644 --- a/Src/DSInternals.SAM/DSInternals.SAM.nuspec +++ b/Src/DSInternals.SAM/DSInternals.SAM.nuspec @@ -6,14 +6,15 @@ DSInternals SAM Michael Grafnetter Michael Grafnetter - https://github.com/MichaelGrafnetter/DSInternals/blob/master/LICENSE.md + MIT https://github.com/MichaelGrafnetter/DSInternals/ + https://www.dsinternals.com/wp-content/uploads/ad.png false 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 package references. - Copyright (c) 2015-2019 Michael Grafnetter. All rights reserved. + Copyright (c) 2015-2020 Michael Grafnetter. All rights reserved. ActiveDirectory Security RPC SAMR LSARPC diff --git a/Src/DSInternals.SAM/Properties/AssemblyInfo.cs b/Src/DSInternals.SAM/Properties/AssemblyInfo.cs index 08934da..51b2a33 100644 --- a/Src/DSInternals.SAM/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.SAM/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals SAM Library")] -[assembly: AssemblyVersion("4.0")] -[assembly: AssemblyFileVersion("4.0")] +[assembly: AssemblyVersion("4.2")] +[assembly: AssemblyFileVersion("4.2")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")]