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
Confirm
andWhatIf
- Allow other functions to be nested inside
Scripts, but not functions or script blocks, support the using assembly
and using namespace
directives. 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...