<# .SYNOPSIS This script will .... .DESCRIPTION A Script description & version history. -------------------------------------------------------- History Version number | Data | Comment 1.00 | | Initial script. -------------------------------------------------------- .LINK http://www.glossover.co.uk/archives/322 .EXAMPLE -Param1 value -Param2 value -Param1 value -Param2 value -Param3 (optional) value #> Param ( [Parameter(Mandatory=$true, HelpMessage="Please enter a string value")] [alias("Param1")] [ValidateNotNull()] #String value. [string]$stringValue, [Parameter(Mandatory=$true, HelpMessage="Please enter a numeric value.")] [alias("Param2")] [ValidateNotNull()] #Number value. [int]$intValue, [Parameter(Mandatory=$false, HelpMessage="Please enter a string value (Optional).")] [alias("Param3")] [ValidateNotNull()] #Optional string value. [string]$optionalStringValue ) $startTime = Get-Date Write-Host "Start time : $startTime" #Passed values Write-Host "Param1 : " $stringValue Write-Host "Param2 : " $intValue Write-Host "Param3 (optional) : " $optionalStringValue $endTime = Get-Date Write-Host "Script execution time : $( New-TimeSpan $startTime $endTime)." Write-Host "End time : $endTime"