Skip to content

Latest commit

 

History

History
43 lines (35 loc) · 940 Bytes

UseSupportsShouldProcess.md

File metadata and controls

43 lines (35 loc) · 940 Bytes
description ms.custom ms.date ms.topic title
Use SupportsShouldProcess
PSSA v1.21.0
06/28/2023
reference
UseSupportsShouldProcess

UseSupportsShouldProcess

Severity Level: Warning

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.

Example

Wrong:

function foo {
    param(
        $param1,
        $Confirm,
        $WhatIf
    )
}

Correct:

function foo {
    [CmdletBinding(SupportsShouldProcess)]
    param(
        $param1
    )
}