Gets the current date as an object and adds 5 days using a method.
PowerShell
$date = Get-Date
$date.AddDays(5)
Sample Program
This script gets the notepad process as an object. It then prints its name, ID, and start time using properties.
PowerShell
# Get a process object
$proc = Get-Process -Name notepad
# Show the process name and ID
Write-Output "Process Name: $($proc.Name)"
Write-Output "Process ID: $($proc.Id)"# Show the process start time
Write-Output "Start Time: $($proc.StartTime)"
OutputSuccess
Important Notes
PowerShell objects keep data organized, unlike plain text.
You can use methods to perform actions on objects directly.
Using objects helps avoid errors when processing complex data.
Summary
PowerShell uses objects to handle data with properties and methods.
This makes scripting easier and more powerful.
Objects keep data structured and ready for automation tasks.
Practice
(1/5)
1. Why is PowerShell considered an object-oriented scripting language?
easy
A. Because it uses objects with properties and methods to handle data
B. Because it only works with text files
C. Because it requires classes to run scripts
D. Because it cannot handle variables
Solution
Step 1: Understand what object-oriented means in PowerShell
PowerShell treats data as objects that have properties (data) and methods (actions).
Step 2: Identify why this matters
This allows scripts to easily access and manipulate data in a structured way.
Final Answer:
Because it uses objects with properties and methods to handle data -> Option A
Quick Check:
Object-oriented = uses objects with properties and methods [OK]
Hint: Objects have properties and methods, not just text [OK]
Common Mistakes:
Thinking PowerShell only works with text
Believing classes are always required
Assuming variables cannot hold objects
2. Which of the following is the correct way to access the 'Length' property of a string object in PowerShell?
easy
A. $string.Length()
B. $string.Length
C. Length($string)
D. $string->Length
Solution
Step 1: Recall property access syntax in PowerShell
Properties are accessed using dot notation without parentheses.
Step 2: Apply to 'Length' property
Use $string.Length to get the length of the string.
Final Answer:
$string.Length -> Option B
Quick Check:
Properties use dot notation without () [OK]
Hint: Use dot and property name without parentheses [OK]
Common Mistakes:
Adding parentheses to properties
Using function-like syntax for properties
Using arrow notation which is not valid
3. What will be the output of this PowerShell code?
$date = Get-Date $date.DayOfWeek
medium
A. The current day of the week as a string, like 'Monday'
B. An error because DayOfWeek is not a property
C. The current date in MM/DD/YYYY format
D. The time part of the date only
Solution
Step 1: Understand Get-Date output
Get-Date returns a DateTime object with many properties including DayOfWeek.
Step 2: Access DayOfWeek property
$date.DayOfWeek returns the day of the week as a string like 'Monday'.
Final Answer:
The current day of the week as a string, like 'Monday' -> Option A
Quick Check:
DayOfWeek property returns day name [OK]
Hint: Get-Date returns object; DayOfWeek is a property [OK]
D. Using parentheses after 'Length' property causes an error
Solution
Step 1: Check property access syntax
Properties like 'Length' are accessed without parentheses in PowerShell.
Step 2: Identify the error
$file.Length() tries to call 'Length' as a method, causing an error.
Final Answer:
Using parentheses after 'Length' property causes an error -> Option D
Quick Check:
Properties do not use () [OK]
Hint: Properties never have () after them [OK]
Common Mistakes:
Adding () to properties
Thinking Get-Item can't get file info
Believing Write-Output can't print variables
5. You want to list all running processes and display their names and memory usage using PowerShell objects. Which script correctly uses object properties to do this?
hard
A. Get-Process | ForEach-Object { '$_.Name uses $_.WorkingSet64 bytes' }
B. Get-Process | ForEach-Object { "$_.Name uses $_.WorkingSet64() bytes" }
Step 1: Understand property access and string concatenation
Properties are accessed with dot notation without parentheses. Concatenate strings with + in PowerShell.
Step 2: Analyze each option
A uses quotes with variables inside strings incorrectly (no expansion). B uses () on property causing error. C uses invalid arrow notation. D correctly concatenates properties and strings.