Bagikan melalui


HindariDefaultValueSwitchParameter

Tingkat Keparahan : Peringatan

Deskripsi

Jika parameter Anda hanya mengambil true dan false, tentukan parameter sebagai jenis [Switch]. PowerShell memperlakukan parameter sakelar sebagai true saat digunakan dengan perintah. Jika parameter tidak disertakan dengan perintah , PowerShell menganggap parameter tersebut false. Jangan tentukan parameter [Boolean].

Anda tidak boleh menentukan parameter sakelar dengan nilai default $true karena ini bukan perilaku parameter pengalihan yang diharapkan.

Bagaimana

Ubah nilai default parameter pengalihan menjadi $false atau tidak memberikan nilai default. Tulis logika skrip untuk mengasumsikan bahwa nilai default parameter switch $false atau tidak disediakan.

Contoh

Salah

function Test-Script
{
    [CmdletBinding()]
    Param
    (
        [String]
        $Param1,

        [switch]
        $Switch=$True
    )
    ...
}

Benar

function Test-Script
{
    [CmdletBinding()]
    Param
    (
        [String]
        $Param1,

        [switch]
        $Switch
    )

    begin {
        # Ensure that the $Switch is set to false if not provided
        if (-not $PSBoundParameters.ContainsKey('Switch')) {
            $Switch = $false
        }
    }
    ...
}

Informasi selengkapnya