Skip to main content
powershell/PSUseSupportsShouldProcess is a PSScriptAnalyzer diagnostic emitted by tally for PowerShell snippets embedded in Dockerfiles.
tally disables this rule by default for Dockerfile RUN snippets because a RUN executes statements inline rather than defining cmdlets, parameters, or modules with external callers. Re-enable it with include = ["powershell/PSUseSupportsShouldProcess"] or by setting rules.powershell.PSUseSupportsShouldProcess.severity = "warning" in .tally.toml.

Description

This rule discourages manual declaration of WhatIf and Confirm parameters in a function/cmdlet. These parameters are, however, provided automatically when a function declares a CmdletBinding attribute with SupportsShouldProcess as its named argument. Using SupportsShouldProcess not only provides these parameters but also some generic functionality that allows the function/cmdlet authors to provide the desired interactive experience while using the cmdlet.

Examples

Problematic code

Correct code

Source

This rule documentation is adapted from Microsoft’s PSScriptAnalyzer documentation for UseSupportsShouldProcess, licensed under CC BY 4.0.