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
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
}
}
...
}