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 : Peringatan
Status default: Selalu diaktifkan
Deskripsi
Aturan ini mendeteksi parameter sakelar yang diberi nilai $truedefault . Parameter pengalihan tidak boleh memiliki nilai default. Secara desain, parameter sakelar adalah $false ketika tidak ditentukan dan $true saat disertakan dalam perintah. Menetapkan nilai $true default ke parameter sakelar melanggar prinsip desain ini dan dapat menyebabkan perilaku yang tidak terduga.
Jika parameter Anda hanya perlu menerima true dan nilai, gunakan jenis alih-alih false[Switch].[Boolean] PowerShell secara otomatis menangani parameter sakelar dengan benar tanpa memerlukan nilai default.
Untuk memperbaiki masalah ini, hapus nilai default dari deklarasi parameter sakelar. Sakelar secara alami default ke $false saat tidak ditentukan, memungkinkan logika Anda merespons input penelepon dengan tepat.
Untuk mempelajari lebih lanjut, lihat Pedoman Pengembangan yang Sangat Disarankan.
Contoh
Tidak sesuai
function Test-Script
{
[CmdletBinding()]
Param
(
[String]
$Param1,
[switch]
$Switch=$True
)
...
}
Sesuai
function Test-Script
{
[CmdletBinding()]
Param
(
[String]
$Param1,
[switch]
$Switch
)
...
}
Mengonfigurasi aturan
Aturan ini selalu diaktifkan dan tidak dapat dikonfigurasi. Gunakan salah satu metode berikut untuk menghindari penggunaan aturan ini:
- Buat file konfigurasi aturan kustom untuk hanya menyertakan aturan yang Anda inginkan atau kecualikan aturan yang tidak Anda inginkan.
- Tambahkan atribut penekanan aturan yang sesuai ke kode Anda untuk menekan aturan untuk blok kode tertentu. Untuk informasi selengkapnya, lihat bagian Menekan aturanMenggunakan PSScriptAnalyzer.