# Input

Input: Parameters: \`param()\`, Asking Questions: \`Read-Host\`.

Updated: November 10, 2026

1. [Parameters: \`param()\`](https://www.ask-codey.com/lessons/powershell-param) (Apprentice): A param() block at the top of a script names its inputs, so one script works on any folder; each parameter can have a type, a default value or be a \[switch\], Mandatory makes PowerShell ask for a missing one, and Tab completes their names.
2. [Asking Questions: \`Read-Host\`](https://www.ask-codey.com/lessons/powershell-read-host) (Apprentice): Read-Host asks a question, waits, and hands back what was typed, always as text, -MaskInput shows stars instead of the answer, and a parameter is usually the better way in, because a question needs someone at the keyboard and a script that runs on its own has no one there.

Source: https://www.ask-codey.com/courses/powershell-in-depth/topics/powershell-input
