PowerShell 2.0 and "The term 'Param' is not recognized as the name of a cmdlet, function, script file, or operable program"
If your param($p)
is not the first line in your script that can cause the Param error.
Make sure your param($p)
is the first line.
I've solved the problem. I've corrected the description of the problem to make it accurate.
The source of the problem is that I was incorrectly using the Param keyword multiple times. The correct usage is to declare multiple parameters within a single Param declaration like the following:
Param($p, $d)
This usage is explained in the Windows PowerShell Help article "about_Functions".
Running this script,
cls
param([string]$Url, [string]$Template="CMSPUBLISHING#0")
Write-Host "Url: $Url"
I got the same error
The term 'param' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
When I commented out the cls
at the top it worked,
#cls
param([string]$Url, [string]$Template="CMSPUBLISHING#0")
Write-Host "Url: $Url"