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 Tingkat Keparahan: Peringatan
Deskripsi
Kumpulan parameter harus memiliki paling banyak satu parameter yang ditandai sebagai ValueFromPipeline = true.
Aturan ini mengidentifikasi fungsi di mana beberapa parameter dalam kumpulan parameter yang sama telah ValueFromPipeline diatur ke true (baik secara eksplisit maupun implisit).
Bagaimana
Pastikan hanya satu parameter per set parameter yang menerima input alur berdasarkan nilai. Jika Anda memerlukan beberapa parameter untuk menerima berbagai jenis input alur, gunakan kumpulan parameter terpisah.
Example
Salah
function Process-Data {
[CmdletBinding()]
param(
[Parameter(ValueFromPipeline)]
[string] $InputData,
[Parameter(ValueFromPipeline)]
[string] $ProcessingMode
)
process {
Write-Output "$ProcessingMode`: $InputData"
}
}
Benar
function Process-Data {
[CmdletBinding()]
param(
[Parameter(ValueFromPipeline)]
[string] $InputData,
[Parameter(Mandatory)]
[string] $ProcessingMode
)
process {
Write-Output "$ProcessingMode`: $InputData"
}
}
Suppression
Untuk menekan aturan ini untuk kumpulan parameter tertentu, gunakan SuppressMessage atribut dengan nama kumpulan parameter:
function Process-Data {
[Diagnostics.CodeAnalysis.SuppressMessage('PSUseSingleValueFromPipelineParameter', 'MyParameterSet')]
[CmdletBinding()]
param(
[Parameter(ValueFromPipeline, ParameterSetName='MyParameterSet')]
[string] $InputData,
[Parameter(ValueFromPipeline, ParameterSetName='MyParameterSet')]
[string] $ProcessingMode
)
process {
Write-Output "$ProcessingMode`: $InputData"
}
}
Untuk set parameter default, gunakan 'default' sebagai target penekanan:
[Diagnostics.CodeAnalysis.SuppressMessage('PSUseSingleValueFromPipelineParameter', 'default')]
Catatan
- Aturan ini berlaku untuk eksplisit
ValueFromPipeline = $truedan implisitValueFromPipeline(yang sama dengan menggunakan= $true) - Parameter dengan
ValueFromPipeline=$falsetidak ditandai oleh aturan ini - Aturan menangani set parameter default (
__AllParameterSets) dan set parameter bernama dengan benar - Kumpulan parameter yang berbeda masing-masing dapat memiliki parameter tunggalnya
ValueFromPipelinesendiri tanpa memicu aturan ini