Powershell

How Does Script Block Work in PowerShell?

In PowerShell, a script block is a set of expressions or statements that can be utilized as one single unit. A script block can take arguments and then return values. An array or a single object is returned by the script block as the output of commands. Moreover, the return value can be used to get a value using the “return” value keyword.

This post will cover the details of the script blocks in PowerShell.

How Does Script Block Work in PowerShell?

Script blocks are the collection of PowerShell commands enclosed within the curly braces. Let us overview the given examples to understand more clearly.

Example 1: Take a Script Block Value Using the “-ScriptBlock”

In the below-given example, the “Invoke-Command” cmdlet uses the “-ScriptBlock” parameter to take a script block value:

Invoke-Command -ScriptBlock {Get-Service}

 

According to the above code:

  • First, the “Invoke-Command” is used to call the script block.
  • Then, the “-ScriptBlock” parameter is used to get the value of a script block which is stated alongside it:

Example 2: Remote Service Query Using PowerShell’s “Invoke-Command” Cmdlet With “-ScriptBlock” Parameter

Run the following code to perform the stated operation with the aid of script blocks:

$var = {Get-Service ALG}
Invoke-Command -ScriptBlock $var

 

According to the above code:

  • First, initiate a variable and assign the stated value within the script block.
  • Lastly, place the “Invoke-Command” cmdlet along with the “-ScriptBlock” parameter having the variable assigned to it:

Example 3: Using “Invoke-Command” Cmdlet to Pass Parameters to a Script Block in PowerShell

to pass the parameters to a script block, use the provided code:

Invoke-Command -ScriptBlock {param($var1, $var2)
"var1: $var1"
"var2: $var2"
} -ArgumentList "First", "Second"

 

In the above-stated code:

  • First, provide the “Invoke-Command” cmdlet along with the “-ScriptBlock” parameter and pass the two stated parameters. Then, specify the stated values inside the script blocks.
  • Lastly, use the “-ArgumentList” parameter to assign the arguments to the above variables:

That’s all! It was all about the script block work in PowerShell.

Conclusion

The script blocks are responsible for accepting arguments and then returning values to the output. It returns a single object. Multiple arguments can also be passed to the script blocks using the “-ArgumentList” parameter. This write-up has provided detail regarding the script block work in PowerShell.

About the author

Muhammad Farhan

I am a Computer Science graduate and now a technical writer who loves to provide the easiest solutions to the most difficult problems related to Windows, Linux, and Web designing. My love for Computer Science emerges every day because of its ease in our everyday life.