📖 Scenario: You are writing a PowerShell script to use extra commands that are not built-in. These commands come from a module. You want to learn how to bring that module into your script so you can use its commands.
🎯 Goal: Learn how to import a PowerShell module called Microsoft.PowerShell.Utility and then use a command from it.
📋 What You'll Learn
Create a variable with the module name
Import the module using the variable
Use a command from the imported module
Print the result of the command
💡 Why This Matters
🌍 Real World
PowerShell modules add extra commands that help automate tasks. Importing modules lets you use these commands in your scripts.
💼 Career
Many IT and automation jobs require using PowerShell modules to manage systems and automate workflows efficiently.
Progress0 / 4 steps
1
Create a variable with the module name
Create a variable called $moduleName and set it to the string 'Microsoft.PowerShell.Utility'.
PowerShell
Hint
Use = to assign the string to the variable.
2
Import the module using the variable
Use the Import-Module command with the variable $moduleName to import the module.
PowerShell
Hint
Write Import-Module $moduleName to load the module.
3
Use a command from the imported module
Use the Get-Random command to get a random number between 1 and 10 and save it in a variable called $randomNumber.
PowerShell
Hint
Use Get-Random -Minimum 1 -Maximum 11 to get a number from 1 to 10.
4
Print the result
Print the value of the variable $randomNumber using Write-Output.
PowerShell
Hint
Use Write-Output $randomNumber to show the number.
Practice
(1/5)
1. What does the Import-Module command do in PowerShell?
easy
A. Loads a module so you can use its commands in the current session
B. Deletes a module from your computer
C. Creates a new module file
D. Lists all installed modules on your system
Solution
Step 1: Understand the purpose of Import-Module
The Import-Module command is used to load a module into the current PowerShell session so its commands become available.
Step 2: Compare options with the command's function
Only Loads a module so you can use its commands in the current session correctly describes loading a module for use. Other options describe unrelated actions.
Final Answer:
Loads a module so you can use its commands in the current session -> Option A
Quick Check:
Import-Module loads commands [OK]
Hint: Import-Module means load commands to use now [OK]
Common Mistakes:
Thinking Import-Module deletes or creates modules
Confusing Import-Module with Get-Module
Assuming Import-Module lists modules
2. Which of the following is the correct syntax to import a module named MyTools in PowerShell?
easy
A. Import Module MyTools
B. ImportModule MyTools
C. Import-Module -Module MyTools
D. Import-Module MyTools
Solution
Step 1: Recall the basic Import-Module syntax
The simplest correct syntax is Import-Module ModuleName without extra parameters.
Step 2: Check each option's syntax
Import-Module MyTools matches the correct syntax exactly. The other options have syntax errors: space between Import and Module, invalid parameter -Module, and missing hyphen before Module.
Final Answer:
Import-Module MyTools -> Option D
Quick Check:
Use Import-Module followed by module name [OK]
Hint: Use Import-Module followed by module name [OK]
Common Mistakes:
Adding spaces in command name like 'Import Module'
Missing dash in Import-Module
Using wrong parameter names
3. What will be the output of this PowerShell code?
The code imports the Utility module, then lists commands from it, selecting the first command's name.
Step 2: Identify the first command in the Utility module
The first command in Microsoft.PowerShell.Utility (in export order) is 'Add-Type'.
Final Answer:
Add-Type -> Option A
Quick Check:
First command in Utility module is Add-Type [OK]
Hint: First command in Utility module is Add-Type [OK]
Common Mistakes:
Assuming output is a command not in the module
Confusing command names with similar ones
Not expanding property to get name
4. You run Import-Module MyModule but get an error: ModuleNotFoundException. What is the most likely cause?
medium
A. You used the wrong command; it should be Load-Module
B. You forgot to run PowerShell as administrator
C. The module name is misspelled or not installed
D. The module is already imported
Solution
Step 1: Understand the error meaning
ModuleNotFoundException means PowerShell cannot find the module by that name.
Step 2: Identify common causes
The most common cause is a misspelled module name or the module is not installed on the system.
Final Answer:
The module name is misspelled or not installed -> Option C
Quick Check:
ModuleNotFound means module missing or misspelled [OK]
Hint: ModuleNotFound means module missing or name wrong [OK]
Common Mistakes:
Assuming admin rights always fix this error
Using wrong command name like Load-Module
Thinking module is imported already causes error
5. You want to import a module only if it is not already loaded in your PowerShell session. Which script snippet correctly does this?
hard
A. Import-Module MyModule -Force
B. if (-not (Get-Module -Name MyModule)) { Import-Module MyModule }
C. Get-Module MyModule | Import-Module
D. Import-Module MyModule -SkipIfLoaded
Solution
Step 1: Understand how to check if a module is loaded
Get-Module -Name MyModule returns the module if loaded, or nothing if not.
Step 2: Use conditional to import only if not loaded
The condition -not (Get-Module -Name MyModule) checks if module is missing, then imports it.
Step 3: Evaluate other options
Import-Module MyModule -Force forces import regardless. Piping Get-Module output to Import-Module is invalid syntax. -SkipIfLoaded is not a valid parameter.
Final Answer:
if (-not (Get-Module -Name MyModule)) { Import-Module MyModule } -> Option B
Quick Check:
Check with Get-Module before Import-Module [OK]
Hint: Check Get-Module before Import-Module to avoid duplicates [OK]
Common Mistakes:
Using Import-Module -Force to avoid checking
Trying to pipe Get-Module output to Import-Module
Using non-existent parameters like -SkipIfLoaded
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.