Capabilities of scripts, functions, and script blocks
Scripts, functions, and script blocks share many of the same capabilities. These capabilities are explored during this and the next few chapters. Scripts, functions, and script blocks can each:
- Define parameters.
- Support pipeline input.
- Support common parameters, including support for
ConfirmandWhatIf. - Allow other functions to be nested inside.
Scripts, but not functions or script blocks, support using statements. Scripts also support the Requires statement.
Scripts and using statements
using statements, introduced with PowerShell 5, were described in Chapter 7, Working with .NET. A short example of a using statement is shown here:
using namespace System.Xml.Linq
A function may benefit from using statements declared in a parent scope. The parent scope includes code run on the console, a script that contains a function, or a module (psm1 file) that contains a function.