#组策略应用优先级冲突继承环回:
#优先级
https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc785665(v=ws.10)
优先级分几种情况,正常情况,就是下面的test,还有强制和拒绝继承。以及同OU下的不同Order。
GPO应用根据原则:LSDOU
L=Local
S=Site
D=Domain
OU=Ou
LocalGP,Order=1。
SiteGP,Order=2。
DomainGP ,Orrder=3.
OUGP,Order=4。
同类型的通常情况下,按照上述数字顺序应用,如果有冲突,则后面的会覆盖前面的(或者也可以说只应用最后一层的OU)。
#GPOBackGround测试:
本地Local 设置成BackgroudID=1。
Site-BackgroundID=2
Domain-BackGroundID=3
OU-BackGroundID=4
除了SiteGP,其他三个都应用的情况下,OUGP最后应用,或者说其他的会被拒绝应用或者被覆盖
最后BackgroundID,应该等于4。
看最后的RSOP记录。
可以看到应用的顺序就是按照LSDOU的原则。
从Resultant里也看到相关的Order,也复合LSDOU的顺序。
LinkOrder Name
--------- ----
1 Local Group Policy
2 Site-BackgroudID=2
3 Domain-BackgroudID=3
4 Computer-Set Powershell Executiongpolicy Remotesigned
5 Default Domain Policy
6 Computer-Firewall-Enable Ping Protocol
7 Computer-Remote Update and Reporting FirewallPorts
8 Computer-Notify User When Pasword Exipres in 7 Days
9 {7B718E89-6966-4C3F-B564-611E396CB810}
10 Compuer-Turn On Windows Hello
11 OU-BackroundID=4
12 {D6060B26-E805-476D-8685-C710C64A6780}
13 {90C09474-17DF-4218-9321-87285F3A5769}
14 GPOTestForMigration
15 {85A2EE61-1A6E-4620-9619-7D6F9F31D93E}
16 {C94A35FC-3869-416D-AA2B-3754F2361701}
17 Computer_PS_Script-Start_2_802.1X_Wired_Related_Serivices
18 Computerr_PS_Script_TestScript_New_Item
19 Preferences-Turn on 2 LocalService to activate Wired 802.1x
是不是可能有疑问,是按顺序的依次应用还是其实是前面的直接被舍弃了。
#另一个策略测试:
在这个里面应该是直接覆盖了。并没有出现有些人想的三个账号同时在里面。
#脚本测试:
脚本的话会各自按顺序执行,不存在覆盖什么的。
#强制Enforced
#Enforced Higher GPOs have the highest priority.强制的上层优先级更高。
拿BackGround来测试。
把Domain-Background=3 Enforced。
Enforced GP 优先应用。
取消Enforced即恢复原样。
#拒绝继承BlockInheritance
#BlockInheritance,拒绝继承,当前OU之上的GP都不会再应用到此Ou。EnforcedGP的除外。
默认组策略都是继承的。
下面是TestOU下的电脑的组策略:
比如Computer-TurnOnWindowsHello和DefaultDomainPolicy都是DomainGP。
再拿之前GPOBackground的GP来测试,把OU-BG=4的GP禁用。点击应用BlockInheritance。
逻辑上会发生。
Computer-TurnOnWindowsHello和DefaultDomainPolicy都不会再AppliedGPO里出现。
由于OU-BG=4被禁用,那么BackGroundID的选项根据顺序最后是LocalGP,所以ID会变成1。
和逻辑一致。
再把本地的组策略配置成Not Configured看一下(用下面的命令删除)。
删除后重启可以看到已经没有Local了。
如果这时候把DomainBG=3 Enforced,把OUBG=4 Enabled。Test-Ou的BlockInheritance保留。
可以看到,Eforced可以穿透BlockInheritance。
#同OU下的不同Order。
新建一个Ou=Background5。
可以看到应用了4。
回DC用Get-gpinheritance查看ou下的linkorder。
(Get-GPInheritance -Target "OU=TestOU,OU=kaedeleo,DC=kaedeleo,DC=com").gpolinks | select displayname,order
需要明白一件事,就是Inheritance下的OU下的Order(OUGPOlinkOrder),也就是PS的CMDLET里的new-GPlink下的order,和用 Get-GPResultantSetOfPolicy
下的Linkorder(CommonGPOLinkOrder)的顺序是相反的。
如下图:
前面说的组策略应用顺序LSDOU的顺序是按照CommonGPOLinkOrder的顺序,当冲突时,数字大的优先级更高。
OUGPOLinkOrder,当冲突时,则是数字小的优先级更高。
那我们可以用Set-Gplink修改Ou=Background4的OUGPoLinkOrder的Order为13,结果发现不能这么改,只能改成现有数量的1-12,那就改成12。
Set-GPLink -Name "OU-BackroundID=4" -Target "OU=TestOU,OU=kaedeleo,DC=kaedeleo,DC=com" -Order 12
改完重启一下,然后去看一下Common那边的order(不重启无效)。
发现已经更改了。
而实际也已经成功了。
大部分情况下用不到这个功能,明白其中的逻辑就好。
#组策略环回处理Loopback.
https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc782810(v=ws.10)?redirectedfrom=MSDN
#处理过程
通常情况下的组策略处理过程:
- Computer Starts/Contacts DC
- Gets all GPOs linked to it
- Processes Computer Node (ignores user node)
- Presents Login Screen
- User Authenticates
- Gets all GPOs linked to it(The User)
- Processes User Node (ignores computer node)
- User is logged in环回处理Loopback:
Replace
- Computer Starts/Contacts DC
- Gets all GPOs linked to it
- Processes Computer Node (ignores user node)
- Presents Login Screen
- User Authenticates
- Gets all Users GPOs linked to the Computer (TheComputer,Replace)
- Processes User Node (ignores computer node)
- User is logged inMerge
- Computer Starts/Contacts DC
- Gets all GPOs linked to it
- Processes Computer Node (ignores user node)
- Presents Login Screen
- User Authenticates
- Gets all Users GPOs linked to the Computer (High Precedence)
- Gets all GPOs linked to it(The User,Merge)
- Processes User Node (ignores computer node)
- User is logged in
#开启方式:
一般用于公用类型或特定类型的电脑设备,KIOSK。
Computer Configuration/Administrative Templates/System/Group Policy/Configure user Group Policy loopback processing mode
"Replace" indicates that the user settings defined in the computer's Group Policy Objects replace the user settings normally applied to the user.
"Merge" indicates that the user settings defined in the computer's Group Policy Objects and the user settings normally applied to the user are combined. If the settings conflict, the user settings in the computer's
Group Policy Objects take precedence over the user's normal settings.
看下面的结论。
#LoopBack-Replace
KIOSK计算机位于KIOSK OU下,要登录的用户jiayu位于OriginalOU下。
逻辑上,jiayu用户本身拥有的GP有Site/Domain GP+OU GP,假如普通情况下,登录KIOSK的计算机,上面GP仍然会正常应用。但由于账号不在KIOSK也没有开启Loopback,所以不会应用KIOSK下的用户策略。
验证:
把Group Policy loopback processing mode设置成Replace。
主要想测试下ScreenSaver600S和Replace增加的目标OU的ScreenSaver480S的GP哪个会先应用,逻辑是什么。
再查看RSOP.msc
再测试一个其他OU的账号。
应用LoopBack Replace前
应用Replace后:
#结论:
开了LoopBack-Replace的计算机,其他OU的用户登录后,自带的所有GP都会被Replace掉。
#LoopBack—Merge
#结论:
开了LoopBack的Merge的计算机,其他OU的用户登录后,自带的GP和当前计算下的用户策略会合并,当前计算机下的用户策略优先应用(包含上层的OU策略)。域用户策略会应用两次,比如登录脚本会跑两次。
Links:
https://deployhappiness.com/questions-about-loopback-policy-processing/
https://deployhappiness.com/loopback-policy-how-a-computer-becomes-a-user/