about_script_blocks - PowerShell command help and examples

Defines what a script block is and explains how to use script blocks in (about_script_blocks)

TOPIC
about_Script_Blocks
SHORT DESCRIPTION
Defines what a script block is and explains how to use script blocks in the Windows PowerShell programming language.
LONG DESCRIPTION
In the Windows PowerShell programming language, a script block is a collection of statements or expressions that can be used as a single unit. A script block can accept arguments and return values. Syntactically, a script block is a statement list in braces, as shown in the following syntax: {<statement list>} A script block returns the output of all the commands in the script block, either as a single object or as an array. Like functions, a script block can include parameters. Use the Param keyword to assign named parameters, as shown in the following syntax: { param ([type]$parameter1 [,[type]$parameter2]) <statement list> } In a script block, unlike a function, you cannot specify parameters outside the braces. Like functions, script blocks can include the DynamicParam, Begin, Process, and End keywords. For more information, see about_Functions and about_Functions_Advanced. Using Script Blocks A script block is an instance of a Microsoft .NET Framework type (System.Management.Automation.ScriptBlock). Commands can have script block parameter values. For example, the Invoke-Command cmdlet has a ScriptBlock parameter that takes a script block value, as shown in this example: C:\PS> invoke-command -scriptblock { get-process } Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 999 28 39100 45020 262 15.88 1844 communicator 721 28 32696 36536 222 20.84 4028 explorer . . . The script block that is used as a value can be more complicated, as shown in the following example: C:\PS> invoke-command -scriptblock { param ($uu = "Parameter"); "$uu assigned." } Parameter assigned. The script block in the preceding example uses the Param keyword to create a parameter that has a default value. The following example uses the Args parameter of the Invoke-Command cmdlet to assign a different value to the parameter: C:\PS> invoke-command -scriptblock {param ($uu = "Parameter"); "$uu assigned."} -args "Other value" Other value assigned. You can assign a script block to a variable, as shown in the following example: C:\PS> $a = {param ($uu = "Parameter"); "$uu assigned."} You can use the variable with a cmdlet such as Invoke-Command, as shown in the following example: C:\PS> invoke-command -scriptblock $a -args "Other value" Other value assigned. You can run a script block that is assigned to a variable by using the call operator (&), as shown in the following example: C:\PS> &$a Parameter assigned. You can also provide a parameter to the script block, as shown in the following example: C:\PS> &$a "Other value" Other value assigned. If you want to assign the value that is created by a script block to a variable, use the call operator to run the script block directly, as shown in the following example: C:\PS> $a = &{param ($uu = "Parameter"); "$uu assigned."} C:\PS> $a Parameter assigned. For more information about the call operator, see about_Operators. SEE ALSO about_Functions about_Functions_Advanced about_Operators C:\Windows>powershell get-help about_script_internationalization -full

Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.

ColorConsole [Version 3.7.1000] PowerShell 2.0-Export

Windows 11, 10, 8.1, 8, 7 / Server 2022, 2019, 2016











Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



PowerShell: Defines what a script block is and explains how to use script blocks in

HTTP: ... PS_Windows/en/about_script_blocks.htm
0.062
17442

Kann DesktopOK die Bildschirmauflösung beider Bildschirme in der Überschrift verwenden?

How to deactivate the Windows 11 startup sound?

Help, Windows 11 doesn't have a screensaver, why?

What printer drivers can I use for Windows 11?

Can I activate the quick start of Windows 11?

Convert File Name to File Time Stamp - Example Android Smartphones!



(0)