You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The ValueFromPipeline doesn't require the literal name but just the current item ($_) in the Process block:
[CmdletBinding()]
param (
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]$InputObject
)
process {
$_
}
Expected behavior
No error
Actual behavior
RuleName Severity ScriptName Line Message
-------- -------- ---------- ---- -------
PSReviewUnusedParameter Warning PSReviewUn 3 The parameter 'InputObject' has been declared but not used.
usedParame
ter.ps1
If an unexpected error was thrown then please report the full error details using e.g. $error[0] | Select-Object *
Environment data
>$PSVersionTable
Name Value
---------
PSVersion 7.2.1
PSEdition Core
GitCommitId 7.2.1
OS Microsoft Windows 10.0.18363
Platform Win32NT
PSCompatibleVersions {1.0,2.0,3.0,4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0> (Get-Module-ListAvailable PSScriptAnalyzer).Version |ForEach-Object { $_.ToString() }
1.20.0
The text was updated successfully, but these errors were encountered:
As a best practice, I'd still say it would be clearer to use the parameter name for less technical people reading the code. But feel free to open a PR to tweak this rule to exclude this special scenario.
The ValueFromPipeline doesn't require the literal name but just the current item (
$_
) in theProcess
block:Expected behavior
Actual behavior
If an unexpected error was thrown then please report the full error details using e.g.
$error[0] | Select-Object *
Environment data
The text was updated successfully, but these errors were encountered: