Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Group management
📖 Scenario: You are managing user groups on a system. You want to organize users into groups and then list the members of groups that have more than a certain number of users.
🎯 Goal: Create a PowerShell script that defines groups with users, sets a minimum member count, filters groups by that count, and displays the filtered groups.
📋 What You'll Learn
Create a hashtable called groups with exact group names and user lists
Create a variable called minCount with the value 3
Use a foreach loop with variables groupName and userList to iterate over groups.GetEnumerator()
Inside the loop, use an if statement to check if userList.Count is greater than or equal to minCount
Create a new hashtable called filteredGroups to store groups meeting the condition
Print the filteredGroups hashtable at the end
💡 Why This Matters
🌍 Real World
System administrators often manage user groups to control access and permissions. Filtering groups by size helps in auditing and reporting.
💼 Career
Knowing how to script group management tasks in PowerShell is valuable for IT support, system administration, and automation roles.
Progress0 / 4 steps
1
Create the groups hashtable
Create a hashtable called groups with these exact entries: 'Admins' with users 'Alice', 'Bob', 'Charlie'; 'Editors' with users 'Dave', 'Eve'; and 'Viewers' with users 'Frank', 'Grace', 'Heidi', 'Ivan'.
PowerShell
Hint
Use @{} to create a hashtable and @() to create arrays of users.
2
Set the minimum member count
Create a variable called minCount and set it to 3.
PowerShell
Hint
Just assign the number 3 to the variable minCount.
3
Filter groups by minimum member count
Create an empty hashtable called filteredGroups. Use a foreach loop with variables groupName and userList to iterate over $groups.GetEnumerator(). Inside the loop, use an if statement to check if userList.Count is greater than or equal to minCount. If yes, add the group to filteredGroups with groupName as key and userList as value.
PowerShell
Hint
Use GetEnumerator() to loop through hashtable keys and values, then check count and add to filteredGroups.
4
Display the filtered groups
Print the filteredGroups hashtable using Write-Output.
PowerShell
Hint
Use Write-Output to display the hashtable. Only groups with 3 or more users appear.
Practice
(1/5)
1. Which PowerShell cmdlet is used to create a new local group on a Windows machine?
easy
A. Add-LocalGroupMember
B. Get-LocalGroupMember
C. New-LocalGroup
D. Remove-LocalGroup
Solution
Step 1: Understand the purpose of each cmdlet
New-LocalGroup creates a new group, Add-LocalGroupMember adds users to a group, Get-LocalGroupMember lists members, Remove-LocalGroup deletes a group.
Step 2: Identify the cmdlet for creating groups
Only New-LocalGroup is used to create a new local group.
2. Which of the following is the correct syntax to add a user named 'Alice' to a local group called 'Developers'?
easy
A. Add-LocalGroupMember -Group 'Developers' -Member 'Alice'
B. Add-LocalGroupMember -Member 'Developers' -Group 'Alice'
C. New-LocalGroup -Group 'Developers' -Member 'Alice'
D. Get-LocalGroupMember -Group 'Developers' -Member 'Alice'
Solution
Step 1: Identify the cmdlet to add members
Add-LocalGroupMember is used to add users to groups.
Step 2: Check parameter order and names
The correct syntax uses -Group for the group name and -Member for the user name.
Final Answer:
Add-LocalGroupMember -Group 'Developers' -Member 'Alice' -> Option A
Quick Check:
Add user syntax = Add-LocalGroupMember -Group -Member [OK]
Hint: Group comes before Member in Add-LocalGroupMember [OK]
Common Mistakes:
Swapping -Group and -Member parameters
Using New-LocalGroup to add members
Using Get-LocalGroupMember to add members
3. What will be the output of this PowerShell command if the 'TestGroup' has members 'Bob' and 'Carol'?
Get-LocalGroupMember -Group 'TestGroup' | Select-Object -ExpandProperty Name
medium
A. Bob
Carol
B. Name
Bob
Carol
C. TestGroup
D. Error: Group not found
Solution
Step 1: Understand Get-LocalGroupMember output
This cmdlet lists members of the specified group with properties like Name.
Step 2: Effect of Select-Object -ExpandProperty Name
This extracts only the Name property values, outputting member names as plain strings.
Final Answer:
Bob
Carol -> Option A
Quick Check:
Extracted names list = Bob and Carol [OK]
Hint: Select -ExpandProperty outputs only the property values [OK]
Common Mistakes:
Expecting property headers in output
Confusing group name with member names
Assuming error if group exists
4. You run this command but get an error: Add-LocalGroupMember -Group 'Admins' -Member 'John'. What is the most likely cause?
medium
A. The syntax is incorrect
B. The 'Admins' group does not exist
C. The 'John' user is already a member
D. You are not running PowerShell as administrator
Solution
Step 1: Check permissions needed for group changes
Modifying local groups requires administrator privileges in PowerShell.
Step 2: Analyze error cause
If the group exists and syntax is correct, lack of admin rights causes permission errors.
Final Answer:
You are not running PowerShell as administrator -> Option D
Quick Check:
Admin rights needed for group changes [OK]
Hint: Always run PowerShell as admin for group management [OK]
Common Mistakes:
Assuming syntax error without checking permissions
Ignoring admin rights requirement
Thinking user membership causes error
5. You want to create a new local group named 'ProjectTeam' and add multiple users: 'Alice', 'Bob', and 'Carol'. Which script correctly does this in PowerShell?
B. New-LocalGroup -Name 'ProjectTeam'; Add-LocalGroupMember -Group 'ProjectTeam' -Member 'Alice','Bob','Carol'
C. New-LocalGroup -Name 'ProjectTeam' -Member 'Alice','Bob','Carol'
D. New-LocalGroup -Group 'ProjectTeam'; Add-LocalGroupMember -Member 'Alice','Bob','Carol'
Solution
Step 1: Create the group first
Use New-LocalGroup with -Name to create 'ProjectTeam'.
Step 2: Add multiple members in one command
Add-LocalGroupMember accepts multiple members as a comma-separated list.
Step 3: Verify syntax correctness
New-LocalGroup -Name 'ProjectTeam'; Add-LocalGroupMember -Group 'ProjectTeam' -Member 'Alice','Bob','Carol' correctly creates the group then adds all members in one command.