Skip to content

Add dpi parameter to New-AbrDiagram and Icon size parameters to Add-HtmlNodeTable#27

Merged
rebelinux merged 2 commits into
devfrom
feature/diagram-dpi
Jun 16, 2026
Merged

Add dpi parameter to New-AbrDiagram and Icon size parameters to Add-HtmlNodeTable#27
rebelinux merged 2 commits into
devfrom
feature/diagram-dpi

Conversation

@tpcarman

Copy link
Copy Markdown
Contributor

Description

Adds two small enhancements to the diagram engine, both needed to support higher-quality, properly-sized Management Group hierarchy diagrams in a downstream report module (AsBuiltReport.Microsoft.Azure):

  1. New-AbrDiagram: adds an optional -Dpi parameter (ValidateRange(72, 600)) that sets the Graphviz dpi graph attribute, controlling the raster output resolution for PNG/JPG formats. Previously this was fixed at Graphviz's default of 96 DPI with no way to increase it.
  2. Add-HtmlNodeTable: adds optional -IconWidth/-IconHeight parameters for the regular (non-subgraph) icon TD in a node's HTML table. Previously this TD had no width/height/fixedsize attribute at all, so the icon's rendered size was derived solely from the source image's raw pixel dimensions, making on-page icon size unpredictable and hard to control. This mirrors the existing SubgraphIconWidth/SubgraphIconHeight pattern already used for the Subgraph-emulated icon path, just applied to the plain icon path.

Neither change alters default behaviour. Both parameters are optional and a no-op when omitted.

Related Issue

N/A. This is enhancement work identified while improving diagram quality in a consuming report module, not tied to a tracked issue.

Motivation and Context

A consuming report module (AsBuiltReport.Microsoft.Azure) renders a Management Group hierarchy diagram using Add-HtmlNodeTable and New-AbrDiagram. Two problems surfaced:

  • The diagram was rendered at a fixed 96 DPI with no way to increase sharpness for print/Word output.
  • The icon size in each node was effectively uncontrollable. Only the source PNG's native pixel count mattered, and even resizing the source file produced only marginal, unpredictable visual size changes (e.g. 40x40px to 50x50px source only grew the rendered icon by about 25 percent).

Both parameters give consumers explicit, predictable control over these two visual properties.

How Has This Been Tested?

Manual testing via direct module import and rendering (no automated Pester tests added, these are additive, optional parameters):

  • -Dpi: Rendered the same diagram at DPI 96, 150, 200, and 300 and confirmed the output PNG's pixel dimensions scaled proportionally (e.g. 96 to 467x479px, 300 to 1458x1496px, matching the 300/96 ratio).
  • -IconWidth/-IconHeight: Rendered a test node with and without the new parameters and measured the actual rendered icon's pixel footprint via row-content-bounding-box analysis. Default (no params): icon block about 46px tall. With -IconWidth 60 -IconHeight 60: icon block about 62px tall, confirming the fixed-size cell scales the image as expected, independent of the source file's native pixel dimensions.
  • Verified both Add-HtmlNodeTable.ps1 and New-AbrDiagram.ps1 parse cleanly with no syntax errors.
  • Confirmed existing call sites (without the new parameters) render unchanged, preserving backward compatibility.

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.

tpcarman and others added 2 commits June 16, 2026 16:00
Expose the Graphviz dpi graph attribute so raster (PNG/JPG) output
resolution can be set explicitly instead of being fixed at the
Graphviz default of 96.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The icon <TD> for a regular (non-subgraph) node had no width/height/fixedsize attribute, so its rendered size was derived purely from the source image's pixel count interpreted as Graphviz points. This made resizing the source PNG an unreliable way to control on-page icon size. Mirrors the existing SubgraphIconWidth/SubgraphIconHeight pattern.
@tpcarman tpcarman requested a review from rebelinux June 16, 2026 08:21
@tpcarman tpcarman added the change request New feature or request label Jun 16, 2026
@github-actions

Copy link
Copy Markdown

PSScriptAnalyzer results:

Errors: [0], Warnings: [53], Information: [6]


RuleName   : PSAvoidUsingInvokeExpression
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 780
Message    : Invoke-Expression is used. Please remove Invoke-Expression from 
             script and find other options instead.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 487
Message    : File 'Write-AbrPSObject.ps1' uses Write-Host. Avoid using 
             Write-Host because it might not work in all hosts, does not work 
             when there is no host, and (prior to PS 5.0) cannot be suppressed, 
             captured, or redirected. Instead, use Write-Output, Write-Verbose, 
             or Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 489
Message    : File 'Write-AbrPSObject.ps1' uses Write-Host. Avoid using 
             Write-Host because it might not work in all hosts, does not work 
             when there is no host, and (prior to PS 5.0) cannot be suppressed, 
             captured, or redirected. Instead, use Write-Output, Write-Verbose, 
             or Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 577
Message    : File 'Write-AbrPSObject.ps1' uses Write-Host. Avoid using 
             Write-Host because it might not work in all hosts, does not work 
             when there is no host, and (prior to PS 5.0) cannot be suppressed, 
             captured, or redirected. Instead, use Write-Output, Write-Verbose, 
             or Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 861
Message    : File 'Write-AbrPSObject.ps1' uses Write-Host. Avoid using 
             Write-Host because it might not work in all hosts, does not work 
             when there is no host, and (prior to PS 5.0) cannot be suppressed, 
             captured, or redirected. Instead, use Write-Output, Write-Verbose, 
             or Write-Information.

RuleName   : PSPossibleIncorrectComparisonWithNull
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 616
Message    : $null should be on the left side of equality comparisons.

RuleName   : PSPossibleIncorrectComparisonWithNull
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 620
Message    : $null should be on the left side of equality comparisons.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Write-AbrPSObject.ps1'

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 431
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 431
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 476
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSUseProcessBlockForPipelineCommand
Severity   : Warning
ScriptName : Write-AbrPSObject.ps1
Line       : 476
Message    : Command accepts pipeline input but has not defined a process block.

RuleName   : PSUseBOMForUnicodeEncodedFile
Severity   : Warning
ScriptName : Add-TShapeLine.ps1
Line       : 
Message    : Missing BOM encoding for non-ASCII encoded file 
             'Add-TShapeLine.ps1'

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : _InitializeTests.ps1
Line       : 27
Message    : File '_InitializeTests.ps1' uses Write-Host. Avoid using 
             Write-Host because it might not work in all hosts, does not work 
             when there is no host, and (prior to PS 5.0) cannot be suppressed, 
             captured, or redirected. Instead, use Write-Output, Write-Verbose, 
             or Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 44
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 45
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 46
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 50
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 57
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 72
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 75
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 108
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 113
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 129
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 130
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 132
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 137
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 138
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 143
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 144
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 145
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 146
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 147
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 148
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 149
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 150
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 154
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 156
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 157
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 163
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 164
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 165
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 173
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 176
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 177
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 178
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 179
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 184
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 185
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 190
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 194
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 198
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSAvoidUsingWriteHost
Severity   : Warning
ScriptName : Invoke-Tests.ps1
Line       : 201
Message    : File 'Invoke-Tests.ps1' uses Write-Host. Avoid using Write-Host 
             because it might not work in all hosts, does not work when there 
             is no host, and (prior to PS 5.0) cannot be suppressed, captured, 
             or redirected. Instead, use Write-Output, Write-Verbose, or 
             Write-Information.

RuleName   : PSUseOutputTypeCorrectly
Severity   : Information
ScriptName : Split-ArrayElement.ps1
Line       : 50
Message    : The cmdlet 'Split-ArrayElement' returns an object of type 
             'System.Object[]' but this type is not declared in the OutputType 
             attribute.

RuleName   : PSAvoidUsingPositionalParameters
Severity   : Information
ScriptName : Format-HtmlCell.ps1
Line       : 308
Message    : Cmdlet 'buildImgTD' has positional parameter. Please use named 
             parameters instead of positional parameters when calling a command.

RuleName   : PSAvoidUsingPositionalParameters
Severity   : Information
ScriptName : Format-HtmlCell.ps1
Line       : 318
Message    : Cmdlet 'buildTD' has positional parameter. Please use named 
             parameters instead of positional parameters when calling a command.

RuleName   : PSAvoidUsingPositionalParameters
Severity   : Information
ScriptName : Format-HtmlCell.ps1
Line       : 326
Message    : Cmdlet 'buildTD' has positional parameter. Please use named 
             parameters instead of positional parameters when calling a command.

RuleName   : PSAvoidUsingPositionalParameters
Severity   : Information
ScriptName : Format-HtmlCell.ps1
Line       : 334
Message    : Cmdlet 'buildTD' has positional parameter. Please use named 
             parameters instead of positional parameters when calling a command.

RuleName   : PSAvoidUsingPositionalParameters
Severity   : Information
ScriptName : Format-HtmlCell.ps1
Line       : 342
Message    : Cmdlet 'buildTD' has positional parameter. Please use named 
             parameters instead of positional parameters when calling a command.

Comment thread AsBuiltReport.Diagram/Src/Public/New-AbrDiagram.ps1 Dismissed

@rebelinux rebelinux left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@rebelinux rebelinux merged commit 5e0e9f5 into dev Jun 16, 2026
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

change request New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants