This is part 4 of my series of the most common PowerShell
errors that are made in my PowerShell classes.
I will be posting one a day to help you understand why an error occurred
and what the error’s meaning is.
Today’s error: Missing an argument for parameter
Here is our starting code:
Get-Date -Year -Month 9 -day 23
And here is the full error:
Get-Date : Missing an argument for parameter 'Year'. Specify a
parameter of type 'System.Int32' and try again.
At line:1 char:10
+ Get-Date -Year -Month 9 -day 23
+ ~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-Date],
ParameterBindingException
+ FullyQualifiedErrorId :
MissingArgument,Microsoft.PowerShell.Commands.GetDateCommand
Many PowerShell cmdlets require some type of argument. An argument is information. I know, odd name. The parameter in quest is –Year. Let’s take a look at its help
file.
PS C:\> Get-Help Get-Date -Parameter Year
-Year []
Specifies the year
that is displayed. Enter a value from 1 to 9999. The default is the current
year.
Required? false
Position? named
Default value none
Accept pipeline
input? false
Accept wildcard
characters? false
According to the help file, we need to provide an integer
value between 1 to 9999. Also in the
error message, we were told to provide a System.Int32 object. In other words, an integer. That is just the .NET object name for an
integer.
Resolution: Give it a number
PS C:\> Get-Date -Year 2018 -Month 9 -day 23
Sunday, September 23, 2018 2:55:59 PM
Comments