Group Policy basics: GPOs, links and processing order
-
Phase 0: Before you start
-
Phase 1: The foundation
-
Phase 2: Core administration and security
-
Phase 3: Enterprise infrastructure
-
Phase 4: Troubleshooting step by step
-
Phase 5: Final project and career
You can’t walk to 500 computers to change a setting. Group Policy lets you set it once in AD and have every matching computer and user pick it up by itself, within about 90 minutes or at the next sign-in.
In this lesson you’ll redirect new computers into the right OU, set the domain password policy, create and link your first GPOs, map a drive and deploy Finance-Printer with Group Policy Preferences, and read the results with gpresult.
| Time | You need | By the end you can |
|---|---|---|
| About 75 minutes | DC01, SRV01 and CL01, with the shares from Lessons 16–17 and the printer from Lesson 18 | Create, link and filter GPOs, use Preferences for drives and printers, explain LSDOU processing order and check results with gpresult |
What it is, in one line
Group Policy is the Windows feature that pushes settings from Active Directory to computers and users, using Group Policy Objects (GPOs) linked to sites, domains and OUs.
In Simple Words
School rules on the notice boards
A school has rules on several notice boards: one for the whole district, one for the school, one for each block, one for each classroom. A student follows all the boards that cover them.
If two boards disagree, the one closest to the student wins: the classroom rule beats the school rule. And some rules are for the rooms (lights off at 6) while others are for people (no running).
GPOs work the same way. They’re linked to the domain and to OUs, the closest link wins, and every GPO has a computer half and a user half.
Engineer's View
GPOs, links, LSDOU and filtering
GPOs: each GPO has a part in AD (the Group Policy container) and files in SYSVOL (the template), both replicated to every DC. Its Computer Configuration applies at startup and every 90 minutes (plus a random 0–30 minutes), its User Configuration at sign-in and on the same cycle. Domain controllers refresh every 5 minutes.
Order (LSDOU): Local policy, then Site, Domain and OU links from the top OU down. Later settings overwrite earlier ones, so the closest OU wins.
Block inheritance on an OU stops higher links, and Enforced on a link beats blocks and lower links. Within one OU, link order 1 is applied last and wins.
Filtering: a GPO applies to users or computers that have Read and Apply group policy permissions on it (security filtering), and can also use WMI filters. Since 2016 (MS16-072), computers read user GPOs too, so Authenticated Users or Domain Computers must keep Read.
Policies vs Preferences: Policies are enforced and removed when the GPO no longer applies. Preferences (drive maps, printers, registry items, shortcuts) set a starting value users can change, and support item-level targeting. Account policies (password, lockout) for domain accounts only work from a GPO linked at the domain.
How it works, step by step
When Priya signs in to CL01, policies are applied in this order:
CL01 is in the Workstations OU and Priya is in Finance under Staff. Computer settings come from GPOs linked above CL01’s object; user settings come from GPOs linked above Priya’s. That separation catches out a lot of new admins.
These are the GPOs you’ll have by the end of the lab:
- Redirect new computers from CN=Computers to the Workstations OU.
- Edit the Default Domain Policy for the password and lockout policy.
- Create U-Staff-Desktop with a locked screen saver and a mapped drive, linked to Staff.
- Create U-Finance-Printer, filtered to GG_Finance, that adds the Finance printer.
- Check on CL01 with gpupdate and gpresult.
A naming habit helps: U- for GPOs with user settings, C- for computer settings. You’ll see why in the first Break It.
Hands-on Lab: Group Policy for saatlab.internal
Start DC01, SRV01 and CL01. Work on DC01 as SAATLAB\Administrator. The Group Policy Management console (gpmc.msc) and the GroupPolicy PowerShell module come with the AD DS role.
1See the default GPOs and redirect new computers
On DC01, in PowerShell as administrator:
Get-GPO -All | Select-Object DisplayName, GpoStatus, CreationTime
redircmp "OU=Workstations,OU=SAATLAB,DC=saatlab,DC=internal"You should see something like this:
DisplayName GpoStatus CreationTime
----------- --------- ------------
Default Domain Policy AllSettingsEnabled 19/10/2026 15:02:11
Default Domain Controllers Policy AllSettingsEnabled 19/10/2026 15:02:11
Redirection was successful.Every domain starts with these two GPOs. From now on, computers joined without an OU path land in Workstations, where policies can reach them, instead of the Computers container, where they can’t.
✅ Checkpoint: Two default GPOs are listed and redircmp reports “Redirection was successful.”
2Set the domain password and lockout policy
Open Group Policy Management, expand Forest, Domains, saatlab.internal, right-click Default Domain Policy and choose Edit. Go to Computer Configuration, Policies, Windows Settings, Security Settings, Account Policies.
Under Password Policy, set Minimum password length to 12. Under Account Lockout Policy, set Account lockout threshold to 10 invalid attempts and accept the suggested 15-minute duration and reset values.
Close the editor, then on DC01 apply and check:
gpupdate /force
Get-ADDefaultDomainPasswordPolicy | Select-Object MinPasswordLength, LockoutThreshold, LockoutDuration, ComplexityEnabledYou should see something like this:
MinPasswordLength LockoutThreshold LockoutDuration ComplexityEnabled
----------------- ---------------- --------------- -----------------
12 10 00:15:00 TrueDomain password rules must be set in a GPO linked to the domain. The same settings in a GPO linked to an OU only affect local accounts on the computers in it. For different rules for some users, such as admins, use fine-grained password policies (Lesson 22).
✅ Checkpoint: MinPasswordLength is 12 and LockoutThreshold is 10.
3Create U-Staff-Desktop with a locked screen saver
On DC01, create the GPO, add three policy settings and link it to Staff:
New-GPO -Name 'U-Staff-Desktop' -Comment 'Desktop settings for all staff' | Out-Null
$k = 'HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop'
Set-GPRegistryValue -Name 'U-Staff-Desktop' -Key $k -ValueName ScreenSaveActive -Type String -Value '1' | Out-Null
Set-GPRegistryValue -Name 'U-Staff-Desktop' -Key $k -ValueName ScreenSaverIsSecure -Type String -Value '1' | Out-Null
Set-GPRegistryValue -Name 'U-Staff-Desktop' -Key $k -ValueName ScreenSaveTimeOut -Type String -Value '600' | Out-Null
New-GPLink -Name 'U-Staff-Desktop' -Target 'OU=Staff,OU=SAATLAB,DC=saatlab,DC=internal' | Select-Object DisplayName, Enabled, OrderYou should see something like this:
DisplayName Enabled Order
----------- ------- -----
U-Staff-Desktop True 1These are the same settings as User Configuration, Administrative Templates, Control Panel, Personalization in the editor: screen saver on, password-protected, after 10 minutes. Open the GPO in the editor to see them listed there.
✅ Checkpoint: U-Staff-Desktop exists and is linked to the Staff OU.
4Map the S: drive with Group Policy Preferences
In Group Policy Management, right-click U-Staff-Desktop and choose Edit. Go to User Configuration, Preferences, Windows Settings, Drive Maps, right-click and choose New, Mapped Drive.
Set Action to Update, Location to \\saatlab.internal\Files\Departments, tick Reconnect, Label as Departments, and Drive Letter Use: S. Click OK.
“Update” creates the drive if it’s missing and fixes it if it’s wrong, without touching other drives. Because the share uses ABE, everyone gets the same S: drive but only sees their own department’s folder.
✅ Checkpoint: The Drive Maps node shows S: pointing to the DFS path with action Update.
5Deploy the Finance printer to Finance only
On DC01, create and link the GPO, then filter it to GG_Finance:
New-GPO -Name 'U-Finance-Printer' | New-GPLink -Target 'OU=Staff,OU=SAATLAB,DC=saatlab,DC=internal' | Out-Null
Set-GPPermission -Name 'U-Finance-Printer' -TargetName 'GG_Finance' -TargetType Group -PermissionLevel GpoApply | Out-Null
Set-GPPermission -Name 'U-Finance-Printer' -TargetName 'Authenticated Users' -TargetType Group -PermissionLevel GpoRead -Replace | Out-Null
Get-GPPermission -Name 'U-Finance-Printer' -All | Select-Object @{n='Trustee';e={$_.Trustee.Name}}, PermissionYou should see something like this:
Trustee Permission
------- ----------
GG_Finance GpoApply
Authenticated Users GpoRead
Domain Admins GpoEditDeleteModifySecurity
Enterprise Admins GpoEditDeleteModifySecurity
SYSTEM GpoEditDeleteModifySecurity
ENTERPRISE DOMAIN CONTROLLERS GpoReadOnly GG_Finance can apply the GPO, while Authenticated Users can still read it, which computers need since MS16-072. Now edit U-Finance-Printer: User Configuration, Preferences, Control Panel Settings, Printers, then New, Shared Printer. Action Update, share path \\SRV01\FinancePrn, and click OK.
✅ Checkpoint: U-Finance-Printer applies to GG_Finance only, Authenticated Users keeps GpoRead, and it contains the shared printer item.
6Check the result on CL01
On CL01, sign in as SAATLAB\priya.sharma (or sign out and back in) and open PowerShell.
Run this:
gpupdate /force
gpresult /r /scope userYou should see something like this (shortened):
USER SETTINGS
--------------
CN=Priya Sharma,OU=Finance,OU=Staff,OU=SAATLAB,DC=saatlab,DC=internal
Last time Group Policy was applied: 19/10/2026 at 17:52:04
Group Policy was applied from: DC01.saatlab.internal
Group Policy slow link threshold: 500 kbps
Domain Name: SAATLAB
Domain Type: Windows 2008 or later
Applied Group Policy Objects
-----------------------------
U-Finance-Printer
U-Staff-Desktop
The user is a part of the following security groups
---------------------------------------------------
Domain Users
GG_Finance
DL_FinanceShare_Modify
...Then check the drive and printer:
Get-PSDrive S | Select-Object Name, DisplayRoot
Get-Printer | Where-Object Type -eq 'Connection' | Select-Object NameYou should see something like this:
Name DisplayRoot
---- -----------
S \\saatlab.internal\Files\Departments
Name
----
\\SRV01\FinancePrnDefault Domain Policy isn’t in the user list because it has no user settings. To see computer GPOs, run gpresult /r /scope computer as an administrator. For a full HTML report, use gpresult /h C:\Temp\gp.html.
✅ Checkpoint: gpresult lists both U- GPOs, S: is mapped to the DFS path, and the Finance printer is connected.

7See the processing order for an OU
On DC01, run this:
Get-GPInheritance -Target 'OU=Finance,OU=Staff,OU=SAATLAB,DC=saatlab,DC=internal' |
Select-Object -ExpandProperty InheritedGpoLinks | Select-Object Order, DisplayName, TargetYou should see something like this:
Order DisplayName Target
----- ----------- ------
1 U-Staff-Desktop ou=staff,ou=saatlab,dc=saatlab,dc=internal
2 U-Finance-Printer ou=staff,ou=saatlab,dc=saatlab,dc=internal
3 Default Domain Policy dc=saatlab,dc=internalThis is the list Windows works through for objects in Finance, highest precedence first. If two GPOs set the same thing differently, the one with order 1 wins. GPMC shows the same list on the OU’s Group Policy Inheritance tab.
✅ Checkpoint: Finance inherits both Staff GPOs and the Default Domain Policy.
Break It, Then Fix It
Two mistakes that make people say “Group Policy doesn’t work”. It does; it’s just doing exactly what it was told.
1Break it: user settings linked to a computer OU
On DC01, move the U-Staff-Desktop link from Staff to Workstations:
Remove-GPLink -Name 'U-Staff-Desktop' -Target 'OU=Staff,OU=SAATLAB,DC=saatlab,DC=internal' | Out-Null
New-GPLink -Name 'U-Staff-Desktop' -Target 'OU=Workstations,OU=SAATLAB,DC=saatlab,DC=internal' | Out-NullOn CL01 as Priya, refresh and check:
gpupdate /force
gpresult /r /scope user | Select-String -Pattern 'U-'
Get-PSDrive S -ErrorAction SilentlyContinueYou’ll see something like this:
U-Finance-PrinterU-Staff-Desktop is gone from Priya’s list, the screen saver lock no longer applies, and new sign-ins don’t get S:. CL01 is in Workstations, but user settings follow the user’s OU, and Priya is in Finance. The GPO is linked; it just has no users below it.
Fix it: link it back where the users are:
Remove-GPLink -Name 'U-Staff-Desktop' -Target 'OU=Workstations,OU=SAATLAB,DC=saatlab,DC=internal' | Out-Null
New-GPLink -Name 'U-Staff-Desktop' -Target 'OU=Staff,OU=SAATLAB,DC=saatlab,DC=internal' -Order 1 | Out-NullWhen you really need user settings based on the computer, such as on kiosks or Remote Desktop servers, that’s called loopback processing, and it’s in Lesson 20.
✅ Checkpoint: U-Staff-Desktop disappeared from gpresult when linked to Workstations and is back after relinking to Staff.
2Break it: security filtering without Read for computers
On DC01, remove Authenticated Users from U-Finance-Printer completely:
Set-GPPermission -Name 'U-Finance-Printer' -TargetName 'Authenticated Users' -TargetType Group -PermissionLevel None -Replace | Out-NullOn CL01 as Priya:
gpupdate /force
gpresult /r /scope userYou’ll see something like this:
Applied Group Policy Objects
-----------------------------
U-Staff-Desktop
The following GPOs were not applied because they were filtered out
-------------------------------------------------------------------
U-Finance-Printer
Filtering: Not Applied (Unknown Reason)Priya is in GG_Finance and GG_Finance has Apply, so this looks impossible. But CL01 reads user GPOs using its own computer account, and the computer can no longer read this one. “Unknown Reason” is gpresult’s way of saying the GPO couldn’t be read.
Fix it: give computers Read again:
Set-GPPermission -Name 'U-Finance-Printer' -TargetName 'Authenticated Users' -TargetType Group -PermissionLevel GpoRead -Replace | Out-NullGPMC even warns you about this when you remove Authenticated Users from Security Filtering. Read the warning, and use the Delegation tab to keep Read.
✅ Checkpoint: U-Finance-Printer showed “Not Applied (Unknown Reason)” without Authenticated Users Read and applies again after the fix.

This happened at work
The GPO that locked admins out of every server
A security project wanted to stop ordinary staff using Remote Desktop to reach their PCs. An admin created a GPO that set “Allow log on through Remote Desktop Services” to only the Helpdesk group, tested it on one PC, and it worked.
He then linked it at the domain level so it would reach every PC. The computer settings applied to every computer in the domain, including all servers and the domain controllers. Within 90 minutes, server admins couldn’t RDP to anything, because only Helpdesk could.
They recovered through hypervisor consoles: signed in to a DC locally, unlinked the GPO, and waited for servers to refresh, forcing it on critical ones with Invoke-GPUpdate. Monitoring had already paged half the team by then.
The fix: the GPO was relinked to the Workstations OU only, and every new GPO now goes to a pilot OU for a week first. Link changes at the domain level need a second approval.
The lesson: where you link a GPO matters as much as what’s in it. Ask “what objects are below this link?” before you click OK.
Common mistakes and troubleshooting
| Mistake or symptom | What happens | What to do instead |
|---|---|---|
| User settings in a GPO linked to a computer OU | Nothing happens for users | Link user GPOs where the user accounts are |
| Removing Authenticated Users from security filtering | “Not Applied (Unknown Reason)” | Keep Authenticated Users or Domain Computers with Read |
| Password policy set in an OU-linked GPO | Domain accounts ignore it | Set domain password policy in a domain-linked GPO |
| Putting everything into Default Domain Policy | Hard to troubleshoot and to reset | Small, named GPOs per purpose |
| Expecting changes instantly | Clients refresh every 90–120 minutes | gpupdate /force for testing; plan for the delay |
| Linking new GPOs straight to the domain | Unexpected effects on servers and DCs | Test on a pilot OU first |
| New computers left in CN=Computers | No OU-linked policies reach them | redircmp to a real OU |
| Using Policies for things users should change | Users can’t adjust and call the helpdesk | Use Preferences for defaults |
| Not checking gpresult | Guessing why a setting is missing | gpresult /r or /h on the client, as the affected user |
Interview questions
Click a question to open it. Under each one you’ll find what the interviewer is really looking for, and one good way to answer.
Fresher level
1. What is a GPO?
What they’re really checking: Do you know the basics?
How you could answer: A Group Policy Object: a set of computer and user settings stored in AD and SYSVOL, applied to the users and computers below the sites, domains or OUs it’s linked to.
2. What does LSDOU mean?
What they’re really checking: Do you know processing order?
How you could answer: Local, Site, Domain, OU. Policies apply in that order, so the OU closest to the object wins in a conflict.
3. How do you force a policy update and check what applied?
What they’re really checking: Have you troubleshot GP?
How you could answer: gpupdate /force on the client, then gpresult /r (or /h for a report) as the affected user, or the Group Policy Results wizard in GPMC.
2–5 years experience
4. What is the difference between Group Policy Policies and Preferences?
What they’re really checking: Do you know when to use each?
How you could answer: Policies are enforced, users can’t change them, and they’re removed when the GPO stops applying. Preferences set values users can change, support item-level targeting, and stay unless set to remove.
5. How do you apply a GPO to only one group of users in an OU?
What they’re really checking: Do you know filtering?
How you could answer: Security filtering: give the group Apply group policy, and keep Authenticated Users or Domain Computers with Read. Or use item-level targeting inside Preferences.
6. What do Block Inheritance and Enforced do?
What they’re really checking: Can you explain precedence controls?
How you could answer: Block Inheritance on an OU stops GPOs linked above it. Enforced on a link makes that GPO win over lower links and go through blocks. Use both sparingly.
Senior level
7. How would you structure GPOs for a 3,000-user company?
What they’re really checking: Do you design for maintainability?
How you could answer: Separate computer and user GPOs per purpose, clear naming, links on the OU structure, security baselines as their own GPOs, a pilot OU and change control, central store for ADMX, regular backups and documentation.
8. A setting isn’t applying on some computers. How do you investigate?
What they’re really checking: Is your troubleshooting structured?
How you could answer: Confirm OU and link, security filtering and WMI filters with gpresult, check the GroupPolicy Operational event log, SYSVOL and AD replication of the GPO version, network and DC reachability, and conflicting GPOs by precedence.
9. How do you recover from a bad GPO change?
What they’re really checking: Do you plan for mistakes?
How you could answer: Unlink or disable it first, then restore from a Backup-GPO copy, force updates with Invoke-GPUpdate on critical systems, and use console access where remote access was affected.
Quick quiz
Q1. In LSDOU, which link usually wins a conflict?
- Local policy
- The domain
- The OU closest to the object
Show answer
C — It’s applied last.
Q2. Where must the domain password policy be set?
- In any OU GPO
- In a GPO linked to the domain
- In the user’s properties
Show answer
B — OU-level password settings only affect local accounts.
Q3. Why did U-Staff-Desktop stop applying to Priya in Break It step 1?
- It was disabled
- It was linked to the computer’s OU, not the user’s
- The drive was wrong
Show answer
B — User settings follow the user’s OU.
Q4. What does “Not Applied (Unknown Reason)” usually mean after a filtering change?
- The GPO is empty
- The computer can no longer read the GPO
- The user is disabled
Show answer
B — Keep Read for Authenticated Users.
Q5. In the work story, what caused the lockout?
- A virus
- A workstation GPO linked at the domain level
- Expired passwords
Show answer
B — Check what’s below a link before linking.
Quick recap
- Group Policy pushes settings from GPOs linked to sites, domains and OUs.
- Processing order is LSDOU; the closest link wins, Enforced and Block Inheritance change that.
- Computer settings follow the computer’s OU, user settings follow the user’s OU.
- Security filtering needs Apply for the target group and Read for computers.
- Preferences handle drives and printers; Policies are enforced.
- Check results with
gpresult /ras the affected user.
Next lesson
Lesson 20: Group Policy advanced → You’ll set up the central store, use loopback processing, WMI filters and item-level targeting, back up and restore GPOs, model results before you link, and set up Folder Redirection.
Further reading: Group Policy
Want to go deeper into Group Policy? Microsoft’s Group Policy troubleshooting guidance lists the common causes of policies not applying, and the GroupPolicy PowerShell module covers the commands used here. You can also see the full plan for this course on the Windows Server Administration course page.
