Skip to content

v0.3.0 public release - #28

Merged
rebelinux merged 24 commits into
masterfrom
dev
Jun 19, 2026
Merged

v0.3.0 public release#28
rebelinux merged 24 commits into
masterfrom
dev

Conversation

@rebelinux

Copy link
Copy Markdown
Collaborator

[0.3.0] - [2026-06-18]

Added

  • Add support for IPv4 Scope Statistics chart

Changed

  • Increase AsBuiltReport.Core modules to v1.6.4
  • Reorganize module structure - moved module files to AsBuiltReport.Microsoft.DHCP/ subdirectory
  • Implemented pwsh best practices

Fixed

  • Fix ConvertTo-TextYN and ConvertTo-EmptyToFiller throwing on $null input by adding [AllowNull()] to the $TEXT parameter, so null values render as -- instead of raising "Cannot process argument transformation on parameter 'TEXT'"
  • Fix ConvertTo-HashToYN iterating an undefined $inObj variable instead of its $TEXT parameter
  • Skip empty domain entries before calling Get-ADDomain in Get-AbrADDHCPDomain to avoid "Identity property on the argument is null or empty" errors
  • Fix #26
  • Fix ConvertTo-HashToYN cmdlet not respecting hash table ordering

rebelinux and others added 21 commits January 21, 2026 16:23
Wrap per-server New-CimSession + scope collection in try/catch blocks
in both Get-AbrADDHCPDomain and Get-AbrADDHCPStandAlone. Rename the
CIM session variable in Get-AbrADDHCPInfrastructure to avoid collision
with the parent scope.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fix: CIM session failures crash entire report sections
ConvertTo-TextYN and ConvertTo-EmptyToFiller declare their $TEXT
parameter as [string] with [AllowEmptyString()] but not [AllowNull()].
Passing $null tripped the parameter binder before the function body ran,
raising "Cannot process argument transformation on parameter 'TEXT'.
Cannot convert value to type System.String." The existing `$Null`
switch case was therefore unreachable. DHCP properties that come back
null (e.g. failover AutoStateTransition/EnableAuth, option-definition
MultiValued) produced these errors and left blank report cells.
Adding [AllowNull()] lets null reach the body and render as "--".

ConvertTo-HashToYN enumerated an undefined $inObj variable instead of
its $TEXT parameter, so it never converted the supplied hashtable.

Get-AbrADDHCPDomain called Get-ADDomain before testing the domain
value, so an empty element from $OrderedDomains.split(" ") raised
"Cannot validate argument on parameter 'Identity'. The Identity
property on the argument is null or empty." Guard the value first and
test the lookup result ($DomainInfo) instead.
Fix null-handling errors in DHCP report generation
Paragraph "The following section provides a summary of the Dynamic Host Configuration Protocol."
$DHCPinDC = ($DHCPinDomain | Where-Object { $_.DnsName.split(".", 2)[1] -eq $DomainInfo.DNSRoot -and $_.DnsName -notin $Options.Exclude.DCs }).DnsName
Paragraph 'The following section provides a summary of the Dynamic Host Configuration Protocol.'
$DHCPinDC = ($DHCPinDomain | Where-Object { $_.DnsName.split('.', 2)[1] -eq $DomainInfo.DNSRoot -and $_.DnsName -notin $Options.Exclude.DCs }).DnsName
@rebelinux
rebelinux merged commit 188ee29 into master Jun 19, 2026
4 checks passed
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