powershell parameter

Shell
write-host "There are a total of $($args.count) arguments"
for ( $i = 0; $i -lt $args.count; $i++ ) {
    write-host "Argument  $i is $($args[$i])"
} 
Param (
	[Parameter(Mandatory=$True, Position=1)]
	[string]$String,
    
    [Parameter(Mandatory=$True)]
    [int]$Int,
    
    [switch]$Switch = $false
)function Print-Text {
    param(
      	[String] $Text
    )
    
    Write-Output $Text
}

Print-Text "Hello, world!"
Source

Also in Shell: