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
Specifies the year that is displayed. Enter a value from 1 to 9999. The default is the current year.
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