Bird
Raised Fist0
PowerShellscripting~10 mins

Module creation basics 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 new PowerShell module manifest.

PowerShell
New-ModuleManifest -Path "MyModule.psd1" -RootModule [1]
Drag options to blanks, or click blank then click option'
A"MyModule.psm1"
B"MyModule.psd1"
C"MyModule.psm"
D"MyModule.ps1"
Attempts:
3 left
💡 Hint
Common Mistakes
Using the manifest file (.psd1) as the root module file.
Using script files with incorrect extensions like .ps1 or .psm.
2fill in blank
medium

Complete the code to import a module named 'MyModule'.

PowerShell
Import-Module [1]
Drag options to blanks, or click blank then click option'
A"MyModule.psd1"
B"MyModule.ps1"
C"MyModule.psm1"
D"MyModule"
Attempts:
3 left
💡 Hint
Common Mistakes
Including the file extension when importing the module.
Using script files (.ps1) instead of module files.
3fill in blank
hard

Fix the error in the code to export the function 'Get-Info' from the module.

PowerShell
Export-ModuleMember -Function [1]
Drag options to blanks, or click blank then click option'
Aget-info
BGet-Info
CgetInfo
DGetInfo
Attempts:
3 left
💡 Hint
Common Mistakes
Omitting the dash between verb and noun.
Changing the case or spelling of the function name.
4fill in blank
hard

Fill both blanks to create a module file that defines a function and exports it.

PowerShell
function [1] { Write-Output "Hello" }
Export-ModuleMember -Function [2]
Drag options to blanks, or click blank then click option'
ASayHello
BGet-Data
Attempts:
3 left
💡 Hint
Common Mistakes
Using different function names in definition and export.
Forgetting to export the function.
5fill in blank
hard

Fill all three blanks to create a module manifest with version 1.0 and author 'Alice'.

PowerShell
New-ModuleManifest -Path "MyModule.psd1" -RootModule [1] -ModuleVersion [2] -Author [3]
Drag options to blanks, or click blank then click option'
A"MyModule.psm1"
B"1.0"
C"Alice"
D"MyModule.psd1"
Attempts:
3 left
💡 Hint
Common Mistakes
Using the manifest file as the root module.
Not quoting the version or author strings.

Practice

(1/5)
1. What is the main purpose of creating a PowerShell module?
easy
A. To store variables permanently
B. To run scripts faster
C. To create graphical user interfaces
D. To package functions for reuse and sharing

Solution

  1. Step 1: Understand module purpose

    PowerShell modules are designed to group functions and scripts for reuse.
  2. Step 2: Identify correct purpose

    Among the options, only packaging functions for reuse and sharing matches the module's main goal.
  3. Final Answer:

    To package functions for reuse and sharing -> Option D
  4. Quick Check:

    Module purpose = Package functions [OK]
Hint: Modules bundle functions to reuse easily [OK]
Common Mistakes:
  • Thinking modules speed up script execution
  • Confusing modules with GUI tools
  • Believing modules store variables permanently
2. Which file extension is used for a PowerShell module file containing functions?
easy
A. .psm1
B. .dll
C. .exe
D. .ps1

Solution

  1. Step 1: Recall PowerShell module file types

    PowerShell modules that contain functions use the .psm1 extension.
  2. Step 2: Compare options

    .ps1 is a script file, .exe and .dll are binary files, so .psm1 is correct.
  3. Final Answer:

    .psm1 -> Option A
  4. Quick Check:

    Module file extension = .psm1 [OK]
Hint: Modules use .psm1 files, not .ps1 scripts [OK]
Common Mistakes:
  • Using .ps1 instead of .psm1 for modules
  • Confusing .dll or .exe as module files
  • Thinking .psm1 is a script file
3. Given this module file MyModule.psm1 with function Get-Greeting defined as:
function Get-Greeting { "Hello, World!" }

What is the output after running these commands?
Import-Module .\MyModule.psm1
Get-Greeting
medium
A. Import-Module : Cannot find path
B. Get-Greeting : The term 'Get-Greeting' is not recognized
C. Hello, World!
D. Hello World!

Solution

  1. Step 1: Understand Import-Module effect

    Import-Module loads functions from the .psm1 file, making Get-Greeting available.
  2. Step 2: Check function output

    Get-Greeting returns Hello, World! exactly as defined.
  3. Final Answer:

    Hello, World! -> Option C
  4. Quick Check:

    Import-Module loads function, output = Hello, World! [OK]
Hint: Import module first, then call function for output [OK]
Common Mistakes:
  • Forgetting to import the module before calling function
  • Expecting 'Hello World!' without comma
  • Typos in function name causing errors
4. You wrote a module file Utils.psm1 with a function but when you run Import-Module .\Utils.psm1, you get an error: "Cannot load module because of a syntax error." What is a common cause?
medium
A. The module file has a missing closing brace '}' in the function
B. The module file is saved with .ps1 extension
C. You forgot to run PowerShell as administrator
D. The function name is too long

Solution

  1. Step 1: Identify syntax error causes in module files

    Missing closing braces in functions cause syntax errors preventing module import.
  2. Step 2: Evaluate other options

    .ps1 extension is wrong but causes different error; admin rights or function name length do not cause syntax errors.
  3. Final Answer:

    The module file has a missing closing brace '}' in the function -> Option A
  4. Quick Check:

    Syntax error = missing brace [OK]
Hint: Check braces and syntax carefully in .psm1 files [OK]
Common Mistakes:
  • Confusing file extension errors with syntax errors
  • Assuming admin rights fix syntax errors
  • Ignoring missing braces or parentheses
5. You want to create a PowerShell module that contains two functions: Get-DateInfo and Get-UserInfo. Which is the correct way to organize and import these functions?
hard
A. Create separate .ps1 files for each function and run them directly
B. Put both functions in a single .psm1 file and import it with Import-Module
C. Put both functions in a .psm1 file but call them without importing the module
D. Create a .dll file containing the functions and import it with Import-Module

Solution

  1. Step 1: Understand module organization

    PowerShell modules typically group related functions in one .psm1 file for easy import.
  2. Step 2: Evaluate import method

    Import-Module loads the .psm1 file, making all functions available; running .ps1 files directly is not modular.
  3. Final Answer:

    Put both functions in a single .psm1 file and import it with Import-Module -> Option B
  4. Quick Check:

    Functions grouped in .psm1, import module [OK]
Hint: Group functions in one .psm1 file, then import [OK]
Common Mistakes:
  • Running .ps1 files instead of importing modules
  • Calling functions without importing module first
  • Trying to use .dll files without compiling
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