Merged
Conversation
Contributor
There was a problem hiding this comment.
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. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Contributor
|
@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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.