Skip to content

Refactoring#216

Merged
MichaelGrafnetter merged 11 commits intomasterfrom
MichaelGrafnetter-patch-1
Feb 8, 2026
Merged

Refactoring#216
MichaelGrafnetter merged 11 commits intomasterfrom
MichaelGrafnetter-patch-1

Conversation

@MichaelGrafnetter
Copy link
Copy Markdown
Owner

This pull request introduces several improvements and cleanups across the documentation, CI workflows, and test code. The most significant changes are the removal of deprecated Azure AD Graph API code, merging and simplifying PowerShell module bootstrapping, and enhancements to the test suite for FIDO key material parsing. Additionally, the documentation and CI configuration have been updated for clarity and compatibility.

Copilot AI review requested due to automatic review settings February 8, 2026 12:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors DSInternals by removing deprecated Azure AD Graph-related functionality, consolidating PowerShell module bootstrapping into the module manifest/import flow, and updating tests/CI/docs accordingly (including new FIDO key material parsing tests).

Changes:

  • Remove Azure AD Graph cmdlets/help/tests and related “lenient JSON” infrastructure.
  • Move PowerShell module bootstrapping responsibilities into the module manifest and a new import-time compatibility script.
  • Update CI workflows and Pester tests to validate exports/metadata and improve FIDO key material parsing coverage.

Reviewed changes

Copilot reviewed 47 out of 47 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
Src/Directory.Build.props Removes an outdated AOT-related TODO comment.
Src/DSInternals.Replication/packages.lock.json Adds project references for new interop split (netframework/netcore).
Src/DSInternals.PowerShell/en-US/DSInternals.PowerShell.dll-Help.xml Removes RPC Protocol parameter docs and drops Azure AD cmdlet help; fills several placeholder descriptions/examples.
Src/DSInternals.PowerShell/Tests/Integration.Tests.ps1 Improves manifest validation and validates exported cmdlets/aliases via reflection.
Src/DSInternals.PowerShell/Tests/Documentation.Tests.ps1 Switches manifest loading approach for documentation validation.
Src/DSInternals.PowerShell/Tests/Chocolatey.Tests.ps1 Switches manifest loading approach for Chocolatey spec validation.
Src/DSInternals.PowerShell/Test-ModuleCompatibility.ps1 Adds import-time environment/compatibility checks (Windows/UCRT/blocked interop/FIPS).
Src/DSInternals.PowerShell/DSInternals.psd1 Changes RootModule to edition-specific binary module; adds import-time script; adds required assemblies/type processing updates.
Src/DSInternals.PowerShell/DSInternals.PowerShell.csproj Ships the new compatibility script; makes interop copy steps conditional on file existence.
Src/DSInternals.PowerShell/DSInternals.Bootstrap.psm1 Removes legacy script bootstrapper.
Src/DSInternals.PowerShell/Commands/Replication/GetADReplAccountCommand.cs Moves legacy alias to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Replication/AddADReplNgcKeyCommand.cs Moves legacy aliases to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Misc/TestPasswordQualityCommand.cs Moves legacy aliases to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Misc/GetADKeyCredential.cs Moves legacy aliases to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Misc/ConvertFromADManagedPasswordBlobCommand.cs Moves legacy alias to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/LSA/SetLsaPolicyInformationCommand.cs Moves legacy alias to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/LSA/GetSamPasswordPolicyCommand.cs Moves legacy aliases to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/LSA/GetLsaPolicyInformationCommand.cs Moves legacy alias to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Hash/SetSamAccountPasswordHashCommand.cs Moves legacy aliases to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Hash/ConvertToOrgIdHashCommand.cs Moves legacy aliases to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Encryption/ConvertFromUnicodePasswordCommand.cs Moves legacy alias to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Datastore/SetADDBBootKeyCommand.cs Moves legacy alias to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Datastore/GetBootKeyCommand.cs Moves legacy aliases to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Datastore/GetADDBServiceAccountCommand.cs Moves legacy aliases to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Datastore/GetADDBDnsResourceRecordCommand.cs Moves legacy alias to [Alias] on the cmdlet.
Src/DSInternals.PowerShell/Commands/Datastore/GetADDBBitlockerRecoveryInformationCommand.cs Moves many legacy aliases to [Alias] on the cmdlet.
Src/DSInternals.Common/Serialization/LenientJsonSerializer.cs Removes lenient JSON serializer used for Azure AD Graph-era formats.
Src/DSInternals.Common/Data/LAPS/LapsSerializationContext.cs Adds source-gen JSON context for LAPS cleartext password.
Src/DSInternals.Common/Data/LAPS/LapsEncryptedPassword.cs Updates callsites to renamed UTF-16 flag parameter.
Src/DSInternals.Common/Data/LAPS/LapsClearTextPassword.cs Refactors LAPS cleartext parsing to System.Text.Json source-gen and span-based parsing.
Src/DSInternals.Common/Data/Hello/KeyMaterialFido.cs Adds parsing helpers and nullability adjustments; uses source-gen context.
Src/DSInternals.Common/Data/Hello/KeyCredentialSerializationContext.cs Adds source-gen JSON context for KeyMaterialFido.
Src/DSInternals.Common/Data/Hello/KeyCredential.cs Removes JSON/AzureAD-Graph serialization surface; adjusts nullability; updates FIDO parsing path.
Src/DSInternals.Common/Data/Hello/CustomKeyInformationConverter.cs Removes JSON converter tied to removed JSON serialization path.
Src/DSInternals.Common/DSInternals.Common.csproj Removes explicit net48 System.Net.Http reference.
Src/DSInternals.Common.Test/SearchableDeviceKeyTester.cs Removes Azure AD SearchableDeviceKey parsing tests.
Src/DSInternals.Common.Test/LapsTester.cs Updates callsite to renamed UTF-16 flag parameter.
Src/DSInternals.Common.Test/KeyMaterialFidoTester.cs Adds new tests for FIDO key material parsing.
Src/DSInternals.Common.Test/KeyCredentialTester.cs Removes JSON round-trip tests; adjusts assertions for nullable CreationTime/CustomKeyInfo behavior.
Documentation/PowerShell/Get-ADReplKdsRootKey.md Removes -Protocol from syntax docs.
Documentation/PowerShell/Get-ADReplBackupKey.md Removes -Protocol from syntax docs.
Documentation/PowerShell/Get-ADReplAccount.md Removes -Protocol from syntax docs across parameter sets.
Documentation/PowerShell/Add-ADReplNgcKey.md Removes -Protocol from syntax docs across parameter sets.
Documentation/CHANGELOG.md Adds Unreleased section and updates historical entries to reflect Azure AD Graph removal.
AGENTS.md Fixes/updates documentation links/paths and formatting.
.github/workflows/release.yml Updates release artifact file list and switches to Test-ModuleManifest for module metadata extraction.
.github/workflows/autobuild.yml Updates runner image and switches to Test-ModuleManifest for module version extraction.

MichaelGrafnetter and others added 2 commits February 8, 2026 14:45
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 8, 2026

@MichaelGrafnetter I've opened a new pull request, #217, to work on those changes. Once the pull request is ready, I'll request review from you.

@MichaelGrafnetter MichaelGrafnetter merged commit 7e43a1c into master Feb 8, 2026
1 check passed
@MichaelGrafnetter MichaelGrafnetter deleted the MichaelGrafnetter-patch-1 branch March 25, 2026 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants