Bagikan melalui


ShouldProcess

Tingkat Keparahan: Peringatan

Deskripsi

Jika cmdlet mendeklarasikan SupportsShouldProcess atribut , maka cmdlet juga harus memanggil ShouldProcess. Pelanggaran adalah fungsi apa pun yang menyatakan SupportsShouldProcess atribut tetapi tidak melakukan panggilan ke ShouldProcess atau memanggil ShouldProcess tetapi tidak menyatakan SupportsShouldProcess.

Untuk informasi selengkapnya, lihat artikel berikut ini:

Bagaimana

Untuk memperbaiki pelanggaran aturan ini, silakan panggil ShouldProcess metode ketika cmdlet mendeklarasikan SupportsShouldProcess atribut. Atau tambahkan SupportsShouldProcess argumen atribut saat memanggil ShouldProcess.

Contoh

Salah

function Set-File
{
    [CmdletBinding(SupportsShouldProcess=$true)]
    Param
    (
        # Path to file
        [Parameter(Mandatory=$true)]
        $Path
    )
    'String' | Out-File -FilePath $Path
}

Benar

function Set-File
{
    [CmdletBinding(SupportsShouldProcess=$true)]
    Param
    (
        # Path to file
        [Parameter(Mandatory=$true)]
        $Path,

        [Parameter(Mandatory=$true)]
        [string]$Content
    )

    if ($PSCmdlet.ShouldProcess($Path, ("Setting content to '{0}'" -f $Content)))
    {
        $Content | Out-File -FilePath $Path
    }
    else
    {
        # Code that should be processed if doing a WhatIf operation
        # Must NOT change anything outside of the function / script
    }
}