Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
** 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