# PowerShell ## Structure Arguments are obtained by calling the `param` function on the first line: ```powershell param($Name, $Count = 0, [int]$Age) # Your code here Write-Output "Processing $Name, count: $Count, age: $Age" # Return object @{ name = $Name count = $Count age = $Age } ``` ## Parameter Types You can specify types for parameters: ```powershell param( [string]$Name, [int]$Count = 0, [bool]$Enabled = $true, [array]$Items ) @{ name = $Name count = $Count enabled = $Enabled items = $Items } ``` ## Return Values Return values by outputting them at the end of the script: ```powershell param($Input) $result = @{ processed = $true data = $Input timestamp = Get-Date -Format "o" } $result ```