1

I have a simple script which does not work:

Param([string] $Input, [string] $Output)
Write-Host $Input
Write-Host $Output

The $Input parameter does not get printed:

PS> .\Get-Parameters.ps1 "First" "Second"

Second

If I rename $Input to $Joe the script works fine. $Input is not a reserved name.

What is going on? I am perplexed.

1
  • 1
    Did you read help about_Automatic_Variables? Commented Nov 5, 2012 at 14:18

2 Answers 2

2

PowerShell's $input is an automatic variable:

basically $input in an enumerator which provides access to the actual pipeline.

Reading about $input

2
1

$input in an enumerator which provides access to the pipeline you have.

reference here: $Input Gotchas

Not the answer you're looking for? Browse other questions tagged or ask your own question.