0
0
PowerShellscripting~30 mins

Group-Object for categorization in PowerShell - Mini Project: Build & Apply

Choose your learning style9 modes available
Group-Object for categorization
📖 Scenario: You work in a small bookstore. You have a list of books with their genres. You want to organize the books by their genre to see how many books you have in each category.
🎯 Goal: Create a PowerShell script that groups books by their genre using Group-Object and shows the count of books in each genre.
📋 What You'll Learn
Create an array of books with their genres
Use a variable to hold the list of books
Use Group-Object to group books by genre
Display the genre and the count of books in each genre
💡 Why This Matters
🌍 Real World
Grouping data by categories is common in reports, logs, and inventory management to quickly understand distribution.
💼 Career
Many IT and automation jobs require organizing and summarizing data using PowerShell or similar scripting tools.
Progress0 / 4 steps
1
Create the list of books
Create a variable called $books that holds an array of hashtables. Each hashtable should have two keys: Title and Genre. Add these exact entries:
@{Title='The Hobbit'; Genre='Fantasy'},
@{Title='1984'; Genre='Dystopian'},
@{Title='The Catcher in the Rye'; Genre='Classic'},
@{Title='The Lord of the Rings'; Genre='Fantasy'},
@{Title='Brave New World'; Genre='Dystopian'}
PowerShell
Need a hint?

Use @() to create an array and @{} to create hashtables inside it.

2
Prepare to group books by genre
Create a variable called $groupedBooks but do not assign it yet. This will hold the grouped result later.
PowerShell
Need a hint?

Just create the variable $groupedBooks and set it to $null for now.

3
Group the books by genre
Assign to $groupedBooks the result of grouping $books by the Genre property using Group-Object.
PowerShell
Need a hint?

Use the pipeline | and Group-Object -Property Genre to group the books.

4
Display the grouped result
Use a foreach loop to go through each group in $groupedBooks. For each group, print the genre name and the count of books in that group in this exact format:
Genre: [GenreName], Count: [Count]
PowerShell
Need a hint?

Use foreach ($group in $groupedBooks) and inside the loop use Write-Output with $group.Name and $group.Count.