Skip to content

feat: complete localization of all remaining hardcoded strings in Src/Private and Src/Public#244

Merged
rebelinux merged 26 commits intodevfrom
copilot/migrate-forest-multilingual-support
Mar 6, 2026
Merged

feat: complete localization of all remaining hardcoded strings in Src/Private and Src/Public#244
rebelinux merged 26 commits intodevfrom
copilot/migrate-forest-multilingual-support

Conversation

Copy link
Contributor

Copilot AI commented Mar 4, 2026

Several user-visible strings across four files were still hardcoded instead of going through the $reportTranslate localization system used everywhere else in the codebase.

Hardcoded strings replaced

  • Invoke-AsBuiltReport.Microsoft.AD.ps1'DISCLAIMER' section title
  • Get-AbrADForest.ps1'Certificate Authority Diagram' (section heading + Image -Text)
  • Get-AbrADDomainController.ps1'Domain Controller Object - Chart' (Image -Text)
  • Get-AbrADSecurityAssessment.ps1 — 6 strings: user account diagram alt-text, privileged-users email note, delegation footnote, reference label, reference URL, and service-accounts AdminCount note

PSD1 keys added

9 new keys added to both Language/en-US/MicrosoftAD.psd1 and Language/es-ES/MicrosoftAD.psd1 (es-ES entries are properly translated):

Key group New keys
InvokeAsBuiltReportMicrosoftAD DisclaimerSection
GetAbrADForest CADiagram
GetAbrADDomainController DCObjectChart
GetAbrADSecurityAssessment UserAccountDiagram, PrivilegedUsersEmailNote, PrivilegedUsersDelegationNote, PrivilegedUsersReference, PrivilegedUsersReferenceURL, ServiceAccountsAdminCountNote

Example

# Before
Section -Style TOC -ExcludeFromTOC 'DISCLAIMER' { … }
Image -Text 'Domain Controller Object - Chart'# After
Section -Style TOC -ExcludeFromTOC $reportTranslate.InvokeAsBuiltReportMicrosoftAD.DisclaimerSection { … }
Image -Text $reportTranslate.GetAbrADDomainController.DCObjectChart

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • www.powershellgallery.com
    • Triggering command: /usr/bin/pwsh pwsh -Command Install-Module Pester -Force -SkipPublisherCheck -ErrorAction SilentlyContinue Import-Module Pester -Force Invoke-Pester -Path 'Tests/' -Output Detailed 2>&1 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>[Change Request]:</issue_title>
<issue_description>### Description

Migrate the Forest section to use multilingual support using the MicrosoftAD.psd1 file located in the Language folder as a reference. Add only En-US support.

Use the AsBuiltReport.Microsoft.Azure report located at as reference:
https://github.com/AsBuiltReport/AsBuiltReport.Microsoft.Azure

Additional Context

No response

Before submitting

  • I have read the documentation, and referred to the known issues before submitting this change request.
  • I have checked for previously opened & closed issues before submitting this change request.</issue_description>

Comments on the Issue (you are @copilot in this section)


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: rebelinux <1002783+rebelinux@users.noreply.github.com>
Copilot AI changed the title [WIP] Migrate Forest section to add En-US multilingual support Migrate Forest section to multilingual support via MicrosoftAD.psd1 Mar 4, 2026
@rebelinux rebelinux marked this pull request as ready for review March 4, 2026 15:11
Copilot AI review requested due to automatic review settings March 4, 2026 15:11
@github-actions
Copy link

github-actions bot commented Mar 4, 2026

PSScriptAnalyzer results:

Errors: [0], Warnings: [31], Information: [0]


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADGPO.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 19
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADAuthenticationPolicy.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADTrust.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADCACRLSetting.ps1
Line       : 22
Message    : The parameter 'CA' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADObjectName.ps1
Line       : 21
Message    : The parameter 'DC' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomain.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADKerberosAudit.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADOU.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 21
Message    : The parameter 'Filter' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 22
Message    : The parameter 'Properties' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 23
Message    : The parameter 'SelectPrty' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADCanonicalName.ps1
Line       : 20
Message    : The parameter 'Domain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDFSHealth.ps1
Line       : 20
Message    : The parameter 'DCs' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Invoke-AsBuiltReport.Microsoft.AD.ps1
Line       : 22
Message    : The parameter 'Credential' has been declared but not used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 18
Message    : The variable 'Manifest' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 201
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 245
Message    : The variable 'PF' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 246
Message    : The variable 'ExpectedPrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 354
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 417
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 531
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 532
Message    : The variable 'PrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 562
Message    : The variable 'ModuleRoot' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 563
Message    : The variable 'SettingsPath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 608
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 690
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 3
Message    : The variable 'LanguagePath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 35
Message    : The variable 'TemplateKeys' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 36
Message    : The variable 'LanguageFolders' is assigned but never used.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

Copy link
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

Migrates the Forest report section to the module’s localization system by moving previously hardcoded English strings into MicrosoftAD.psd1 and updating report logic to reference translated property names safely.

Changes:

  • Added GetAbrForestSection translation keys and expanded GetAbrADForest keys in Language/en-US/MicrosoftAD.psd1.
  • Updated Get-AbrForestSection.ps1 and Get-AbrADForest.ps1 to use $reportTranslate.* strings (including fixing dynamic property references used by Where-Object / Set-Style).
  • Added Language/es-ES/MicrosoftAD.psd1 to satisfy existing module/test expectations for the es-ES locale.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
Src/Private/Get-AbrForestSection.ps1 Replaces hardcoded Forest section strings with localized keys.
Src/Private/Get-AbrADForest.ps1 Localizes headings/text and fixes style/filters to use translated property names.
Language/en-US/MicrosoftAD.psd1 Adds/extends localization keys for Forest/ADForest sections.
Language/es-ES/MicrosoftAD.psd1 Adds required es-ES locale file (placeholder content).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@github-actions
Copy link

github-actions bot commented Mar 4, 2026

PSScriptAnalyzer results:

Errors: [0], Warnings: [31], Information: [0]


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADGPO.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 19
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADAuthenticationPolicy.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADTrust.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADCACRLSetting.ps1
Line       : 22
Message    : The parameter 'CA' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADObjectName.ps1
Line       : 21
Message    : The parameter 'DC' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomain.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADKerberosAudit.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADOU.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 21
Message    : The parameter 'Filter' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 22
Message    : The parameter 'Properties' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 23
Message    : The parameter 'SelectPrty' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADCanonicalName.ps1
Line       : 20
Message    : The parameter 'Domain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDFSHealth.ps1
Line       : 20
Message    : The parameter 'DCs' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Invoke-AsBuiltReport.Microsoft.AD.ps1
Line       : 22
Message    : The parameter 'Credential' has been declared but not used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 18
Message    : The variable 'Manifest' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 201
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 245
Message    : The variable 'PF' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 246
Message    : The variable 'ExpectedPrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 354
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 417
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 531
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 532
Message    : The variable 'PrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 562
Message    : The variable 'ModuleRoot' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 563
Message    : The variable 'SettingsPath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 608
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 690
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 3
Message    : The variable 'LanguagePath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 35
Message    : The variable 'TemplateKeys' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 36
Message    : The variable 'LanguageFolders' is assigned but never used.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

…ltipleRootCABP

Co-authored-by: rebelinux <1002783+rebelinux@users.noreply.github.com>
@github-actions
Copy link

github-actions bot commented Mar 4, 2026

PSScriptAnalyzer results:

Errors: [0], Warnings: [31], Information: [0]


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADGPO.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 19
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADAuthenticationPolicy.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADTrust.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADCACRLSetting.ps1
Line       : 22
Message    : The parameter 'CA' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADObjectName.ps1
Line       : 21
Message    : The parameter 'DC' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomain.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADKerberosAudit.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADOU.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 21
Message    : The parameter 'Filter' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 22
Message    : The parameter 'Properties' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 23
Message    : The parameter 'SelectPrty' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADCanonicalName.ps1
Line       : 20
Message    : The parameter 'Domain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDFSHealth.ps1
Line       : 20
Message    : The parameter 'DCs' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Invoke-AsBuiltReport.Microsoft.AD.ps1
Line       : 22
Message    : The parameter 'Credential' has been declared but not used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 18
Message    : The variable 'Manifest' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 201
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 245
Message    : The variable 'PF' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 246
Message    : The variable 'ExpectedPrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 354
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 417
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 531
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 532
Message    : The variable 'PrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 562
Message    : The variable 'ModuleRoot' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 563
Message    : The variable 'SettingsPath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 608
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 690
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 3
Message    : The variable 'LanguagePath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 35
Message    : The variable 'TemplateKeys' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 36
Message    : The variable 'LanguageFolders' is assigned but never used.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

@rebelinux
Copy link
Collaborator

@copilot now migrate the rest of the Forest section:

  1. Get-AbrADSite
  2. Get-AbrADExchange
  3. Get-AbrADSCCM
  4. Get-AbrDHCPinAD

Copilot AI and others added 3 commits March 4, 2026 16:01
…AbrADSite to localization system

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: rebelinux <1002783+rebelinux@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 4, 2026

@copilot now migrate the rest of the Forest section:

  1. Get-AbrADSite
    ...

Done in commit 4c8d8d4 (and 4065eb7). All four files have been migrated to use $reportTranslate.* localization keys:

  • Get-AbrADExchange.ps1 — section heading, paragraph, column names (Name, DNS Name, Server Roles, Version) all moved to GetAbrADExchange key group
  • Get-AbrADSCCM.ps1 — section heading, paragraph, column names (Name, Management Point, Site Code, Version) moved to GetAbrADSCCM key group
  • Get-AbrDHCPinAD.ps1 — section heading, paragraph, column names + Yes/No/Unknown switch values moved to GetAbrDHCPinAD key group
  • Get-AbrADSite.ps1 (847 lines) — full migration with 70+ keys in GetAbrADSite:
    • All section headings, paragraphs, and Write-PScriboMessage strings
    • All $inObj property keys (column headers) localized
    • All Where-Object/Set-Style -Property/Sort-Object -Property use dynamic property access ($_.$($reportTranslate.GetAbrADSite.Key))
    • Sysvol replication status arrays rebuilt from translation keys
    • Site Link Options values localized and used consistently in comparisons
    • Fixed a pre-existing null comparison bug ($Null -eq 'Options' was always false; corrected to $Null -eq $_.$($reportTranslate.GetAbrADSite.Options))

All keys added to Language/en-US/MicrosoftAD.psd1.

@github-actions
Copy link

github-actions bot commented Mar 4, 2026

PSScriptAnalyzer results:

Errors: [0], Warnings: [31], Information: [0]


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADGPO.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 19
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADAuthenticationPolicy.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADTrust.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADCACRLSetting.ps1
Line       : 22
Message    : The parameter 'CA' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADObjectName.ps1
Line       : 21
Message    : The parameter 'DC' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomain.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADKerberosAudit.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADOU.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 21
Message    : The parameter 'Filter' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 22
Message    : The parameter 'Properties' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 23
Message    : The parameter 'SelectPrty' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADCanonicalName.ps1
Line       : 20
Message    : The parameter 'Domain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDFSHealth.ps1
Line       : 20
Message    : The parameter 'DCs' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Invoke-AsBuiltReport.Microsoft.AD.ps1
Line       : 22
Message    : The parameter 'Credential' has been declared but not used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 18
Message    : The variable 'Manifest' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 201
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 245
Message    : The variable 'PF' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 246
Message    : The variable 'ExpectedPrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 354
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 417
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 531
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 532
Message    : The variable 'PrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 562
Message    : The variable 'ModuleRoot' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 563
Message    : The variable 'SettingsPath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 608
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 690
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 3
Message    : The variable 'LanguagePath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 35
Message    : The variable 'TemplateKeys' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 36
Message    : The variable 'LanguageFolders' is assigned but never used.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

…scripts

Co-authored-by: rebelinux <1002783+rebelinux@users.noreply.github.com>
@github-actions
Copy link

github-actions bot commented Mar 5, 2026

PSScriptAnalyzer results:

Errors: [0], Warnings: [33], Information: [0]


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADGPO.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 19
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADAuthenticationPolicy.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADTrust.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADCACRLSetting.ps1
Line       : 22
Message    : The parameter 'CA' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADObjectName.ps1
Line       : 21
Message    : The parameter 'DC' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomain.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADKerberosAudit.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADOU.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 21
Message    : The parameter 'Filter' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 22
Message    : The parameter 'Properties' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 23
Message    : The parameter 'SelectPrty' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADCanonicalName.ps1
Line       : 20
Message    : The parameter 'Domain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDFSHealth.ps1
Line       : 20
Message    : The parameter 'DCs' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Invoke-AsBuiltReport.Microsoft.AD.ps1
Line       : 22
Message    : The parameter 'Credential' has been declared but not used.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : MicrosoftAD.psd1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 'MicrosoftAD.psd1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : MicrosoftAD.psd1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 'MicrosoftAD.psd1'

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 18
Message    : The variable 'Manifest' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 201
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 245
Message    : The variable 'PF' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 246
Message    : The variable 'ExpectedPrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 354
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 417
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 531
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 532
Message    : The variable 'PrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 562
Message    : The variable 'ModuleRoot' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 563
Message    : The variable 'SettingsPath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 608
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 690
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 3
Message    : The variable 'LanguagePath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 35
Message    : The variable 'TemplateKeys' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 36
Message    : The variable 'LanguageFolders' is assigned but never used.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

@rebelinux
Copy link
Collaborator

@copilot code review[agent] evaluate if all of the text were migrated to multi language support

…es in Domain section scripts

Co-authored-by: rebelinux <1002783+rebelinux@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 5, 2026

@copilot code review[agent] evaluate if all of the text were migrated to multi language support

Fixed in commit 9212e82. Found and migrated the following remaining hardcoded strings:

Get-AbrADDomainObject.ps1 — Two $Categories arrays with user-visible category labels were still hardcoded:

  • User categories (12 items): 'Total Users', 'Cannot Change Password', 'Password Never Expires', 'Must Change Password at Logon', 'Password Age (> 180 days)', 'SmartcardLogonRequired', 'SidHistory', 'Never Logged in', 'Dormant (> 90 days)', 'Password Not Required', 'Account Expired', 'Account Lockout'
  • Computer categories (4 items): 'Total Computers', 'Dormant (> 90 days)', 'Password Age (> 30 days)', 'SidHistory'
  • Also removed the associated if/elseif chains by replacing both arrays with ordered hashtables that map localized keys directly to their data variables

Get-AbrDomainSection.ps1 — Four hardcoded warning/log messages:

  • "Unable to connect to $DC. Removing it from the report."$reportTranslate.GetAbrDomainSection.UnableToConnect
  • "Error: ... WinRM ... (DCDiag)"$reportTranslate.GetAbrDomainSection.WinRMErrorDCDiag
  • "Error: ... WinRM ... (ADInfrastructureService)"$reportTranslate.GetAbrDomainSection.WinRMErrorInfraService
  • "$domain disabled in Exclude.Domain variable"$reportTranslate.GetAbrDomainSection.DomainExcluded

16 new localization keys added to Language/en-US/MicrosoftAD.psd1 and Language/es-ES/MicrosoftAD.psd1. All language tests pass.

@rebelinux
Copy link
Collaborator

@copilot now migrate all remaining cmdlet to support multi language

Copy link
Contributor Author

Copilot AI commented Mar 5, 2026

@copilot now migrate all remaining cmdlet to support multi language

The following 13 scripts still need to be migrated to multilingual support (they were not covered in the previous sessions):

  • Get-AbrADDomainLastBackup.ps1
  • Get-AbrADDFSHealth.ps1
  • Get-AbrADDuplicateSPN.ps1
  • Get-AbrADSecurityAssessment.ps1
  • Get-AbrADKerberosAudit.ps1
  • Get-AbrADDuplicateObject.ps1
  • Get-AbrADDomainController.ps1
  • Get-AbrADDCRoleFeature.ps1
  • Get-AbrADDCDiag.ps1
  • Get-AbrADInfrastructureService.ps1
  • Get-AbrADSiteReplication.ps1
  • Get-AbrADGPO.ps1
  • Get-AbrADOU.ps1

I ran out of time in this session before completing them. They will be addressed in the next session.

Copilot AI and others added 4 commits March 5, 2026 19:43
… DCRoleFeature, DCDiag, InfraService) to localization

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…zation

- Migrate Get-AbrADDFSHealth.ps1 to multilingual support
- Migrate Get-AbrADKerberosAudit.ps1 to multilingual support
- Migrate Get-AbrADSiteReplication.ps1 to multilingual support
- Migrate Get-AbrADOU.ps1 to multilingual support
- Add GetAbrADDFSHealth, GetAbrADKerberosAudit, GetAbrADSiteReplication,
  GetAbrADOU key groups to en-US and es-ES PSD1 files
- Fix pre-existing Sort-Object bug in Get-AbrADSiteReplication.ps1
  (was sorting by 'Source DSA' which never existed as a column)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add GetAbrADSecurityAssessment key group (46 keys) to en-US and es-ES PSD1
- Add GetAbrADGPO key group (87 keys) to en-US and es-ES PSD1
- Migrate Get-AbrADSecurityAssessment.ps1 to use $reportTranslate keys
  for all user-visible strings including section titles, paragraphs,
  column names, health check texts, and localized Yes/No/Unknown values
- Migrate Get-AbrADGPO.ps1 to use $reportTranslate keys across all
  nine sections: main summary, detail view, WMI Filters, Central Store,
  Logon/Logoff Script, Startup/Shutdown Script, Unlinked GPO, Empty GPOs,
  Enforced GPO, and Orphaned GPO

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…roller PS1 pending)

Co-authored-by: rebelinux <1002783+rebelinux@users.noreply.github.com>
Copilot AI changed the title Migrate Forest, DNS, PKI, and Domain sections to multilingual support via MicrosoftAD.psd1 Migrate all remaining cmdlets to multilingual support via MicrosoftAD.psd1 Mar 5, 2026
Co-authored-by: rebelinux <1002783+rebelinux@users.noreply.github.com>
Copilot AI changed the title Migrate all remaining cmdlets to multilingual support via MicrosoftAD.psd1 Migrate all remaining hardcoded strings in Private cmdlets to multilingual localization Mar 5, 2026
@github-actions
Copy link

github-actions bot commented Mar 6, 2026

PSScriptAnalyzer results:

Errors: [0], Warnings: [45], Information: [0]


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADGPO.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 126
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 127
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 128
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 130
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 132
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 133
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 134
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 135
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 136
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 137
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 803
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 805
Message    : Use space before and after binary and assignment operators.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 19
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADAuthenticationPolicy.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADTrust.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADCACRLSetting.ps1
Line       : 22
Message    : The parameter 'CA' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADObjectName.ps1
Line       : 21
Message    : The parameter 'DC' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomain.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADKerberosAudit.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADOU.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 21
Message    : The parameter 'Filter' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 22
Message    : The parameter 'Properties' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 23
Message    : The parameter 'SelectPrty' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADCanonicalName.ps1
Line       : 20
Message    : The parameter 'Domain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDFSHealth.ps1
Line       : 20
Message    : The parameter 'DCs' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Invoke-AsBuiltReport.Microsoft.AD.ps1
Line       : 22
Message    : The parameter 'Credential' has been declared but not used.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : MicrosoftAD.psd1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 'MicrosoftAD.psd1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : MicrosoftAD.psd1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 'MicrosoftAD.psd1'

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 18
Message    : The variable 'Manifest' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 201
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 245
Message    : The variable 'PF' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 246
Message    : The variable 'ExpectedPrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 354
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 417
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 531
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 532
Message    : The variable 'PrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 562
Message    : The variable 'ModuleRoot' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 563
Message    : The variable 'SettingsPath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 608
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 690
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 3
Message    : The variable 'LanguagePath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 35
Message    : The variable 'TemplateKeys' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 36
Message    : The variable 'LanguageFolders' is assigned but never used.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

Co-authored-by: rebelinux <1002783+rebelinux@users.noreply.github.com>
Copilot AI changed the title Migrate all remaining hardcoded strings in Private cmdlets to multilingual localization feat: complete localization of all remaining hardcoded strings in Src/Private and Src/Public Mar 6, 2026
@github-actions
Copy link

github-actions bot commented Mar 6, 2026

PSScriptAnalyzer results:

Errors: [0], Warnings: [45], Information: [0]


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADGPO.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 126
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 127
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 128
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 130
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 132
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 133
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 134
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 135
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 136
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 137
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 803
Message    : Use space before and after binary and assignment operators.

RuleName   : PSUseConsistentWhitespace
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 805
Message    : Use space before and after binary and assignment operators.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomainObject.ps1
Line       : 19
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADAuthenticationPolicy.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADTrust.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADCACRLSetting.ps1
Line       : 22
Message    : The parameter 'CA' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADObjectName.ps1
Line       : 21
Message    : The parameter 'DC' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDomain.ps1
Line       : 20
Message    : The parameter 'ValidDcFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADKerberosAudit.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADOU.ps1
Line       : 20
Message    : The parameter 'ValidDCFromDomain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 21
Message    : The parameter 'Filter' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 22
Message    : The parameter 'Properties' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-ADObjectSearch.ps1
Line       : 23
Message    : The parameter 'SelectPrty' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : ConvertTo-ADCanonicalName.ps1
Line       : 20
Message    : The parameter 'Domain' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Get-AbrADDFSHealth.ps1
Line       : 20
Message    : The parameter 'DCs' has been declared but not used.

RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : Invoke-AsBuiltReport.Microsoft.AD.ps1
Line       : 22
Message    : The parameter 'Credential' has been declared but not used.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : MicrosoftAD.psd1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 'MicrosoftAD.psd1'

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : MicrosoftAD.psd1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 'MicrosoftAD.psd1'

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 18
Message    : The variable 'Manifest' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 201
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 245
Message    : The variable 'PF' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 246
Message    : The variable 'ExpectedPrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 354
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 417
Message    : The variable 'JsonConfig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 531
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 532
Message    : The variable 'PrivateFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 562
Message    : The variable 'ModuleRoot' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 563
Message    : The variable 'SettingsPath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 608
Message    : The variable 'PublicFunctions' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : AsBuiltReport.Microsoft.AD.Tests.ps1
Line       : 690
Message    : The variable 'InvokeCommand' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 3
Message    : The variable 'LanguagePath' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 35
Message    : The variable 'TemplateKeys' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 36
Message    : The variable 'LanguageFolders' is assigned but never used.

RuleName   : PSUseSingularNouns
Severity   : Warning
ScriptName : LocalizationData.Tests.ps1
Line       : 6
Message    : The cmdlet 'Get-NestedLocalizationKeys' uses a plural noun. A 
             singular noun should be used instead.

@rebelinux rebelinux merged commit df1e79c into dev Mar 6, 2026
4 of 6 checks passed
@rebelinux rebelinux deleted the copilot/migrate-forest-multilingual-support branch March 6, 2026 17:32
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.

[Change Request]: Migrate the Forest section to use multilingual support

3 participants