Bird
Raised Fist0
PowerShellscripting~10 mins

Function definition in PowerShell - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a function named 'Greet' that prints 'Hello'.

PowerShell
function [1] {
    Write-Output "Hello"
}
Drag options to blanks, or click blank then click option'
APrintHello
BSayHello
CGreet
DHelloFunction
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different function name than 'Greet'.
Missing the function keyword.
2fill in blank
medium

Complete the code to define a function named 'Add' that takes two parameters.

PowerShell
function Add([1]) {
    $sum = $a + $b
    Write-Output $sum
}
Drag options to blanks, or click blank then click option'
A$a, $b
B$x, $y
C$num1, $num2
D$first, $second
Attempts:
3 left
💡 Hint
Common Mistakes
Using parameter names different from those used inside the function.
Forgetting to separate parameters with commas.
3fill in blank
hard

Fix the error in the function definition to correctly define a function named 'Multiply' that returns the product of two numbers.

PowerShell
function Multiply {
    param([1])
    return $x * $y
}
Drag options to blanks, or click blank then click option'
A$a, $b
B$num1, $num2
C$first, $second
D$x, $y
Attempts:
3 left
💡 Hint
Common Mistakes
Using parameter names that don't match the variables used inside the function.
Missing the param block.
4fill in blank
hard

Fill both blanks to define a function 'Square' that takes one parameter and returns its square.

PowerShell
function Square {
    param([1])
    return [2] * [1]
}
Drag options to blanks, or click blank then click option'
A$num
C$value
D$input
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names in param and return statement.
Forgetting to multiply the parameter by itself.
5fill in blank
hard

Fill all three blanks to define a function 'GreetPerson' that takes a name and prints a greeting.

PowerShell
function GreetPerson {
    param([1])
    $message = "Hello, [2]!"
    Write-Output [3]
}
Drag options to blanks, or click blank then click option'
A$name
C$message
D$person
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names inconsistently.
Forgetting to print the message variable.

Practice

(1/5)
1. What is the main purpose of defining a function in PowerShell?
easy
A. To delete files automatically
B. To group commands so they can be reused easily
C. To run commands only once
D. To create a new variable

Solution

  1. Step 1: Understand what functions do

    Functions group multiple commands into one block that can be run many times.
  2. Step 2: Compare options with function purpose

    Only To group commands so they can be reused easily describes grouping commands for reuse, which is the function's purpose.
  3. Final Answer:

    To group commands so they can be reused easily -> Option B
  4. Quick Check:

    Functions = reusable command groups [OK]
Hint: Functions group commands for reuse, not variables or deletion [OK]
Common Mistakes:
  • Confusing functions with variables
  • Thinking functions run commands only once
  • Assuming functions delete files automatically
2. Which of the following is the correct way to define a function named Greet in PowerShell?
easy
A. def Greet() { Write-Output 'Hello' }
B. function:Greet Write-Output 'Hello'
C. func Greet { Write-Output 'Hello' }
D. function Greet { Write-Output 'Hello' }

Solution

  1. Step 1: Recall PowerShell function syntax

    PowerShell functions start with the keyword 'function', followed by the name and braces containing commands.
  2. Step 2: Check each option

    function Greet { Write-Output 'Hello' } uses correct syntax: 'function Greet { ... }'. Others use incorrect keywords or missing braces.
  3. Final Answer:

    function Greet { Write-Output 'Hello' } -> Option D
  4. Quick Check:

    PowerShell functions start with 'function' keyword [OK]
Hint: PowerShell functions start with 'function' keyword and braces [OK]
Common Mistakes:
  • Using 'def' like Python
  • Using 'func' instead of 'function'
  • Missing braces around function body
3. What will be the output of this PowerShell script?
function Add-Numbers {
  param($a, $b)
  return $a + $b
}

Add-Numbers 3 5
medium
A. 3 5
B. 35
C. 8
D. Error: Missing parentheses

Solution

  1. Step 1: Understand function parameters and return

    The function takes two parameters $a and $b, adds them, and returns the sum.
  2. Step 2: Call the function with 3 and 5

    Calling Add-Numbers 3 5 passes 3 to $a and 5 to $b, so return is 3 + 5 = 8.
  3. Final Answer:

    8 -> Option C
  4. Quick Check:

    3 + 5 = 8 [OK]
Hint: Parameters add numbers; 3 + 5 equals 8 [OK]
Common Mistakes:
  • Concatenating numbers as strings (35)
  • Returning parameters without adding
  • Expecting parentheses like other languages
4. Identify the error in this PowerShell function definition:
function SayHello {
param($name)
Write-Output "Hello, $name"
}
medium
A. No error, function is correct
B. param block should be inside braces
C. Missing parentheses after function name
D. Write-Output cannot use double quotes

Solution

  1. Step 1: Review PowerShell function syntax

    Functions use 'function Name { param(...) ... }' syntax; parentheses after name are optional.
  2. Step 2: Check param block and Write-Output usage

    Param block is correctly inside braces; double quotes allow variable expansion in Write-Output.
  3. Final Answer:

    No error, function is correct -> Option A
  4. Quick Check:

    Function syntax is valid as written [OK]
Hint: Param block inside braces is correct; parentheses after name optional [OK]
Common Mistakes:
  • Expecting parentheses after function name
  • Thinking param must be outside braces
  • Believing double quotes disallowed in Write-Output
5. You want to create a PowerShell function Get-Square that takes a number and returns its square. Which function definition correctly achieves this?
hard
A. function Get-Square { param($num) return $num * $num }
B. function Get-Square($num) { $num ^ 2 }
C. function Get-Square { param($num) $num ** 2 }
D. function Get-Square { param($num) return $num ^ 2 }

Solution

  1. Step 1: Understand PowerShell multiplication and function syntax

    PowerShell uses * for multiplication; param block defines input parameters.
  2. Step 2: Evaluate each option

    function Get-Square { param($num) return $num * $num } correctly uses param and multiplies $num by itself. function Get-Square($num) { $num ^ 2 } uses valid param syntax but ^ is bitwise XOR, not multiplication. function Get-Square { param($num) $num ** 2 } uses ** which is not PowerShell operator. function Get-Square { param($num) return $num ^ 2 } uses ^ which is bitwise XOR, not power.
  3. Final Answer:

    function Get-Square { param($num) return $num * $num } -> Option A
  4. Quick Check:

    Use * for multiplication, param inside braces [OK]
Hint: Use * for multiplication; param inside braces defines inputs [OK]
Common Mistakes:
  • Using ^ for power instead of multiplication
  • Using ** which is invalid in PowerShell
  • Incorrect param syntax with parentheses
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard