Bagikan melalui


AvoidUsingPositionalParameters

** Tingkat Keparahan: Informasi **

Deskripsi

Menggunakan parameter posisi mengurangi keterbacaan kode dan dapat menimbulkan kesalahan. Ada kemungkinan bahwa versi cmdlet di masa mendatang dapat berubah dengan cara yang akan merusak skrip yang ada jika panggilan ke cmdlet bergantung pada posisi parameter.

Untuk cmdlet sederhana dengan hanya beberapa parameter posisi, risikonya jauh lebih kecil. Untuk mencegah aturan ini terlalu berisik, aturan ini hanya dipicu ketika ada 3 parameter atau lebih yang disediakan. Contoh sederhana di mana risiko menggunakan parameter posisi dapat diabaikan, adalah Test-Path $Path.

Konfigurasi

Rules = @{
    PSAvoidUsingPositionalParameters = @{
        CommandAllowList = 'Join-Path', 'MyCmdletOrScript'
        Enable           = $true
    }
}

Parameter

CommandAllowList: string[] (Nilai defaultnya adalah @()')

Perintah atau skrip yang akan dikecualikan dari aturan ini.

Aktifkan: bool (Nilai defaultnya adalah $true)

Aktifkan atau nonaktifkan aturan selama pemanggilan ScriptAnalyzer.

Bagaimana

Gunakan nama parameter lengkap saat memanggil perintah.

Contoh

Salah

Get-Command ChildItem Microsoft.PowerShell.Management

Benar

Get-Command -Noun ChildItem -Module Microsoft.PowerShell.Management