使用组策略并不总是那么容易。当然,当您可以从上到下设置GPO和策略设置并将它们反映在用户的桌面上时,这是一件令人愉快的事情。但是,当您希望组策略时,在实现该愿望之前会进行特定的过程。确实,上一章讨论了何时应用组策略。现在,您了解了游戏的一般规则以及何时发生。
但是,如果发生意外情况怎么办?更具体地说,很难确定 策略设置来自何处以及如何应用。或者,如果组策略不起作用,为什么不起作用,又是怎么回事?另外,您通常会受到别人的指责,但这是审计(在第8章“使用组策略实现安全性”中讨论的)可以帮助您完成的任务。
用户可能会致电服务台并大声宣称:“我的桌面上的一切刚刚改变!我希望他们回到原来的状态!”好的,当然,您也希望事情变得更好。但是涉及很多变量。首先,有四个级别:本地组策略(以及Windows Vista和更高版本中可能包含多个本地GPO),站点,域以及每个嵌套的OU(因此可能还有更多级别)。然后,更糟糕的是,如果多个管理员在您的环境中同时进行多个和同时的组策略更改,该怎么办?谁知道谁启用了哪些组策略设置以及某些用户如何应用组策略?
还涉及其他因素。例如,您可能拥有一个具有对另一个目录林的跨目录林信任的Active Directory,并且用户正在整个地方登录–更不用说在您许愿和执行请求之间可能会出错的一整堆事情。客户有望兑现这一愿望的时间。
以下是对GPO进行故障排除时的期望:
禁用的GPO 如果禁用了GPO或禁用了一半的GPO,则需要查找它。
也许有人决定禁用GPO链接并且没有告诉您?
WMI筛选的继承问题和麻烦 在本地,站点,域和多个嵌套OU之间,找到需要修复的GPO可能是一个挑战。此外,引入WMI筛选器会使疑难解答变得更加困难。
给定级别的GPO优先级 将多个GPO链接到Active Directory中的特定级别,您可能需要做一些额外的工作。
权限问题 确保用户和计算机在正确的站点,域和OU中是一场战斗。确保他们具有访问GPO的正确权限是另一回事。
复制问题 在搜寻不适用的策略设置时,域控制器上GPO本身的健康状况很重要。
基础结构问题 组策略处理要求您的基础结构的所有部分都是健康的,包括看似无关的部分,例如DNS,客户端上运行的服务以及在客户端和域控制器之间传递网络协议的能力。好的Active Directory设计等于好的(一致的)组策略处理。当Active Directory(或复制)的行为异常时,首先要查看的是DNS。正如我的好朋友Mark Minasi所说:“查找复制问题的第二个地方也是DNS。”这是因为Active Directory的问题几乎总是由DNS配置错误引起的。
回送策略处理 有时,由于错误,管理员为一台(或多台)计算机启用了回送策略处理。发生这种情况时,用户会看到意外的行为,因为通常应用于他的GPO突然变得异常。仅了解回送策略处理的工作原理可能会很棘手。我们不仅有两种不同的模式(“替换”或“合并”),而且您还可以在GPO本身上具有复杂的权限设置,这使得计算给定用户将要执行的设置变得困难。
慢速链接 您已经为Windows用户提供了VPN,或者已推出DirectAccess以获得无缝VPN体验。现在,您的客户如何以及何时处理GPO?这些只是您可能会遇到麻烦的几个地方。在具有不同处理行为的各种类型的客户之间,这些问题和偶尔的太阳耀斑使事情变得疯狂。故障排除会变得很复杂。快速。
在本章中,我们将首先探讨组策略的“生存”位置,以使您更好地了解正在发生的事情。然后,我们将探索一些技术和工具,使您可以更好地了解为什么要应用特定策略。
现在您可能正在运行任何数量的操作系统:从Windows XP到Windows 10的任何操作系统,更不用说服务器(充当组策略客户端),包括Windows Server 2003到Windows Server 2016。
在本章中,我们将着重于对Windows 10进行故障排除。不过,该材料在Windows 7和8上应该都能正常工作,因为它们的“直觉”非常类似。但是,为了在本书中为Windows 10留出一点空间,我确实在这里杀死了一些Windows XP信息。您将可以在本书的先前版本中找到有关Windows XP的深入故障排除信息。
就是说,这是您需要了解其他操作系统并进行故障排除的“图表”:
■ ■ Windows XP和Windows Server 2003中共享相同的胆量,所以他们一般troubleshot相同。查找对Windows XP的引用。
■ ■ Windows 8中,Windows Server 2012中,Windows 7中,Windows Vista中,Windows Server 2008中,和Windows Server 2008 R2都troubleshot相同。寻找参考
Windows 8,Windows 7或“ Windows Vista及更高版本”。
组策略的幕后
■ ■ 的Windows 8.1和Windows Server 2012是troubleshot相同。
■ ■ 的Windows 10和Windows Server 2016 troubleshot相同,但它应该是完全一样的Windows 8.1和Server 2012中,也出现了自Windows 8.1没有惊天动地的更新。
在某些情况下,可能会出现一个操作系统无法“适应实际情况”的情况。在这种情况下,我将为您明确指出。
组策略的幕后
如第1章所述,组策略范围有四个级别:本地组策略(包括多个本地组策略对象),然后是基于Active Directory的组策略的三个级别-站点,域和OU。在对组策略进行故障排除时,一种方法是首先对幕后的情况有一个全面的了解。小时候,我一直都把东西拆开。我的父母回家后变得很沮丧,洗碗机散落在整个厨房地板上。它没有坏;我只是想知道它是如何工作的。如果您像我,那么以下部分适合您。
内部本地组策略
请记住,当有人走到计算机,运行本地组策略对象编辑器(GPEDIT.MSC )并发出一个或三个愿望时,就会操纵GPO 。请记住,在Windows XP中,一台计算机上只有一个本地GPO,并且本地GPO会影响登录到该计算机的每个人。在Windows Vista和更高版本中,存在多个本地GPO(MLGPO)。
默认情况下,企业管理员在单个客户端计算机上没有本地管理员权限。域管理员(而非企业管理员)拥有本地组策略对象(LGPO)的权限。
本地组策略所在的位置
一旦使用GPEDIT.MSC 做出了希望 并修改了本地组策略,则本地组策略将驻留在两个位置。第一部分基于文件,第二部分 基于注册表:
本地组策略的基于文件的部分(Windows的所有版本) 默认本地GPO的基于文件的部分可以在%windir%\ system32 \ grouppolicy中找到。
MLGPO的本地组策略的基于文件的部分 请记住,在Windows Vista和更高版本中,存在多个本地GPO(MLGPO)。因此,这些特定于用户和特定于组的GPO的存储位置与默认本地GPO的存储位置不同。即,它们存储在 名为GroupPolicyUsers 的\ Windows \ SYSTEM32 的新子文件夹中,如图7.1所示。
图7.1 查看Windows 7本地GPO的目录
如图7.1所示,有三个SID命名的文件夹,它们包含本地GPO的用户特定部分。(请记住,计算机部分适用于所有人,因此这里没有显示计算机部分。)您在这里可能有三个以上的文件夹。在我的示例中,您在列表中看到的第一个SID(SID为S-1-5-213628237629-333814571-3360194165-1001)是我为其创建了用户特定本地GPO的用户帐户的SID。
而且,正如您从第1章所知,我可以定义任意数量的用户特定的本地GPO。每个用户特定的GPO都有自己的基于SID的文件夹。
如果决定定义本地GPO,则在图7.1中看到的文件夹类似于在Windows Vista和更高版本的系统上找到的文件夹。名为S-1-5-32-544的文件夹定义了Administrators GPO(并非巧合的是,它是内置Administrators组的SID)。同样,名为S-1-5-32-545的文件夹是内置Users组的SID,它代表非管理员本地GPO。
同样,您应该注意到默认本地GPO与这些用户特定的本地GPO之间的主要区别:默认本地GPO除了默认的用户文件夹之外,还包括计算机特定的计算机文件夹。但是,任何特定于用户的本地GPO都仅包含一个“用户”文件夹(因为它仅包含特定于用户的策略设置)。
在本地GPO镜像中找到的文件和文件夹大部分是基于Active Directory的GPO的基于文件的部分存储其内容的方式。这是个好消息,因为它使人们对两种GPO(本地GPO和基于域GPO)的理解几乎相等。
请随意检查%windir%\ system32 \ grouppolicy 文件夹,然后跳到本章后面的“组策略模板”部分,以获取文件结构的要点。但是请注意,在编辑本地GPO之前,可能不会存在所有结构。
组策略的幕后
内部Active Directory组策略对象
这是有关组策略的奇怪部分(好像还不够奇怪)。第1章讨论了如何创建GPO涉及两个步骤。首先,将GPO写入组策略对象容器中,然后将其链接到级别-站点,域或OU。因此,我们知道GPO并没有真正“活在”它们所链接的级别。具体来说,所有GPO都生活在域中的“组策略对象”容器中。也就是说,它们始终保持嵌套在此容器中,但在逻辑上链接到(但不存储在)它们指向的其他级别。
我提到我们创建的GPO是在域内的虚拟池中四处游动。到目前为止,我们创建了四个影响故事情节的新GPO:
■ ■ “隐藏屏幕保护程序选项,”这是我们应用到默认的第一个站点的名称网站
■ ■ “禁止更改声音,”这是我们应用到Corp.com域
■ ■ “隐藏鼠标指针选项/还原屏幕保护程序选项,”这是我们应用到人力资源的用户 OU
■ ■ “自动启动的calc.exe,”这是我们应用到人力资源的计算机 OU
也可能有其他GPO,它们没有关联并且只是在游泳池中闲逛,例如“从“开始”菜单中删除运行”或您创建的其他GPO。
我们可以将这些GPO的概念作为组策略对象容器中的游泳池中的对象进行检查,如下所示。
Corp.com GPO游泳池
如您所见,GPO从不“活跃”在Active Directory中的任何级别。尽管可以(使用老式界面)显示它们的位置,但是它们并没有存储在任何特定级别。
重申一下,如果您利用应该影响站点,OU甚至域的GPO,则GPO本身不会直接存储在该级别。而是,GPO链接到Active Directory中的级别。调用GPO时,它必须请求域控制器从组策略对象容器(以及从SYSVOL中的其部分)中获取该GPO并将信息拉出。
每次创建新的GPO时,该GPO都会诞生并放入域中的游泳池中-如果链接到Active Directory中的某个级别,则可以立即采取行动。通过将GPO链接到另一级别的Active Directory,可以在Active Directory中的多个级别重用它。
因此,当创建GPO以便在站点,域或OU级别上使用时,它们总是在域游泳池(组策略对象容器)中创建,我们在需要的时候仅链接到所需的GPO。
我们将在这里继续有点混乱的讨论。我们将讨论与域相关的GPO,与OU相关的GPO,然后再讨论与站点相关的GPO。是的,是的,我们都知道“正确”的顺序是站点,域,OU,所以请在这里接受(我想您会在讨论结束后理解为什么我们会出现故障)。
域角度的组策略对象
由于我们知道所有GPO都只是挂在组策略对象容器中等待使用,因此我们可以进一步迈出这一步。也就是说,即使是那些链接到域级别的GPO也不免于被“获取”。当客户端使用域链接的GPO时,它们必须发出相同的请求并“询问”适用于它们的GPO的域控制器。 。
通常这不是问题。域控制器可以很轻松地将GPO放入游泳池以将其应用于域。但这正是为什么跨域 GPO链接如此缓慢而痛苦的原因。
例如,在具有多个域的环境中,回收位于另一个域中的现有GPO似乎更容易。但是,当需要在GPO中获取信息时,则需要将其从原始域的域控制器中完全带回。同样,这种跨域GPO链接非常非常痛苦,应不惜一切代价避免。在第2章“使用GPMC和通过Powershell管理组策略”的“基本域间复制和导入”部分中,我讨论了将GPO从一个域复制到另一个域的想法。这完全避免了该问题,因为从源域创建副本,然后将副本保存在您的域中没有“惩罚”。当然,它占用了新域的游泳池中的少量存储空间。但这比跨域链接更好。
OU视角下的组策略对象
由于GPO位于域级别的“组策略对象”容器中,因此组策略的工作方式具有明显的优势:这非常容易
将GPO移动,链接和取消链接到域和/或其OU。如果需要,可以取消链接域或OU中的GPO,然后将其链接回其他某个OU。或者,您可以将一个GPO链接到域和/或多个OU。
通常,您将使用OU来应用大多数GPO。如果GPO位于“组策略对象”容器游泳池中,则多个不相关的OU可以很容易地重用相同的GPO,而只需创建到现有GPO的新链接即可。
站点角度的组策略对象
站点级GPO有点独特。如果您通过Active Directory站点和服务使用(或继续使用)旧界面来指示基于站点的GPO,那么您可能会痛苦不堪。默认情况下,使用老式界面创建的所有站点级GPO都将驻留在根 域的域控制器的“组策略对象”容器中,并且仅存在于根域(即第一个联机的Active Directory域)中。然后,每当客户端系统调用供站点使用的GPO时,则来自根域的域控制器必须获取该信息。如果距离根域最近的域控制器在新加坡,那就去吧。您可以看到疼痛可能加剧的地方。
GPMC基本上迫使我们以周到的方式创建基于站点的GPO。
具体来说,您需要在您选择的域游泳池中创建GPO。然后,您需要将GPO从域链接到所需的站点。如您在第1章中所看到的,我们首先在组策略对象容器中创建GPO。
这个想法是在有意义的域中创建GPO,并且该域最接近将使用站点链接GPO的位置。然后,一旦我们公开了该站点,我们只需添加到现有GPO的链接,该链接已在域游泳池中。简而言之,我们获得了GPO网站来利用最近的域的游泳池。当然,要考虑哪个游泳池最靠近站点中的用户和计算机,还需要进行一些额外的计划,但这是值得的。这样,我们不会要求新加坡的某些域控制器为纽约用户提供服务。
请记住,默认情况下,只有Enterprise Administrators组的成员(或根域中Domain Admins组的成员)才能创建新的站点级GPO或从站点级链接到现有GPO。(可选)可以委派此权利。
GPO的诞生,生与死
现在您了解了GPO的住处,我们可以采取下一步:了解GPO的“旅程”。具体来说,GPO是天生的,并且要保持生命就必须保持健康。如果它的用完了,您可以叫女高音男孩来重击它-再也看不见了。
组策略对象是如何“出生”的
在生出GPO之前,您需要具有这样做的权利,并且可以通过两种方式获得这些权利。首先,您可以是组策略创建者所有者或Domain Admins安全组的成员。
如果您是“组策略创建者所有者”组的成员,则有权创建但不链接GPO。域管理员可以创建GPO并将它们链接到所需的位置。
您还可以通过GPMC在组策略对象容器中的“委派”选项卡中授予显式权限(如第2章所述)。
右键单击“组策略对象”容器,然后选择“新建”,将诞生一个新的“组策略对象”。现在,您要开始执行一系列特定的事件。
首先,默认情况下,联系PDC仿真器以查看其是否可用于编写。否则,用户将收到一条RPC(远程过程调用)错误消息,如图7.2所示。
图7.2 如果无法使用PDC仿真器进行写入,并且启动了GPO,则用户将收到错误消息。
当您使用GPMC创建新的GPO时,GPO最初就诞生了。它们是在PDC模拟器上创建的,然后再将它们复制到站点内以及站点之间的其他域控制器。假设可以使用PDC模拟器,则可以像在第1章中所做的那样,为GPO赋予一个友好的名称,例如“隐藏鼠标指针选项/还原屏幕保护程序选项”。
一旦发生这种情况,您的GPO便正式“诞生”。PDC仿真器已经代表您执行了某些功能:
■ ■ 该GPO被赋予一个唯一的ID采取它的形式为一个全局唯一标识符(GUID)。
■ ■ 它创建一个组策略容器(GPC)对象的政策文件夹中的Active Directory域分区的系统容器。可以将其视为Active Directory中新GPO的参考。
■ ■ 它创建一个组策略模板(GPT)在PDC模拟器的SYSVOL目录的政策文件。这是组成GPO的真实文件所在的位置。它们被复制到每个域控制器,以便更快地进行检索。
■ ■ 此外,如果“在这个域中建立一个GPO,并将其链接在这里”的时候集中在域或OU层次使用(或老派的接口使用),您刚刚创建的新GPO将自动链接到您关注的当前级别-域或OU。检查任何新GPO的属性时,您会看到该ID会自动给出,如图7.3所示。
图7.3 每个GPO都有一个唯一的名称。
因此,每个GPO由两个组件(GPC和GPT)组成,并且这些组件在该域控制器上的两个位置之间分配。好消息是,这一切都与GPO的GUID有关。我们将在接下来的两个部分中探讨这些组件中的每一个。
GPO如何“生活”
Active Directory中的GPO由两个组成部分组成。一个部分是不够的,没有两个部分,GPO就无法生存。这两个部分都是必需的,以便传达GPO消息。
如您所见,GPO的生命来自这两个部分。
组策略容器(GPC)
Active Directory数据库包含GPO的前半部分。不必太讨厌,但这只是对象(groupPolicyContainer 类的对象),我们称为组策略容器(GPC)。域中定义的每个GPO都有一个为其定义的GPC对象。然后,正是这个GPC对象可以保存与组策略对象相关的多个属性,例如版本和显示信息以及某些策略设置。GPC具有采用GUID格式的唯一名称-请参见侧栏“ GPC属性”。GUID 不是我们在管理GPO时使用的友好名称。友好名称存储为Active Directory中该GPC对象上的一个属性,称为displayName 。
通过进入“ Active Directory用户和计算机”控制台,可以查看所创建的每个组策略的GPC。
要查看GPC及其GUID,请按照下列步骤操作:
1. 以域管理员身份登录到服务器DC01。
2. 选择开始 ➢所有程序 ➢管理工具 ➢Active Directory用户和计算机。
3. 选择“查看” ➢“高级功能”,如图7.4所示,显示“策略”文件夹。
图7.4 打开“高级功能”设置以查看“策略”文件夹(以及更多)。
4. 展开“系统”文件夹以显示“策略”文件夹以及GPC,如图7.5所示。
到目前为止,我们一直在使用GPMC界面创建GPO。当我们使用GPMC创建GPO时,我们引用了GPMC中的组策略对象容器作为游泳池的表示。但GPMC没有显示你真正的游泳池,它显示你表示的游泳池。它向您显示的是游泳池的GPC部分。游泳池的另一半是GPT(我们将在下面讨论),GPT是Active Directory域中每个域控制器上存在的已复制SYSVOL文件夹中的文件。GPT的路径是\\ <域名> \ sysvol \ <域名> \ policies 。
图7.5 展开“策略”文件夹以显示基础GPC对象。
在Active Directory中钻取GPC容器时,应该为每个已创建的GPO看到一个GUIDnamed文件夹,再为两个默认GPO(默认域策略和默认域控制器策略)看到另外两个GUIDnamed文件夹(我们将在中进行探讨)。第8章)。
实际上,这两个默认GPO具有所谓的“众所周知的GUID” 。”也就是说,无论您查看哪个AD域,这两个GPO的GUID都相同。它们在您的广告域中与我的域相同。这样很容易找到它们。当您一次又一次地看到这两个GUID时,您将立即知道它们代表哪些GPO。
在图7.5中,我已经创建了许多GPO。因此,我有很多容器。您可能更少。
|
GPC属性 |
创建GPC对象时,它会具有几个属性: 公用名(CN) 在Active Directory中,您会看到此属性称为cn 。名称的LDAP(轻型目录访问协议)名称已分配给对象。GPC名称使用GUID格式来确保整个林中的唯一性,例如CN = {2C53BFD6-A2DB-44AF-9476-130492934271} 。 专有名称(DN) 在Active Directory中,您将看到一个名为distinguishedName 的属性。这是对象的公用名,再加上从LDAP树的根到对象的路径-例如,CN = {2C53BFD6-A2DB-44AF-9476-130492934271},CN =策略,CN = System,DC = corp,DC = com 。 显示名称 在Active Directory中,您将看到一个名为displayName 的属性。这是在用户界面中分配给组策略对象的友好名称,例如“隐藏屏幕保护程序选项” GPO。 版本 在Active Directory中,您将看到一个名为versionNumber 的属性。这是一个计数器,用于跟踪对GPC对象的更新(稍后将对此主题进行详细介绍)。 GUID 在Active Directory中,您将看到一个名为objectGUID 的属性。这是分配给对象本身的GUID。 对于GPC对象而言,具有引用该对象本身的GUID和使用GUID格式的名称可能会使您感到困惑。由于一个重要的原因,Microsoft需要一种使GPO的基础真实名称唯一的方式,而与它们的友好名称无关。假设两个管理员在自己的域控制器上创建了两个(或多个)具有相同友好名称的GPO。复制这些GPC对象时,必须根据复制冲突的确切情况将其中之一丢弃,覆盖或重命名。那可能是一件坏事。因此,Microsoft通过使用以GUID格式设置格式的基础唯一名称来解决此问题。不仅在一个Active Directory中,而且在整个世界范围内,创建相同GUID的机会都微不足道, |
当您尝试深入研究子容器时,有些会扩展到{ GUID} \ Machine和{ GUID} \ User级别。这样做的原因是因为您已经在Active Directory需要维护的特定GPO中设置了策略设置,例如在发布或分配应用程序时。我们将在GPT的部分之后,查看每个策略区域在何处存储其设置。
如果在阅读本书的现阶段没有任何可完全展开的子文件夹(如图7.5所示),请不要感到惊讶。不会展开的子文件夹根本没有存储任何组策略设置。GPO有用的几乎所有其他内容都存储在GPT中,这在“组策略模板”部分中进行了探讨。
谁真正有权做某事?
在第2章中,我们对GPO应用了各种权限,包括谁拥有“读取”和“应用组策略”权限,以及谁可以看到设置或编辑GPO中的内容。在以下“策略”文件夹中可以找到针对特定GPO的“谁真正拥有什么权限”的锁定机制:
■ ■ 在一方面,在政策锁定机制文件夹本身决定谁可以和不可以创建GPO。但是,应注意,这些权限不会继承到以GUID命名的GPT文件夹本身。
■ ■请参见下图7.8有关如何更改默认权限的具体信息的说明。
■ ■ 在另一方面,在GUID命名的文件夹,GPT的锁定机制下的政策文件夹,用户可以访问“读”和“应用组策略”或可以改变GPO本身使然。
在现实中,权限您在GPMC给定GPO看到反映的权限都将GPC和GPT。尽管可以授予Active Directory对象的权限不会一对一映射到可以授予文件系统文件夹的权限(例如SYSVOL中的权限),但它们大致可以转换为相同的权限。因此,非常重要的一点是不要 尝试通过单独修改GPC或GPT上的权限来直接修改GPO上的权限。这项任务的最佳工具是GPMC的安全筛选和委派功能。
然而,在我GPanswers.com通讯#13(在发现www.GPanswers的.com /通讯),你会发现一个提示,不通过怎么改明确在紧急情况下的基本权限的步行路程。请注意,在该文章中,这是一种特殊情况,同样,应仅按照该紧急情况中的描述执行该操作。
谁可以创建新的组策略对象?
右键单击“策略”容器,选择“属性”,然后单击“安全性”选项卡以显示多个名称,其中一些名称应该很熟悉,包括“组策略创建者所有者”和“域管理员”组。另外,您可以通过GPMC中“组策略对象”容器上的“委派”选项卡明确添加的任何人。您已在第2章中看到了如何执行此操作。那时,我们从域中添加了一个名为Joe User的用户。
如果检查“策略”容器的属性(如图7.6所示),则会看到“组策略创建者所有者”组。Joe也被列出(因为GPMC明确授予他许可)。还请注意,还存在名为Domain Admins和Enterprise Admins的组。
图7.6 展开“策略”文件夹以显示基础GPC对象。
您可以单击“高级”按钮以显示Joe的精确“特殊权限”。的确,Joe仅具有一个权限,称为“创建groupPolicyContainer 对象”。获得此权限后,系统将允许他创建GPC文件夹并用GPC文件夹填充他创建新的GPO时的组策略信息。
“组策略创建者所有者”组对“策略”文件夹具有许多不必要的权限,包括“创建所有子对象”,“创建用户对象”以及实际上与之无关的很多东西组策略。确实,如果您以“组策略创建者所有者”组中的用户身份登录并右键单击“策略”文件夹,则可以执行某些本不应该执行的操作,如图7.7所示。
该系统(非常感谢)不允许您执行 此处列出的所有功能,但是可以让您执行其中的一些功能。再说一遍,您真的不应该这样玩。当然,“正确”的事情是仅通过GPMC设置权限。但是,我向您展示这些东西是出于演示目的,因此您可以更好地了解组策略创建者所有者组中的某人与已通过GPMC中“组策略对象”容器上的“委派”选项卡明确授权的人之间的区别。 。
图7.7 为了爱Pete,请不要这样做。
域管理员组和企业管理员组在这里也具有显式权限。当他们创建新的GPO时,这样做是因为具有明确的权限,而不是因为它们是组策略创建者所有者组的成员。
谁可以操纵和编辑现有的组策略对象?
右键单击“策略”文件夹下的GPO文件夹(名称为GUID),然后选择“属性”以显示“安全性”选项卡(请参见图7.8),该信息将显示与在第2章中使用“拒绝”属性时相同的信息。通过某些安全组。也就是说,此处显示的信息与当我们专注于GPO(或GPO链接,因为它使用的是来自实际GPO的信息)时,单击“委派”选项卡中的“高级”按钮时相同。
创建新GPO时获得的权限由Active Directory架构中groupPolicyContainer 类上的DefaultSecurityDescriptor 属性控制。如果希望GPO在创建时获得不同的默认权限,则可以修改此属性的架构实例。在微软知识库文章的http:// support.microsoft.com/kb/321476/en-us 德文士如何做到这一点。
除非另有授权,否则创建GPO的人员或组是除Domain Admins和Enterprise Admins之外唯一可以修改或删除GPO的人员或组。但是,如果您有许多域管理员,这可能是一个特别敏感的问题,因为他们都对他们创建的GPO拥有“共同所有权”。一个管理员接管并修改另一位管理员的GPO会带来严重的潜在风险。
图7.8 每个GPC都可以显示GPO的基本权限。
但是,正如您在第2章中看到的那样,还可以通过GPMC在GPO容器上的“委托”选项卡上授予某人显式权限。在此示例中,我已经为Joe完成了此操作。图7.9显示了Joe创建的GPO的属性。
图7.9 如果Joe创建了GPO,则他拥有GPO。除Domain Admins或Enterprise Admins之外,没有其他人可以编辑它。
由于Joe具有创建GPO的明确权限,因此他成为自己创建的GPO的所有者。您可以清楚地看到Joe创建了它,现在他拥有它。因此,Joe不必担心其他明确指定的用户或组会更改他创建和拥有的GPO。但是请注意,域管理员和企业管理员组实际上将能够更改Joe创建的任何GPO。此外,请注意,组策略创建者所有者中的其他用户不能进入和编辑Joe的GPO。
再说一次,乔拥有它;是他的。
|
使用LDP查看GPC的内脏 |
GPC对象本身拥有GPO的更多关键属性: gPCFileSysPath这是存储在SYSVOL中的关联“策略”文件夹或GPT的物理路径。策略文件夹与GPC具有相同的名称,这是唯一性如此重要的另一个原因。下一节将讨论GPT。 gPCMachineExtensionNames这是计算机相关CSE(客户端扩展)的GUID列表以及管理它们的MMC管理单元,将为此特定GPO进行调用。例如,如果GPO在组策略对象编辑器的“计算机配置”节点下的“管理模板”节点上设置了策略,则gPCMachineExtensionNames 列表将包括“注册表CSE”的GUID和“管理模板”节点的MMC管理单元的GUID。 。本章后面的“客户端系统如何获取组策略对象”部分将讨论CSE。gPCUserExtensionNames这是CSE的GUID及其MMC管理单元的列表,由用户相关的组策略调用。同样,我将在本章稍后讨论CSE。 您可以通过多种方式查看此条目。您可以使用更新的RSAT的Active Directory用户和计算机来查看它们(在“属性编辑器”选项卡上)。或者,您可以使用ADSI Edit MMC管理单元。对于这些示例,我建议使用LDP。LDP使您可以直接对Active Directory的实际内容执行LDAP查询。使用LDP,您可以看到这些属性。通常,您不希望或者不需要在这里闲逛,但是花时间学习一下属性在哪里可以帮助您了解什么构成了GPO。 若要查询特定的GPO以查看其基础属性,请按照下列步骤操作: 1. 在域控制器上加载支持工具后,选择“开始” ➢ “运行”以打开“运行”对话框,然后在“打开”字段中键入 LDP并按Enter选择您选择的域。 2. 选择连接 ➢ 绑定,接受默认设置,然后单击确定。 |
组策略模板
如您所知,GPC存储在Active Directory数据库中,并通过普通的Active Directory复制进行复制。另一方面,组策略模板(GPT)作为一组文件存储在每个域控制器的SYSVOL共享中。每个GPT通过FRS(文件复制服务)复制到每个域控制器。
使用GPO的“属性”选项卡时,我们能够找到其唯一名称
(就像我们在图7.3前面所做的那样)。我们可以使用唯一名称在Active Directory中定位GPC,也可以使用相同的唯一名称在SYSVOL中定位GPT。要在SYSVOL中查看GPT,请按照下列步骤操作:
1. 在域中的域控制器上,打开Windows资源管理器。
2. 将目录更改为SYSVOL容器。它的通常位置是C:\ Windows \ SYSVOL \ SYSVOL \ <域名>(在这种情况下为C:\ Windows \ SYSVOL \ SYSVOL \ corp.com)。
3. 转到策略文件夹。您会看到一个文件夹列表。文件夹名称与 存储在Active Directory中的GPC GUID名称匹配(在上一个练习中可见)。 图7.10显示了包含许多GPO的“策略”文件夹。
图7.10 在SYSVOL中可以找到GPO的唯一名称作为文件夹名称。这是“隐藏鼠标指针选项/还原屏幕保护程序”的唯一名称。
选项”,您在侧栏中的最后一个图像中看到了“使用LDP来查看GPC的内脏”。
双击SYSVOL中的“ Policies”文件夹,将显示GPT的内容。在内部,您将看到几个子文件夹和一个文件。此列表中的第一项是文件(gpt.ini );其余的是子文件夹。
gpt.ini您将始终在GUID文件夹下找到一个文件。它包含GPT的版本号以及与 在Active Directory中的GPC对象上找到的gpcMachineExtensionName 和gpcUserExtensionName 属性等效的信息。即,gpt.ini 中的这两个键列出了CSE的GUID及其在GPO中已实现的相关MMC管理单元扩展。这样可以使客户端知道在处理GPO时需要调用哪些CSE。(您将在“了解组策略版本号”一节中了解版本号。)对于非常老的GPO,您可能还会在gpt.ini中看到一些文本片段。 表示“ displayName = New组策略对象”。当您使用非常旧的组策略创建工具时,此文本片段是相同的。该条目是遗留条目,从未使用过。
\ Adm如果使用Windows 10管理站创建GPO(如我们在第1章中讨论并在第6章中进行了深入探讨),则在任何新创建的GPO中都不会看到ADM目录。 XP计算机上的GPO,将创建此目录以容纳称为管理模板文件的策略设置,简而言之,当您从XP计算机上创建或编辑GPO时,将从\ Windows \ INF 文件夹复制管理模板(ADM文件)。同样,这是从您编辑该GPO的计算机到GPT的\ Adm 文件夹中发生的。
默认情况下,这些ADM文件是Conf.adm , Inetres.adm , System.adm , wmplayer.adm 和wuau.adm 。
双击\ Adm 文件夹将显示模板。请注意,\ Adm 文件夹将不存在,直到从XP机器首次打开GPO并单击“计算机”或“用户管理模板”节点。同样,请随时阅读第6章中的材料以获取有关该主题的更多信息。
请注意, GPT中\ Adm 文件夹的存在是Windows Vista以前的操作系统的产物。使用Windows Vista和更高版本创建和编辑新GPO时,不会创建\ Adm 文件夹,因为例如,您的Windows 10计算机不再将ADM文件复制到GPT中,而是将它们本地保存在C:\ windows \ policydefinitions 或在“中央存储”中。但是,如果您编辑最初在现代GPMC上创建的GPO,然后在以后使用较旧的GPMC(例如XP或2003)对其进行编辑,则\ Adm文件夹将被创建并填充到GPT中。请注意,这种行为(从Windows的较低版本中编辑GPO)通常不是一个好主意。一旦开始将Windows 10用作组策略创建工作站,最好从那时开始继续使用现代客户端编辑这些GPO。您可以查看第6章,其中详细介绍了Central Store和ADMX文件,并进一步探讨了此特定问题。
\ Machine此文件夹包含GPO计算机端的设置,包括启动和关闭脚本(尽管没有要求它们驻留在此处;它们也可以位于其他位置),指向分配的应用程序的指针和注册表设置(以及其他设置)。\ Machine 文件夹的实际内容取决于GPO中指定的计算机选项。潜在的内容包括:
该的Registry.pol 文件 存放在电脑中指定的注册表设置
配置➢策略➢管理模板,以及“计算机配置”下的“软件限制策略”设置➢策略➢Windows设置➢安全设置➢软件限制策略。
该\应用程序文件夹中 存储的文件的指针称为Application广告脚本,或.AAS 文件。这些文件与组策略软件部署结合使用。这些是客户端计算机用来处理软件安装的说明。软件安装将在其单独的章节第11章中进行进一步讨论,但是.AAS 文件在标题为“内部.AAS 文件” 的边栏中有进一步描述。
|
内部 .AAS文件 |
该.AAS 文件提供在软件安装的政策背景下的特定角色。首次部署MSI程序包时将创建此文件。它包含与包装广告有关的信息。 广告 是一种MSI功能,可让您将应用程序的一部分(您可以将其视为快捷方式或文件扩展名关联)部署到计算机或用户。整个应用程序不会立即安装;而是,当用户首次单击快捷方式或激活与广告程序包关联的文件扩展名时,安装将在那时进行。此功能称为“ 初次安装”。 该.AAS 文件认为,广告信息具体到你已经部署了包。它还包含您指定软件包的硬编码路径。这就是为什么一旦通过“软件安装”策略部署了程序包,便无法轻松更改其路径的原因。必须重新生成此.AAS 文件,并且还必须更新GPO的GPC部分中引用的包的路径。 |
该\微软\的Windows NT \ Secedit的文件夹中 存储一个名为的GptTmpl.inf 。该文件包含各种计算机安全设置,这些设置在GPO 的“计算机配置” ➢“策略” ➢Windows “设置” ➢“安全设置”部分下定义。您也可以提前设置这些设置和部署他们集体使用第8章中描述的技术。
该\脚本\关闭文件夹 包含为其关机脚本运行和可选说明,用于计算机关机脚本的实际文件。有关将运行哪些脚本以及将脚本存储在何处的说明保存在称为脚本的文件中。ini ,在此文件夹中。它可以是任何脚本文件类型(ShellExecute 进程可以运行),包括.BAT ,.CMD ,.VBS ,.JS 等。您将在第8章中看到如何使用它。
该\脚本\启动文件夹中 包含了哪些启动脚本运行和可选说明,用于计算机启动脚本的实际文件。有关将运行哪些脚本以及将脚本存储在何处的说明保存在此文件夹中名为scripts.ini的文件中。它可以是任何脚本文件类型(ShellExecute 进程都可以运行),包括.BAT ,.CMD ,.VBS ,.JS 等。您将在第8章中看到如何使用它。
该\用户文件夹 此文件夹包含组策略硬币的用户侧的设置,包括登录和注销脚本,指向已公布或分配的应用程序,并
注册表设置。根据每个GPO上使用的选项,它表示 GPT计算机侧下\ User 文件夹中的内容。
该的Registry.pol 文件 存放在注册表中设置用户配置设置➢策略➢管理模板用户配置下的软件限制策略,以及设置➢策略➢ Windows设置➢安全设置➢软件限制策略。
该\应用程序文件夹中 存储的文件的指针称为.AAS 文件使用组策略部署软件安装应用程序。
该\的Documents and Settings 文件夹 包含一个名为Fdeploy.ini ,其存储应用文件夹重定向设置。您可以在第10章“托管桌面,第1部分:重定向文件夹,脱机文件和同步管理器”中了解有关文件夹重定向的更多信息。
该\微软\ IEAK 文件夹中 存储文件来表示用户配置所做的更改➢策略➢ Windows设置➢ Internet Explorer维护。
该\微软\的RemoteInstall 文件夹 存储Oscfilter.ini ,指定组策略远程安装服务设置。不再使用远程安装服务。它的后继者Windows部署服务不使用该条目。
该\脚本\登录文件夹中 包含用于其登录脚本运行和可选指令,用于用户登录脚本的实际文件。有关将运行哪些脚本以及将脚本存储在何处的说明保存在此文件夹中名为scripts.ini的文件中。可以是任何可接受的文件类型,包括.BAT ,.VBS ,.JS 和其他文件类型,以及Windows 7及更高版本的PowerShell脚本。您将在第12章“使用组策略完成触摸:脚本,Internet Explorer,硬件控制,打印机部署,本地管理员密码控制”中看到如何使用此文件夹。
该\脚本\注销文件夹 包含为其注销脚本来运行和可选,用于用户注销脚本的实际文件的说明。有关将运行哪些脚本以及将脚本存储在何处的说明保存在此文件夹中名为scripts.ini的文件中。可以是任何可接受的文件类型,包括.BAT ,.VBS ,.JS ,和 其他人。您将在第12章中看到如何使用此文件夹。
组策略设置存储
正如我已经指出的,组策略设置(在编辑GPO时设置的内容)存储在GPO的一半(GPC或GPT)之内。关于使用哪个存储给定设置的决定随所存储数据的大小而变化。通常,由于Active Directory并非用于存储大数据块,因此那些需要大量内容的设置将存储在GPT中,而不是GPC中。
但实际上每个CSE确实有所不同。表7.1列出了每个CSE存储其设置的位置。
无线 | 存储在AD中,在 无线策略下,AD存储为 路径Policy中类msieee80211 GPO 的给定对象的GPC容器 。仅支持此类 CN =无线,CN = Windows, 在Windows Server的AD域中 CN =微软,CN =机器。 2003及更高版本的AD域。所以, 即使此CSE在Windows XP上,也必须在具有最低架构级别的域中定义策略。请注意,还存在必需的架构更新以支持仅在Windows上支持的增强无线策略。 Vista和更高版本的客户端。这将在第8章中进一步解释。 |
资料夹重新导向 | 存储在SYSVOL下 给定的GPT容器 GPO。资料夹重新导向 |
表7.1 客户端扩展及其存储位置
策略存储在一个名为fdeploy.ini 中 的子文件夹的用户
\ GPT中的\ Documents and Settings 。
管理存储在SYSVOL下
模板 为给定的GPO管理GPT容器。管理模板策略存储在名为注册表的文件中。pol ,可以按用户和每台计算机定义。在给定的GPT中,如果您已经定义了用户和计算机管理模板策略,则将 在用户和计算机子文件夹下看到一个registry.pol 文件。
如果GPO是使用较旧的GPMC创建的,则您将看到与GPO一起存储在GPT中的任何给定GPO的ADM文件。请注意,也可以将ADM与更新的GPMC一起添加,但通常不能添加。在这两种情况下,您都将在一个名为ADM的文件夹中找到ADM,该文件夹位于给定GPO的GPT根目录之外。因此,每个设置“管理模板”策略的GPO都将存储自己的ADM文件副本,以用于对其进行编辑,即使它们与另一个GPO相同。请注意,GPO不像在ADMX文件中那样在GPO中存储ADMX文件。有关所有血腥细节,请参见上一章。
表7.1 客户端扩展及其存储位置(续)
存储在SYSVOL中的磁盘配额 给定GPO的GPT容器。磁盘配额策略也存储在Registry.pol中;但是,您只能在 存储在计算机文件夹下的registry.pol 副本中找到它,因为这仅是基于计算机的策略。 QoS数据包调度程序,存储在SYSVOL中的GPT容器下,用于 | |
| 赋予GPO。QoS策略也存储在注册表中。波尔; 但是,您只能在 存储在计算机文件夹下的registry.pol 副本中找到它,因为这仅是基于计算机的策略。 |
启动/关闭和登录/注销 剧本 | 注意,脚本文件本身会存储在SYSVOL中 给定的GPT容器 不必存储在SYSVOL中。您是GPO。机器具体 可以参考脚本位于anyscripts存储在 您的网络上,只要机\脚本\启动他们的计算机和访问机\脚本\ 或用户。该scripts.ini 文件中找到关闭文件夹。用户- 在computer \ scripts 文件夹中,特定的脚本存储在 SYSVOL的user \ scripts 文件夹中,user \ logon, 而user \ 包含对任何注销文件夹的实际引用。您定义的脚本。 |
IE浏览器 维护和 区域映射 | 在“基本”商标设置下存储在SYSVOL中 给定 文件的GPT容器在此文件夹下的名为GPO的文件中。具体来说,就是IE Main- install.ins 。安全区域设置设置已存储tings 存储在\ User \ Branding 下的GPT中的子文件夹中,并存储为.INF 文件。 Microsoft \ IEAK 文件夹。 |
安全设定 | 存储在SYSVOL下。此文件的格式与 给定的GPT容器, 这些容器是在使用MMC GPO时创建的。安全设置 要创建的安全模板编辑器存储在计算机\ 安全模板中。唯一的例外微软\的Windows NT \ 这是软件限制策略,SECEDIT 在一个文件夹 ,其保存在 的Registry.pol 所谓的GptTmpl.inf 。 文件。 |
表7.1 客户端扩展及其存储位置(续)
软件安装 存储在GPC和GPT中。在GPT中,已部署的软件包信息存储在容器机器(或用户)下
\应用程序,内
应用广告文件或AAS文件。在GPC内,将为部署的每个应用程序创建一个类packageRegistration 的特殊对象。可以在计算机(或用户)\ Class Store \ Packages 下的GPO的GPC中找到该对象。
IP安全 IPsec策略是特殊的
案件。设置严格地作为特殊对象存储在Active Directory中,而不存储在GPC中。即,IPsec策略设置存储在 域内的CN = IP安全,CN =系统容器下。因此,IP安全设置存储在整个域范围内,并且可以由该域中的任何GPO引用。当您为GPO 分配特定的IPsec策略时,会在GPO的GPC中创建一个附加对象-GPC中找到的packageRegistration 对象包含诸如.MSI 文件的路径,已选择的所有转换(修改)之类的信息。 ,以及应用程序是已发布还是已分配。(有关更多详细信息,请参见第11章。)
特别是,在GPO 下的Machine \ Microsoft \ Windows 容器下创建了一个ipsecPolicy 对象。该对象存储域中的可用IPsec策略与该GPO之间的关联。
表7.1 客户端扩展及其存储位置(续)
客户端扩展 | 存放地点 备注 | |
Windows搜索(仅限Vista +) | 存储在给定GPO的GPT容器下的SYSVOL中。视窗 搜索策略也存储在Registry.pol中;但是,您只能在 存储在计算机文件夹下的registry.pol 副本中找到它,因为这仅是基于计算机的策略。 | |
脱机文件 (仅Vista +) | 存储在给定GPO的GPT容器下的SYSVOL中。脱机文件策略也存储在Registry.pol中,在计算机和用户文件夹中,具体取决于所设置的那一侧。 |
|
部署的打印机连接(仅Vista +) | 存储在AD中,在给定的GPC容器下 GPO,位于路径CN = Pu shedPrinterConnections,CN = Machine (或CN = User )中。 | 部署的打印机连接策略作为msPrint-ConnectionPolicy 类的对象存储在Active Directory中。仅在Windows Server 2003 R2(和更高版本)域中支持此类。因此,只能在具有最低架构级别的域中定义此功能,即“已部署的打印机连接”策略。 |
企业QoS策略(仅Vista +) | 存储在给定GPO的GPT容器下的SYSVOL中。企业QoS策略也存储在Registry.pol中,在机器和用户文件夹中,这取决于要设置的那一侧。 |
|
802.3和无线 政策 (仅适用于Vista +) | 这两个策略区域都存储在GPC的AD中,但需要进行架构更新。 | 请参阅第8章以获取所需的架构更新以同时支持 有线和无线架构策略。 |
了解组策略版本号
如果您浏览任何GPO的gpt.ini ,就会看到其版本号。如果您按照本章前面的“使用LDP来查看GPC的内胆”侧栏中的说明进入GPC,则可以看到相同的号码。
那么,该版本号是如何构造的?这个想法是一个32位值,其中最高16位是用户值,最低16位是计算机值。
用小数表示,这是公式:
版本=(用户部分更改次数× 65536)+(计算机部分更改次数)
因此,当您创建新的GPO时,版本号为0。单击GPO上的“编辑”,然后开始编辑,然后数字开始上升。在“计算机”端启用策略,然后单击“确定”。然后将其设置回“未配置”。这会将版本号加2。在用户端编辑策略,然后单击确定。这将添加65536。将其更改回“未配置”,并将添加另一个65536。版本号的大写在这里并不重要。也就是说,数量有多大无关紧要。
那么,我们如何在日常生活中看到版本号?在任何组策略的“详细信息”选项卡中,如下所示。
在此示例中,我们可以看到用户端已被修改了两次(2 × 65536),而计算机版本已被修改了三次(添加3)。因此,如果我们浏览此GPO 的gpt.ini ,则版本号应为131075。
同样,GPC和GPT都存储GPO的版本号。但是,正如我们已经描述的,在某些情况下,复制可能尚未完成,并且GPC和GPT版本号不一致。在这种情况下,GPMC(通过GPO的“详细信息”选项卡显示版本号)将始终使用GPC版本号作为最终参考,但是如果它们不同步,则会向您显示消息。
Microsoft的组策略团队在该主题上有一个有趣的博客条目。在http://tinyurl.com/2gfmmg上进行检查。
验证GPC和GPT同步
组成GPO的两条信息是GPC和GPT:
■ ■ 的GPC存储在Active Directory数据库,并通过正常的Active Directory复制复制。
■ ■ GPT的存储在每个域控制器的SYSVOL文件夹和使用FRS复制复制。
这是窍门:组策略诞生时(在Windows 2000天内),除非GPC和相应的GPT都同步,否则组策略将不会在计算机上应用。
同步意味着给定GPO的GPC对象上的versionNumber 属性必须与该GPO 的GPT gpt.ini 文件中找到的versionNumber 键相同。
对于Windows 2000之后的所有Windows版本,GPC和GPT不再需要具有相同版本的GPO才能在客户端计算机上进行组策略处理。
回想一下,默认情况下,GPC和GPT最初都写入了PDC仿真器。编写完成后,目标是将GPC和GPT复制到其他域控制器。一个域中只有一个域控制器,就不会有复制问题,因为没有其他域控制器可复制到该域控制器。这一切都发生在一个系统上。但是,当一个域中的多个域控制器进入画面时,事情就会变得有些麻烦。这是因为普通的Active Directory复制和FRS复制是完全独立的计划(尽管在正常情况下,它们采用相同的路径)。
管理员可以创建或修改GPO,并且GPC可能无法与GPT中的文件同步复制。这通常不是问题,因为随着时间的推移,所有域控制器最终在其Active Directory数据库副本和SYSVOL文件夹中都具有完全相同的信息。但是在给定的复制周期内,在特定的域控制器上GPC和GPT可能不匹配。
此外,GPC和GPT共享一个版本号GPO的每半部分-计算机和用户。每次修改GPO时,版本号都会递增,并包含在复制到其他域控制器的属性列表中。请记住,在第一章中我曾说过,如果特定的GPO不变,则客户端的默认设置是不处理GPO。毕竟,如果什么都没有改变,客户为什么要打扰?客户端使用这些版本号来确定是否发生了更改。客户端会保留上一次应用的GPO的缓存以及注册表中的版本号。然后,如果已通过修改特定策略设置或添加策略设置来触摸GPO,则Active Directory中GPO的版本号会更改。下次客户尝试处理GPO时,它将看到更改,客户将再次下载整个GPO,并接受修改后的指令集!因此,版本号对于客户端识别新指令正在等待他们很重要。
到目前为止,一切都很好。现在,还有更多的东西可以完全理解版本号。根据Microsoft的说法,这是弄清楚GPO是否要在工作站上处理的秘密:
■ ■ 两个GPO的GPC和GPT部分必须存在于域控制器工作站用途登录。
■ ■ 如果客户端处理组策略为Windows 2000,则GPC和GPT必须具有相同的版本号。
■ ■ 如果是XP或更高版本中,GPC和GPT可以有不同的版本号,但仍出现组策略处理。
■ ■ 在所有情况下,如果在GPC或GPT举行的版本号是不是从GPO被处理的最后一次保留在注册表中的版本号不同,Windows认为已经发生了变化,并继续运行并处理政策。
这里的要点是,对于Windows的早期版本(Windows 2000),如果版本号不匹配,则组策略处理将失败。现在,版本号相同与否无关紧要。如果它们不同,则组策略将尝试在客户端计算机上重新应用。
这两个部分在某个时刻进行同步仍然很重要。如果它们在某个时刻不同步,则意味着其中一个没有最新的设置信息。在某个时候,复制应该完成,并且所有域控制器将具有相同的组策略数据。然后,计算机和用户将获得最新版本的组策略设置。如果这从未发生过,则说明您的域存在问题,应遵循以下各节中的工具和技术。
版本号不是构成“更改”的唯一内容。 更改也可能是删除的GPO(或添加的GPO),安全组成员身份的更改以及新的或删除的WMI筛选器。另外,必须指出的是,如果一个GPO发生了变化,则处理该GPO的CSE必须重新处理 列表中的所有 GPO,而不仅仅是重新更改的GPO 。
更改默认域控制器的初始写入 |
|
组策略对象 |
默认情况下,GPO是使用包含以下内容的域控制器创建和编辑的: PDC仿真器。当然,随着时间的流逝,那些新的和经过修改的GPO会将其复制到所有其他域控制器中。但是,有时在大型活动目录中,您可能不想在创建和编辑组策略时将PDC模拟器用作“转到”位置。 |
想象一下这种情况:有一个域,但有两个站点-美国和中国。美国站点拥有指定为PDC仿真器的域控制器。因此,每当中国的管理员编写GPO时,他们都必须跨WAN连接 以编写GPO,然后等待整个GPO(包括GPC一半和GPT一半)复制到其本地域控制器。 但是,您可以指定将GPO写入哪个域控制器,这是一个两步过程: 1. 选择域控制器为活动的。打开GPMC,右键单击域名,选择“更改域控制器”,然后选择要向其应用组策略的域控制器。 2. 创建并编辑GPO。在组策略管理单元的根节点上,选择“查看” ➢“ DC选项”。现在,您有以下三个选择: “具有PDC模拟器的Operations Master令牌的那个。” 默认行为,此选项在域中找到PDC模拟器并将GPO写入该域中。然后从PDC仿真器开始复制。 “ Active Directory管理单元使用的 域控制器。” 由于您刚刚选择了活动域控制器,因此这是您的最佳选择,因为您确切地知道在第一步中选择了哪个域控制器。 “任何可用的域控制器。” 很有可能会获得一个要写入的本地域控制器(基于Active Directory站点信息),但并非总是如此。 因此,最好的做法是选择要最初写入的域控制器,然后选择“ Active Directory管理单元使用的域控制器”来保证它。 每个GPO听起来工作量太大吗?或者,您可以创建一个GPO,该GPO会影响那些可以创建GPO的帐户。使用位于用户配置➢策略➢管理模板➢系统➢组策略中的策略设置命名为组策略域控制器选择。您将获得前面列出的相同的三个选择。设置它,然后忘记它。 这是此侧边栏的分隔提示。通常,创建GPO的目的还在于使用安全组来筛选它们。在使用GPMC创建GPO之后,管理员还将使用Active Directory用户和计算机创建一些安全组以对其进行过滤。但是,创建GPO和安全组后,许多管理员感到惊讶的是,他们要添加“现在”的安全组没有立即可用。这是因为GPMC使用一个域控制器,而Active Directory用户和计算机工具使用另一个域控制器。因此,该组的复制尚未到达GPMC正在使用的域控制器! |
使用Gpotool.exe
如果您怀疑在使GPT和GPC保持同步方面遇到问题,可以使用Windows 2003 Resource Kit附带的Gpotool.exe 。最后检查,可以在这里找到:
www.microsoft.com/download/en/details.aspx?id=17657
您可以在任何域控制器上运行Gpotool.exe 来验证GPC和GPT是否同步,并且域中所有域控制器之间的数据均一致。
运行不带任何参数的Gpotool 命令可验证所有GPC和GPT在域中的所有域控制器之间都已同步。但是,如果仅使用一个GPO遇到麻烦,则可能不希望经过检查每个域控制器上每个GPO的GPC和GPT所需的紧张过程。而是可以使用/ gpo:开关,该开关允许您指定遇到问题的GPO的友好名称或GUID。例如,如果您怀疑在第1章中创建的“隐藏鼠标指针选项/还原屏幕保护程序选项” GPO遇到问题,则可以运行Gpotool / gpo:Hide 搜索以单词Hide开头的所有GPO 。在图7.11中,我正在运行Gpotool 没有任何开关,这将引起所有GPO的嗡嗡声。
图7.11 使用Gpotool 查看您的GPC和GPT是否在域控制器之间同步。
要专门验证任何特定的组策略对象,只需对其进行命名,然后 将所有GPO的名称加引号引起来。类似于Gpotool / gpo:“ GPO ABC” 注意/ gpo:开关区分大小写。例如,运行Gpotool x / gpo:“ GPO ABC” 与运行GPOTOOL / gpo:“ GPO abc”不同。
这个例子显示了什么时候进展顺利。下一个示例(参见图7.12)显示了何时可能出错。
图7.12 Gpotool 在天堂中发现了麻烦。
在此示例中,我们正在验证名为“ Broken2”的GPO的同步。在这种情况下,GPC和GPT之间的版本不匹配。将工具称为DS版本与SYSVOL版本进行比较时,您会看到此信息。DS版本代表GPC,而SYSVOL版本代表GPT。
恐慌之前,请记住,这个“问题”实际上可能不是问题。请记住,GPC和GPT是独立复制的。我们的客户当前使用的DC可能在Active Directory更改(GPC)之前已经收到SYSVOL(GPT)更改,反之亦然。请稍等片刻,两个版本可能会融合。如果它们不收敛,则此问题可能表明Active Directory或文件复制服务(FRS)复制问题。
以下是有关使用Gpotool的其他提示:
■ ■ 运行Gpotool 在一个大领域,有很多的GPO可能需要很长的时间,拖垮你的域控制器的性能。如果可能的话,请在几个小时后运行Gpotool ,这样会影响最少的人数。
■ ■ 如果必须在工作时间内运行它,你可能要指定/ DC:选项,并指定只检查PDC模拟器(其中的GPO最初诞生并开始修改的地方)中的GPO。如果您有问题,很可能最初会在此关键域控制器上指出。
■ ■ Gpotool 有一个额外的超级大国:它也可以验证一个GPO的GPT部分的基本访问控制列表。回想一下,GPT是驻留在SYSVOL中的GPO的一部分。要执行此额外检查,您需要在Gpotool 的命令行上将其指定为Gpotool / checkacl 。默认情况下,此测试不会运行,因为它会占用大量时间和资源。关于/ checkacl 开关,有一个关键点:它仅检查SYSVOL Policies 文件夹本身上的ACL继承标志,而不检查包含GPO胆量的单个文件夹上的ACL。因此,如果您对包含GPO的文件夹有特定的权限问题,则/ checkacl 切换不会帮助您将其雪貂化。
■ ■ 一个警告有关Gpotool -它只是检查是否版本号是GPC和GPT之间的相同。它不会检查例如是否所有应该存在于GPT中的文件。例如,如果您遇到FRS复制问题,则可能只有某些GPT文件已复制到给定的DC,并且Gpotool 不会告诉您是否发现gpt.ini 文件包含所需的信息。
使用Windows 10的GPMC的状态选项卡
Windows 10 GPMC具有的功能或多或少是Gpotool 的图形版本。您可以通过单击域名在GPMC中找到它。在我们的案例中是Corp.com。在图7.13中可以看到一个名为Status的选项卡。
图7.13 单击域级别时,GPMC中的“状态”选项卡
像gpotool 一样,“状态”选项卡的活动并非一直都在运行。单击“立即检测”按钮可以手动将其启动。
如果您正在阅读本书,那么您将只有一个域控制器,这意味着零复制问题。但是,在现实生活中,如果您有多个域控制器,则可以不时单击一次“立即检测”按钮,以评估总体复制状态。
同样,“状态”选项卡将仅显示问题,因此没有新闻是好消息。此外,“状态”选项卡相对于其较早的GPOtool 表弟具有的另一种超能力是,它正在组策略对象的GPT部分中寻找完全匹配的内容。它通过计算整个GPT目录的文件哈希来实现。如果在任何域控制器上有任何不同,则“ Infra Status”将发送一个红旗,表明组策略对象存在问题。
此外,当您单击特定的GPO时,可以找到“状态”选项卡,如图7.14所示。您可以单击“立即检测”按钮,而不是检查所有GPO,然后根据域控制器检查一个GPO的状态。方便,如果您有可疑的GPO,并且想要验证其胆量在所有DC上至少相同。
图7.14 状态-您可以通过先单击GPO,然后单击“状态”选项卡,快速检查一个GPO的状态。
如果使用GPOtool 或GPMC的“状态”选项卡,但又返回错误,则可能需要向下钻取并准确找出问题所在。
请记住,组策略是两个部分:GPC(Active Directory记录)和GPT(基于文件的部分)。您可以通过执行几个“石蕊测试”来尝试查看Active Directory复制是否正在运行(因此,是否GPC复制正在运行)。以下是一些示例:
■ ■ 在组策略对象容器创建一个新的GPO。只需在没有策略设置的情况下创建它,就不要在任何地方链接它。
■ ■ 创建在Active Directory用户和计算机或GPMC一个新的OU。
■ ■ 在Active Directory中添加一个新用户。
在每种情况下,您都想查看这些对象是否已复制到其他DC。在一个域控制器上创建对象之后,使用Active Directory用户和计算机和/或GPMC检查其他域控制器。右键单击该域,然后选择另一个域控制器。
如果这些石蕊测试失败,则可以尝试使用Active Directory站点和服务强制复制。如果需要超强度复制,Repadmin 可以通过多种方式帮助强制复制。
有关Repadmin的一些重要技巧,请访问以下Microsoft博客:http : //blogs.technet.com/b/askds/archive/2009/07/01/ Getting-over-replmon.aspx
您可以通过将任何文件(例如,Readme.txt 文件)放入任何域控制器的SYSVOL共享中,然后查看是否已复制,来尝试查看SYSVOL复制是否通过FRS运行(因此,如果GPT复制正在运行)到其他域控制器的SYSVOL共享。如果没有自动将其复制到其他域控制器,请使用ping 命令测试每台计算机的连接性。
Microsoft有两个工具,Ultrasound和Sonar,可从Microsoft网站上获得。最后检查,声纳,可以发现http://tinyurl.com/5ouk9 的 d超声,声纳来了之后,可以在这里找到http://tinyurl.com/odgu 。摹 ENERAL FRS故障排除和信息可以在这里找到http://tinyurl.com/cofstj 为写这篇文章的。
Microsoft知识库文章Q221112,Q221111,Q272279和Q229928是学习更多有关FRS以及如何通过调试FRS来解决SYSVOL复制问题的良好起点。有关如何调试Active Directory复制的详细信息,请参见Q229896和Q249256。
|
使用DFSR代替FRS的二十一世纪复制 |
自Windows 2000以来,大多数Active Directory实施都没有随盒复制的问题:文件复制服务(FRS)。FRS使SYSVOL中的内容“神奇地”从域控制器转移到域控制器。 |
但是,有一些客户的FRS存在重大问题。当执行复制大文件或大量文件的任务时,FRS有点“怪异”。GPO(实际上是GPT)只是FRS可以移动的文件。而且,如果FRS吓坏了,您会发现自己陷入了变形文件,日记本以及其他许多可怕的错误和情况的可怕世界中。 为此,可以将SYSVOL复制从FRS迁移到DFSR,即更现代的“ DFS复制”。只有当域中的所有DC均为Windows Server 2008或更高版本时,您才可以选择执行此操作,回不去了。 在此页面上:http : //blogs.technet.com/askds/archive/2009/05/01/sysvol-migration-fromfrs- to-dfsr-whitepaper-released.aspx (http://tinyurl.com/yc634nr ),您可以找到各种有用的文档来帮助实现这一过渡: ■■ SYSVOL复制迁移指南:从FRS到DFS复制(TechNet版本) ■■ SYSVOL复制迁移指南:FRS到DFS复制(Word文档版) 您还可以找到以下“可能有用”的文件(用他们的话说,不是我的): ■■ 在Windows Server 2008 DFSR SYSVOL [迁移下来,脏风格中验证文件复制 ■■ DFSR SYSVOL迁移常见问题:有用的琐事可能保存你的卵泡 ■■ KB968733(某些RODC方案下的迁移修补程序) ■■ KB967326(在不相交名称空间情况下进行迁移的修补程序)简而言之,该网页是您进行FRS到DFSR转换的“起点”。 |
GPO的死亡
如第2章所述,有三种方法可以停止在Active级别使用GPO。
目录。一种方法是在 Active Directory 中使用的级别“删除链接”到GPO 。在游泳池类比中,我们将系绳带给孩子在游泳池中,但是如果其他级别的孩子想要使用它,我们会将对象留在游泳池中。
另一个是“禁用链接”。这将系绳留在原处,但基本上阻止了水准仪在OU内接收电源。
停止使用GPO的最后一种方法是删除它。使用GMPC,您只能删除GPO,方法是遍历到“组策略对象”节点,右键单击它,然后选择“删除”,如图2.6所示。但是,再次要小心;其他级别的Active Directory(包括其他域和林中的级别)可能正在使用您将要使用的GPO。
正如我们在前几章中讨论的那样,跨域链接GPO是不行的。而且,如果您在源域中重击GPO,它将不会清除到其他(目标)域的链接。
客户端系统如何获取组 策略对象
服务器上存储的项目仅占故事的一半。真正的魔力发生在将GPO应用于客户端(通常是工作站)时,尽管当然服务器的行为也相同。组策略有用的一半是它可以同等地应用于服务器,台式机和笔记本电脑。随着每个新操作系统的问世,您可以控制和配置更多的内容。因此,以下各节中的详细信息适用于所有“目标”计算机,无论它们运行什么操作系统。
将组策略从高层部署到客户端系统时,客户端始终会执行请求。组策略的胆量称为客户端扩展(CSE)。负责的是客户,而不是域控制器。这就是为什么,当芯片故障而无法正常运行时,您需要检查目标计算机的事件日志(以及其他故障排除区域),以帮助发现客户端为什么没有满足您的需求。
组策略处理的步骤
客户端上的组策略处理大致分为两部分。第一部分称为“核心”或“基础结构”处理。对于Windows XP和现代Windows(例如Windows 7、8.1和10,它们都是您可能拥有的所有计算机类型),我们将对其进行细分。
XP机器的核心处理
在组策略处理的核心处理阶段,Windows尝试完成许多任务。其中主要:
■ ■ 要确定是否到域控制器的连接是通过慢速链接
■ ■ 要发现所有的GPO应用到计算机或用户
■ ■ 要发现哪些客户端的扩展被称为
■ ■ 要发现是否有任何自上次处理周期变化(GPO中,安全组成员,WMI过滤器)
■ ■ 要创建需要应用的GPO的最终名单
为了执行这些任务,Windows要求在客户端和与其配对的DC之间成功传递许多网络协议。这些协议及其用法在此处列出:
■ ■ ICMP用于慢速链接检测
■ ■ RPC(TCP端口135和这比1024端口更大一些随机端口)进行身份验证到AD
■ ■ LDAP(TCP端口389),用于查询AD确定的GPO,组成员资格,WMI过滤器列表,等等
■ ■ SMB(TCP端口445)查询SYSVOL中GPT
如果客户端尝试访问服务器,并且此处列出的任何协议均被阻止
(通常是通过防火墙),则所有组策略处理将失败。因此,重要的是Windows客户端必须不受阻碍地访问所有可能响应这些协议的身份验证和组策略请求的潜在域控制器。在Windows服务器上默认打开防火墙的情况并不少见,但是所有正确的规则(默认情况下)都已到位(默认情况下),以允许组策略请求成功通过。
要注意的另一点是Windows XP中的组策略处理在特权Winlogon进程中运行。Winlogon是一项系统服务,因此在Windows中具有最高级别的特权。因此,行为不佳的CSE可能会使Windows崩溃。这并不经常发生(据我所知,从来没有,但是确实有可能)。正如我们将在下一节中看到的那样,组策略的内部工作方式已在Windows Vista及更高版本中发生了变化,正如我们在组策略 客户端 服务中所看到的。
完成核心步骤后,Winlogon进程将按在注册表中的注册顺序在以下位置调用每个CSE DLL:
HKLM \软件\ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ GPExtensions
(始终先运行的管理模板策略除外),并且每个CSE都会处理在核心处理周期中发现的GPO。
现代Windows的核心处理
因此,Microsoft对Windows Vista中的组策略处理引擎进行了重大更改。这项工作在Windows 7及更高版本(例如Windows Server 2008和Windows Server 2008 R2,Windows 8等)中得以维护。话虽这么说,Windows 8和更高版本进行了“非常细微”的调整,我将在稍后说明Windows 10会对其进行维护。
从Windows Vista开始,Microsoft将引擎从Winlogon移到了单独的服务中,该服务称为组策略客户端服务,或简称为组策略服务。该服务是“强化”的,因此,即使是管理员也无法轻易将其终止。
这可能是一件好事,因为在很多情况下,您都不想完全禁用组策略处理。如前所述,普通管理员无法轻易停止组策略客户端服务。如果进入“服务” MMC管理单元并突出显示该服务,则会注意到停止和启动该服务的选项显示为灰色。停止该服务需要一些工作,当您停止该服务时,它将在短时间后自动重新启动。但是,如果您希望动态地进行查看,这是常规过程。
如果您想尝试一下(只是为了好玩),则需要启动Windows任务管理器并选择“服务”选项卡。找到名为gpsvc 的服务,并注意旁边列出的进程ID,如图7.15所示。接下来,移至“任务管理器”中的“进程”选项卡,并找到与gpsvc 条目具有相同进程ID 的svchost 进程。突出显示该 svchost 进程,然后单击“结束进程”按钮以结束服务。
图7.15 查看组策略客户端服务过程
这里的所有都是它的!
除了几分钟,您将看到gpsvc复活。哪个好
在Windows 8和更高版本中,当计算机启动时以及用户登录时,组策略服务会启用。然后,在组策略“不活动” 10分钟之后,组策略服务将其关闭。这是为了节省平板电脑和笔记本电脑等移动设备上的电池寿命(尽管,老实说,我看不到它会大大改善电池寿命)。请注意,在Windows Server 2012和更高版本上,组策略服务没有此问题,因为它一直处于活动状态。
在“ Windows 8、8.1和Windows 10组策略:细微差别”部分的第3章“组策略处理行为要点”中,我谈到了Windows 7、8、8.1和Windows 7之间的组策略引擎中的细微变化。 10。
Windows 8和更高版本的慢速链接检测
之前,我描述了Windows XP如何使用ICMP来检测它是否在慢速链接上。
Windows Vista和更高版本使用完全不同的机制来检测慢速链接。Windows Vista和更高版本不依赖于ICMP ping,而依赖于操作系统中的网络位置感知(NLA)服务。NLA服务使用与域控制器的一系列更高级别的通信来确定域控制器何时可用以及计算机具有何种链接速度。NLA过程更加动态,因此能够在域控制器可用时(没有以前的机制)通知组策略引擎。因此,重要的是要了解当NLA检测到DC可用时在什么情况下进行GP处理。我们将在本章后面的“ NLA故障排除”部分中对此进行讨论。
如果要通过慢速链接将Windows Server 2012或更高版本用作组策略客户端,它将以相同的方式检测慢速链接。但是,您多长时间使用Windows Server 2012或更高版本从酒店房间 或通过慢速3G连接拨号?
客户端扩展
当“组策略”“时钟”敲响时,客户的“组策略”引擎将立即采取行动以开始处理您的愿望。从Active Directory下载了用于客户端的GPO,然后由客户端执行其余的工作。
从高设置GPO时,通常不会使用所有策略设置类别。例如,您可能设置了管理模板策略,但没有设置Internet Explorer维护策略。客户端足够聪明,可以知道哪些策略设置组会影响它。
这是在组策略的“核心”处理过程中发生的。在此核心处理周期中,客户端查询Active Directory以获取其GPO列表,找出实际上适用于该目录的GPO,并列出要为找到的GPO运行的CSE的列表。完成所有核心工作后,每个CSE都会依次执行它的工作。
CSE实际上是执行组策略处理的DLL(动态链接库)。这些DLL由系统Winlogon进程(或Windows Vista和更高版本中的组策略客户端服务)调用。这些CSE会自动在操作系统中注册,并在注册表中由其GUID标识。
想要控制操作系统或软件自己方面的第三方程序员可以创建其他CSE。请参阅侧栏“具有自己的CSE的组策略软件供应商”以获取示例。
在Windows 2000中,该操作系统附带9个CSE。在Windows XP和2003中,Microsoft又添加了两个,总共11个CSE。对于Windows XP SP2,添加了另一个CSE。Vista总共增加了五个,总共增加了17个。
将组策略首选项扩展添加到Windows XP或Windows Vista后,将添加另外21个。或者,由于它们在Windows Server 2008的包装盒中,因此包装盒中的数量跳到总共38。
Windows 7包含刚才提到的38个CSE,以及另外五个特定于Windows 7的CSE。
Windows 8添加了另外三个特定于Windows 8和Windows Server 2012的功能。Windows 8.1又添加了一个功能。
|
具有自己的CSE的组策略软件供应商 |
CSE的整个想法是,如果您有一个好主意,并且希望通过组策略实现它,那么您可以做到。一些供应商已经加紧努力,并创建了自己的CSE来实现他们的想法。来到www.GPanswers.com FO [R在拥有自己的CSE产品的最新面貌。在撰写本文时,以下公司的产品具有自己的自定义搜索引擎: Specops软件 Specops软件的产品具有CSE: Specops Deploy 此CSE使您可以执行一些本机无法执行的组策略软件安装任务(在第11章中进行了讨论)。例如,您可以将软件分发给已登录的用户和计算机,并获得有关哪些计算机接收了软件的详细日志。 Specops库存 该产品通过组策略引擎执行硬件和软件库存,并提供有关企业使用的软件和硬件的详细报告。你可以在这里找到它:www.specopssoft.com/products/ specops库存。 PolicyPak软件 PolicyPak工具套件可在www.PolicyPak.com上找到。您在第4章中了解了有关PolicyPak管理模板管理器的所有知识,在第5章中了解了所有信息,在第6章中了解了PolicyPak应用程序管理器。所有PolicyPak组件都是真正的CSE,并尊重组策略的所有结构。 |
Windows 10不再添加任何内容,但是它们确实删除了一些不再受支持的旧Internet Explorer功能。
要查看工作站或服务器上的CSE,请执行以下步骤:
1. 在Windows WIN10上,以管理员身份登录。
2. 键入 regedit打开注册表编辑器,如图7.16所示。
3. 向下钻取HKLM ➢软件 ➢微软 ➢ Windows NT的 ➢当前版本 ➢ Winlogon中 ➢ GPExtensions。在这里,您将找到一个GUID列表,每个GUID代表一个CSE。
让我们看一下下一节,以准确地了解我们所看到的。
XP机器的CSE
图7.16显示了一个示例CSE和磁盘配额设置。有关GUID列出的CSE,它们执行的功能以及相关的DLL,请参见表7.2。请注意,一个特定的DLL可以负责多个功能。
图7.16 客户端扩展DLL实际上执行GPO处理。
表7.2 Windows Vista之前的计算机的GUID,其功能以及相应的DLL
{C6DC5466-785A-11D2-84D0- 00C04FB169F7} | 软件部署 | appmgmts.dll |
{3610EDA5-77EF-11D2-8DC5- 00C04FA31A66} | 磁盘配额 | dskquota.dll |
{B1BE8D72-6EAC-11D2-A4EA- 00C04F79F83A} | EFS恢复 | scecli.dll |
{25537BA6-77A8-11D2-9B6C- 0000F8080861} | 资料夹重新导向 | fdeploy.dll |
{A2E30F80-D7DE-11d2-BBDE- 00C04F86AE3B} | Internet Explorer设置 | iedkcs32.dll |
{e437bc1c-aa7d-11d2-a382- 00c04f991e27} | IP安全 | gptext.dll |
{35378EAC-683F-11D2-A89A- 00C04FBBCFA2} | 注册表设置(管理 模板) | userenv.dll |
{42B5FAAE-6536-11D2-AE5A- 0000F87571E3} | 剧本 | gptext.dll |
表7.2 Windows Vista之前的计算机的GUID,其功能以及相应的DLL (续)
CSE GUID | 功能 | 动态链接库 |
{827D319E-6EAC-11D2-A4EA- 00C04F79F83A} | 安全 | scecli.dll |
{0ACDD40C-75AC-47ab- BAA0-BF6DE7E7FE63} | 无线(802.11x)(仅适用于Windows XP +) | gptext.dll |
{4CFB60C1-FAA6-47f1-89AA- 0B18730C9FD3} | Internet区域映射(Windows XP +) | iedkcs32.dll |
{426031c0-0b47-4852-b0caac3d37bfcb39} | 服务质量数据包计划程序(仅适用于Windows XP +) | gptext.dll |
没有 | 软件限制(仅Windows XP +) | 没有 |
没有 | 远程安装服务(RIS)(Windows Server 2003和更早版本) | 没有 |
为什么所有的CSE都没有DLL?远程安装服务(RIS)或软件限制策略都不需要CSE与DLL关联。RIS 在操作系统启动之前就处于活动状态。软件限制策略不需要CSE,因为它们“跟随”另一个CSE的功能。
Windows Vista和Windows Server 2008计算机的CSE
有关GUID列出的Windows Vista特定的CSE,它们执行的功能以及相关的DLL,请参见表7.3。同样,所有Vista之前的CSE都在Windows Vista上,因此在此表中不再赘述,因为它们已在表7.2中列出。请注意,一个特定的DLL可以负责多个功能。
脱机文件在Windows Vista(在Windows 2000和 Windows XP中)之前存在,但在Vista中已成为自己的CSE。
表7.3 CSE GUID,其功能以及仅存在于以下位置的相应DLL
Windows Vista和Server 2008计算机
班级号 | 功能 | 动态链接库 |
{7933F41E-56F8-41d6-A31C- 4148A711EE93} | Windows搜索 | srchadmin.dll |
{7B983727-8072-47ea-83A4-39C6CE- 25BAE6} | 脱机文件(请参阅注释) | cscobj.dll |
{8A28E2C5-8D06-49A4-A08C- 632DAA493E17} | 部署的打印机连接 | gpprnext.dll |
{B587E2B1-4D59-4e7e-AED9- 22B9DF11D053} | 802.3政策 | dot3gpclnt.dll |
{FB2CA36D-0B40-4307-821B- A13B252DE56C} | 企业QoS | gptext.dll |
Windows 7和Windows Server 2008 R2计算机的CSE
确实,Windows 7和Windows Server 2008 R2(以及Windows Server 2008)都具有组策略首选项CSE。表7.4列出了仅有的特定CSE。
表7.4 Windows 7和Windows Server 2008 R2 CSE GUID,它们的功能以及它们相应的DLL仅在Windows 7和Windows Server 2008 R2计算机上存在
图形用户界面 | 功能 | 动态链接库 |
{7B849a69-220F-451E-B3FE- 2CB811AF94AE} | Internet Explorer 8用户加速器 | iedkcs32.dll |
Cc76f039F3-ABA2-41DB97F2-81E2C5DBFC5D} | Internet Explorer 8机器加速器 | iedkcs32.dll |
{CDEAFC3D-948D-49DD-AB12- E578BA4AF7AA} | TCP / IP v6处理程序 | gptext.dll |
{e437bc1c-aa7d-11d2-a382- 00c04f991e27} | IPsec安全策略 | polstore.dll |
{fbf687e6-f063-4d9f-9f4ffd9a26acdd5f} | 连接平台/ DirectAccess | gptext.dll |
Windows 8和Windows Server 2012(及更高版本)的CSE
Windows 8添加了Windows 7没有的三个特定的CSE。您可以在表7.5中看到这些CSE。两个是一些新的远程桌面(终端服务)功能。另一个是用于Windows Server 2012(及更高版本)的称为动态访问控制的功能,该功能使管理员可以指定谁可以查看服务器上存在哪些类型的文件。
表7.5 Windows 8(及更高版本)和Windows Server 2012(及更高版本)的CSE GUID,其功能以及相应的DLL
图形用户界面 | 功能 | 动态链接库 |
{16be69fa-4209-4250-88cb- 716cf41954e0} | 中央访问策略配置 | auditcse.dll |
{4bcd6cde-777b-48b6-9804- 43568e23545d} | 远程桌面USB重定向 | TSUsbREdirectionGroupPoli- cyExtension.dll |
{4D2F9B6F-1E52-4711-A382- 6A8B1A003DE6} | 远程桌面“工作区”(TS Workspace) | tsworkspace.dll |
{BA649533-0AAC-4E04- B9BC-4DBAc03e025B12} | Windows To Go启动选项 | pwlauncher.dll |
{C34B2751-1CF4-44F5-9262- C3FC39666591} | Windows进入休眠选项 | pwlauncher.dll |
Windows 8.1和Windows Server 2012 R2(及更高版本)的CSE
Windows 8.1和Windows Server 2012 R2获得了一个针对工作文件夹的新CSE。其GUID为{4d968b55-cac2-4ff5-983f-0a54603781a3},其DLL为WorkFolderGPExt.dll 。
Windows 10和Windows Server 2016获得了零个额外的CSE,并继续了Windows 8和Windows 8.1中所做的工作。
组策略首选项的其他CSE
这些是组策略首选项扩展,我们在第5章“组策略首选项”中进行了探讨。
同样,要非常清楚:Windows 7和更高版本(包括Windows Server 2008和更高版本)中已经包含了它们。话虽如此,它们可用于Windows XP,Windows 2003和Windows Vista下载。它们不会在Windows 2000上安装。
在表7.6中,您可以看到组策略首选项CSE,它们的GUID和相应功能的列表。
表7.6中没有错误。所有新的组策略首选项扩展都使用 相同的 DLL,但是如果您查看实际的注册表项,则会看到每个人的Displayname 项都使用入口点ID 记录DLL名称(gppprefcl.dll )。
表7.6 仅当您添加组策略首选项扩展时才存在的CSE GUID,其功能以及相应的DLL
{0E28E245-9368-4853-AD84- 6DA3BA35BB75} | 组策略环境 | gpprefcl.dll |
{17D89FEC-5C44-4972-B12D- 241CAEF74509} | 组策略本地用户和组 | gpprefcl.dll |
{1A6364EB-776B-4120-ADE1- B63A406A76B5} | 组策略设备设置 | gpprefcl.dll |
{3A0DBA37-F8B2-4356-83DE- 3E90BD5C261F} | 组策略网络选项 | gpprefcl.dll |
{5794DAFD-BE60-433f-88A2- 1A31939AC01F} | 组策略驱动器映射 | gpprefcl.dll |
{6232C319-91AC-4931-9385- E70C2B099F0E} | 组策略文件夹 | gpprefcl.dll |
{6A4C88C6-C502-4f74-8F60- 2CB23EDC24E2} | 组策略网络共享 | gpprefcl.dll |
{7150F9BF-48AD-4da4-A49C- 29EF4A8369BA} | 组策略文件 | gpprefcl.dll |
{728EE579-943C-4519-9EF7- AB56765798ED} | 组策略数据源 | gpprefcl.dll |
{74EE6C03-5363-4554-B161- 627540339CAB} | 组策略INI文件 | gpprefcl.dll |
{91FBB303-0CD5-4055-BF42- E512A681B325} | 组策略服务 | gpprefcl.dll |
表7.6 仅当您添加组策略首选项扩展时才存在的CSE GUID,其功能以及相应的DLL (续)
CSE GUID | 功能 | 动态链接库 |
{A3F3E39B-5D83-4940-B954- 28315B82F0A8} | 组策略文件夹选项 | gpprefcl.dll |
{AADCED64-746C-4633-A97C- D61349046527} | 组策略计划任务 | gpprefcl.dll |
{B087BE9D-ED37-454f-AF9C- 04291E351182} | 组策略注册表 | gpprefcl.dll |
{BC75B1ED-5833-4858-9BB8- CBF0B166DF9D} | 组策略打印机 | gpprefcl.dll |
{C418DD9D-0D14-4efb-8FBF- CFE535C8FAC7} | 组策略快捷方式 | gpprefcl.dll |
{E47248BA-94CC-49c4-BBB5- 9EB7F05183D0} | 组策略Internet设置 | gpprefcl.dll |
{E4F48E54-F38D-4884-BFB9- D4D2c57e029C18} | 组策略开始菜单设置 | gpprefcl.dll |
{E5094040-C46C-4115-B030- 04FB2E545B00} | 组策略区域选项 | gpprefcl.dll |
{E62688F0-25FD-4c90-BFF5- F508B9D2E31F} | 组策略电源选项 | gpprefcl.dll |
{F9C77450-3A41-477E-9310-9ACD- 617BD9E3} | 组策略应用 | gpprefcl.dll |
内部CSE价值观
对于每个CSE,可以设置(或不设置)多个值。并非所有CSE都使用这些值。确实,Microsoft不支持以任何方式修改它们。
您可以在此处查看值列表:
http://msdn.microsoft.com/zh-cn/library/aa373494%28VS.85%29.aspx
(简称为http://tinyurl.com/y9ydmcx )。
它们会以您自己的方式显示在该URL上,但是在大多数情况下,除非Microsoft产品支持服务(PSS)明确指示这样做,否则您不应该对其进行修改。
请记住,CSE会设置这些值-否则,除非您由Microsoft PSS指导以确保CSE按照预期的方式工作,否则您不会设置这些值。
请注意,该网址列出了许多选项(例如,NoSlowLink ,
可以在计算机内设置NoBackgroundPolicy 和NoGPOListChanges )
配置➢策略➢管理模板➢系统➢GPO的组策略部分。通过策略设置它们时,表中列出的“注册表值”列中显示的值将被忽略。
希望您不必在这里花费太多时间。但是,我提供这些信息是为了使您如果需要调试某个CSE,可以直接查看源代码,并查看设置可能不是您想要的。
请记住,这些设置大多数都是由系统默认设置建立的,或者可以更改。您可以使用第3章末尾介绍的技术自行修改设置,例如处理慢速链接的功能,被禁用的功能或在后台处理的功能。
管理模板注册表设置存储在哪里?
本节是您在第6章中已经学到的所有内容的简要回顾。但是,由于管理模板是最常用的策略设置之一,因此,让我们花一点时间来学习客户端如何处理管理模板。
在这里,我们只是在谈论适当的“政策”,而不是“偏好”(将在第5章中讨论)。
请记住,组策略的优势在于“现成的”策略设置不会刺中注册表。也就是说,一旦应用设置,它仅适用于该计算机或用户。当用户或计算机离开GPO的范围时(例如,当您将用户从“ 人力资源用户 OU”移动到“ 会计用户 OU”时),将删除应用于该用户的注册表设置,然后应用新的注册表设置。同样,如果某台计算机位于“ 人力资源计算机” OU中并移至“ 会计计算机” OU,则在“ 人力资源计算机” OU中链接到的设置将消失。
管理模板组策略设置通常存储在以下位置:
用户设置 HKEY_CURRENT_USER \ Software \ Policies
计算机设置 HKEY_LOCAL_MACHINE \ Software \ Policies
或者,某些应用程序可以选择以下位置:
用户设置 HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \策略
计算机设置 HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \
Currentversion \ Policy
Microsoft鼓励第三方开发人员编写应用程序,以便他们使用HKEY_CURRENT_USER \ Software \ Policies 或 HKEY_ LOCAL_MACHINE \ Software \ Policies 启用组策略。
知道其工作原理有助于我们理解为什么每个Windows版本都会增加可应用于它的管理模板策略设置的数量。这非常简单:针对策略设置的特定程序在这两个注册表位置查找设置。有时,该应用程序是一个我们忽略了一个为该地段的Explorer.exe ! 可以“理解”这些策略设置,然后使用该指令执行某些操作的Explorer.exe 。Internet Explorer或Windows防火墙也是如此。随着他们的成长,每个操作系统的版本都会“更新”,因此可以管理的项目数量也随之增加。
这也回答了一个问题,例如,为什么Windows XP计算机似乎“忽略”了仅用于Windows 10计算机的策略设置。
简而言之,“较旧的”操作系统(实际上只是应用程序本身)不知道“寻找”新的策略设置(即使这些设置已写入目标计算机的注册表中)。因此,所有的操作系统(这又是真正的应用程序),可以下载策略设置做。但谁在乎?如果较旧的系统应用了策略设置,则会修改注册表,然后在其上运行的应用程序通常会忽略它。“旧” Windows只是不知道要查找新的注册表更改。有时,随着Service Pack的发布,有问题的应用程序可能会重新获得生命并了解一些新的策略设置-因为该应用程序现已更新,可以在注册表中查找它们。Explorer,Software Update Services,Windows Media Player和Office等已经发生过。
由于管理模板中的设置仅被写入这四个位置,因此我们免于为我们的注册表添加纹身的束缚。管理模板CSE(Userenv.dll )将放置在这四个位置中的任何位置的设置应用于当前的用户和系统组合。
在将用户移入或移出OU或更改组成员身份时,适用于它们的设置也会更改。从本质上讲,此过程更加微妙。非纹身行为的工作方式是,当首次应用注册表设置时,它们会合并到存储在计算机上的每个计算机和每个用户区域的文件中-每个文件称为ntuser.pol 。下次运行管理模板CSE时,它将查找这些存储的文件,并列出我之前提到的四个“特殊”键中存在的所有策略设置的列表(在本节的开头)。然后,它将删除该文件指定的所有那些设置。然后,CSE用所有新文件重新创建该文件。
当前适用于计算机或用户的管理模板设置。最后,它将这些值应用于注册表的计算机或用户部分。
四个“特殊”位置之外的任何设置都不会 被此删除过程覆盖,因此您有纹身的行为。
同样,如果使用PolicyPak应用程序管理器(在第6章中进行了探讨)将设置传递给应用程序,则当该策略不再适用时,它可以正确地还原设置。因此,没有难看的纹身。
为什么不应用组策略?
有时,您从高级别设置组策略,而用户或工作站不会收到更改。为什么会这样呢?
首先,请记住如何处理组策略:
■ ■ 在GPO“生活”在游泳池域中。
■ ■ 客户端请求的组策略在不同时间全天。
■ ■ 客户端连接到域控制器,以获得最新一批的GPO。(组
策略不以某种方式从高“推”)。。■ 。■ 如果它的现状,这意味着:
■ ■ (根据更改后的版本号),什么都没有了GPO内改变。
■ ■ 用户或计算机的位置在Active Directory中并没有改变。
■ ■ 用户或计算机没有改变组成员身份。
■ ■ 任何WMI筛选器的GPO设置并没有改变。
然后,默认行为是不重新处理GPO(尽管可以更改,如第3章所述)。
■ ■ 如果有变化(相对于任何这些以前要点的),那么所有适用的CSE重新处理所有适用的GPO。
这就是它的长短。
现在,如果您认为所有这一切都在正确进行,请尝试回答 以下各节中的问题,以找出可能阻碍组策略过程正常进行的因素。
复习基础
有时,是日常琐碎的事情阻止了GPO的应用。通过测试具有正常功能的简单应用程序,您通常可以发现并消除问题,从而使组策略能够按您期望的方式运行。
组策略对象或链接是否已禁用?
回顾第一章,组策略硬币有两半:计算机一半,用户一半。还请记住,任一部分或两者都可以禁用。实际上,可以完全禁用GPO本身(请参见图7.17)。
图7.17 如果需要,可以禁用整个GPO。
检查GPO本身或任何相关的GPO链接。单击“详细信息”选项卡,然后检查“ GPO状态”设置。如果不是“已启用”,则可能会遇到麻烦。
您确定继承吗?
回想一下,组策略从站点,域和每个嵌套OU的每个级别向下流动,并且是累积的。还请记住,在XP中,只有一个针对计算机的本地组策略,该策略首先应用。
并且,在Windows Vista和更高版本中,存在三个级别的MLGPO。有关完整的摘要,请参见第1章。请记住,在MLGPO中,这是“最后书面胜利”的政策。
您是否正在尝试将策略应用于OU中的组?
这需要重复:您不能只是将包含用户的NT样式/ Active Directory组插入OU并期望他们获得组策略。组策略不能这样工作;您只能将组策略直接应用于OU中的用户或计算机,而不能应用于组。
一个级别上的多个组策略对象
还记得,在任何级别上都有许多GPO,它们的应用顺序相反,即从下到上,如第2章所述。由于任何两个(或更多)GPO可能包含相同甚至冲突的设置,最后应用的GPO胜出。如果您要使一个GPO具有更高的优先级,请使用“向上”和“向下”按钮来操纵顺序。请记住,编号最低的GPO将获得最高 优先级。我知道这很令人困惑,但这就是问题。
检查您的块继承用法
GPMC可让您使用蓝色感叹号(!)快速查看所有块继承实例。请记住,一旦选择阻止继承,所有更高级别的GPO都被视为无效-不仅仅是您要阻止的一个策略设置或GPO。好像您是从一个完全空白的板块开始。因此,无论何时阻止继承,都必须从头开始-创建和链接新的GPO或链接到已经在GPO容器中游泳的现有GPO。
检查您的“强制”用法
相反,请注意您所有的“强制”指令。“强制”图标是GPO链接旁边的一个小锁。Enforce指定从此刻起,在任何继承级别上都无法避免选择并包含在特定 GPO 中的策略设置。请注意,块继承适用于Active Directory中的容器(例如,域或
OU),而“强制”适用于GPO链接。因此,如果您有一个GPO链接到Active Directory中的四个容器,则可能只有一个链接“强制”,两个或全部(或没有!)。当“阻止策略继承”和“强制执行”似乎发生冲突时,“强制执行”总是胜利。回想一下,Enforce以前在过时的用语中被称为“不改写”。
权限设置正确吗?
回顾第二章,必须设置两个权限-“读取”和“应用组策略”,以便受影响的用户处理特定的GPO。默认情况下,“经过身份验证的用户”具有这两个权限,但是您可以删除该组,并通过GPO链接的“作用域”选项卡上的“安全筛选”部分设置自己的筛选。
在第2章中,我向您展示了两种过滤方式:
■ ■ 四舍五入只有用户,计算机或安全组谁应获得的GPO适用于他们。
■ ■ 找出你谁不 希望 得到的GPO应用到它们,并使用“拒绝”属性在“应用组策略”的权利。
说完一切后,用户将需要对GPO本身具有“读取”和“应用组策略”权限才能应用GPO。并且,可以通过对这两种权限中的一种或另一种设置“拒绝”访问权限来阻止GPO的应用。但是,如果您要使用此技术,则最佳实践指示始终尝试拒绝对“应用组策略”而不是“读取”的访问。
尝试始终拒绝“应用组策略”(而不是“读取”),因为稍后该用户可能需要能够修改GPO。而且,如果没有读取权限,他们将无法对其进行修改。
仅拥有这些权限之一意味着在应进行处理时组策略将不适用。此外,请确保记住,“拒绝”属性始终优先于所有其他权限。如果遇到显式的“ Deny”属性,就好像它是世界上唯一重要的位。因此,如果没有将特定的GPO应用于用户或组,请确保“ Deny”不会以某种方式进入画面。
“范围”选项卡的“安全性过滤”部分中不会显示对“拒绝”属性的任何使用,因此,如果使用该属性,则不会有任何通知。这是不应用组策略的常见原因;传统的执行组策略过滤的方法涉及大量使用“ Deny”属性,现在,除非您使用组策略结果向导(或GPResult.exe ),否则GPMC将不会轻易显示此事实。
高级检查
如果您已经了解了基础知识,但没有任何明显错误,则可能是在进行更细微的交互。查看以下任何问题和解决方案是否符合要求。
Windows XP(及更高版本)是否已启动快速启动?
Windows XP(及更高版本)的默认行为不同于其最初的兄弟Windows2000。Windows2000的默认行为是在前台(在计算机启动或用户登录时)同步处理GPO。也就是说,对于影响Windows 2000计算机(将在启动时生效)的策略设置,甚至在用户可以按Ctrl + Alt之前,都会应用每个GPO(本地,站点,域和每个嵌套的OU)。 + Del登录。一旦用户登录,在最终显示用户的桌面并可以开始工作之前,将应用影响用户端的策略设置(本地,站点,域和每个嵌套的OU)。
对于影响计算机的GPO中的策略设置来说,这通常不是什么大问题,但是如果启用了用户策略处理功能,则可能严重影响用户的体验。即使在用户登录后,也可以突然下载GPO,并且策略设置开始弹出并更改用户的环境。
而且,正如我在第3章中所述,默认情况下,Windows XP及更高版本中的几个关键项需要两次至三次重新引导才能生效。为此,建议您修改默认行为。我可以给您的最强建议是 在域级别创建和链接新的GPO 。将新的GPO命名为“ Force XP和更高版本的计算机,使其表现与Windows 2000相似”,然后启用“ 在计算机启动和登录时始终等待网络”策略设置。然后,选择“强制”,使其不会被阻止。
要找到此策略设置,请在“计算机配置” ➢“策略” ➢“管理模板” ➢“系统” ➢ “组策略”的登录分支中进行深入研究。(有关更多信息,请参见第3章。)
因此,如果您的组策略应用程序不稳定(尤其是对于软件安装,文件夹重定向或配置文件设置),请查看Windows XP和更高版本的“快速启动”是否仍处于活动状态。
GPC和GPT都正确复制了吗?
如本章第一部分所述,组策略由两部分组成:
■ ■ GPC的,这是在Active Directory中找到,并通过正常复制活动 目录复制
■ ■ 该GPT,这是在一个域控制器的SYSVOL共享发现,通过FRS到其他域控制器复制
GPC和GPT都是独立复制的,可以在融合之前按照不同的时间表进行。
结合GPMC的“状态”选项卡Gpotool 和Repadmin 使用前面所述的技术,可以诊断复制GPC和GPT的问题。
您是否检查服务器和客户端的DNS配置?
为了正确复制GPC和GPT,无论在服务器上还是在客户端上,DNS结构必须始终为100%洁净。如果您怀疑未正确复制GPC和GPT,则可以尝试查看DNS结构是否符合您的意图。如果是这样,我不建议您将其全部撕碎并在其他所有工作正常的情况下重新配置它。Microsoft知识库文章,位于:http : //support.microsoft.com/kb/291382/en-us
为了解如何创建健康的DNS基础结构提供了良好的基础。
在某些情况下,一个域控制器可能没有向您的客户端提供组策略。在下一节中,我将向您展示如何确定您的客户端是否真正登录,如果是,则如何确定计算机和用户用于登录的域控制器。
您确实登录吗?
有时您可以“感觉”到登录而无需实际登录。这是一个很大的差异。例如,如果您使用缓存的凭据登录,并且域控制器没有将Kerberos票证退还给您,那么您根本就不会登录。您只是“感觉”已登录。
因此,为确保您的用户和计算机真正登录到网络上,您可以仅依靠一种工具-Kerbtray(或等效于命令行的klist.exe )。Windows 2003 Resource Kit中提供了Kerbtray和klist ,它们很小,足以放在USB记忆棒上并在可疑机器上运行。运行Kerbtray时,它会在通知区域中放置一个小图标。如果计算机和用户具有Kerberos票证,则该图标变为绿色,并且您知道您已经真正登录。但是,如果Kerbtray返回一堆松散的键的图形(在我看来,它看起来像问号),如图7.18所示,您会知道您尚未登录,因此不会下载最新的GPO。同样,如果您确实已登录,则该图形将是一张绿色票。
图7.18 的LOGONSERVER 变量不能被信任。在这里,网络处于脱机状态,但是LOGONSERVER 仍然报告(错误的)域控制器。改用Kerbtray,它显示在通知区域中。
在图7.18中,您可以看到几件事:
■ ■该计算机的网卡被断开(如图网络连接窗口)。
■ ■ 该LOGONSERVER 变量设置到域控制器(如图所示在CMD提示窗口)。随意大声说:“如果网卡关闭,这是不可能的。”
■ ■的Kerbtray,值得庆幸的是,回报那一堆松散的按键的图标核实,我们没有登录。
因此,找出如果您已经登录使用的是Windows XP或更高版本的计算机上时,它的“的Kerbtray或高速公路。”一旦你用的Kerbtray验证了计算机真的登录,就可以再使用LOGONSERVER 变量确定Windows XP或更高版本的计算机使用的是哪个域控制器-这样,您就会知道真相:是否真正登录。
最近有什么动静吗?
如果将计算机帐户或用户帐户从一个OU移到另一个OU,则Windows(所有版本)可以等待长达30分钟才能意识到这一事实。一旦完成,它可能会或可能不会再应用后台组策略90分钟或更长时间!运行gpupdate 将无济于事。
但是,如果您希望某个特定设置在移动了150分钟以上的用户或计算机上生效,则需要确定该移动是否已被用于身份验证的工作站的域控制器所接受。(有关如何通过LOGONSERVER 变量确定域控制器的信息,请参阅上一节,但请确保您确实已登录!)
然后,您可以启动Active Directory用户和计算机,并连接到有问题的域控制器,如图7.19所示。
图7.19 您始终可以手动连接到域控制器,以查看Active Directory是否执行了复制。
如果目标计算机的本地域控制器不知道此举,则可能要使用Active Directory站点和服务手动启动复制。如果目标计算机的本地域控制器确实知道有关移动的信息,则可能要尝试注销用户,然后重新登录或重新启动计算机。尽管使用gpupdate (适用于Windows XP和更高版本)刷新GPO是一个不错的选择,但是最好注销并/或重新启动计算机,以确保计算机将执行初始策略处理,如第3章所述。
在Windows 7和更高版本的计算机上运行 gpupdate / force 应该可以“启动”计算机和/或用户帐户,以使其意识到它已在Active Directory中移动。我已经做了广泛的测试。它可以在Windows 7和Windows 8上很好地工作,但是即使那样,我仍然看到它可以工作,但是也无法工作。为了获得100%的确定性,只需重新启动计算机即可。
机器是否正确加入域?
这很奇怪,所以请和我在一起。简而言之,有时您会发现自己处于计算机从域断开连接的情况。这可能会在虚拟环境中发生,尤其是在测试中,当客户端计算机(例如Windows 10)一次加入但虚拟机(VM)被“回滚”到较早的日期和时间时。
在其他情况下,也可能导致计算机无法连接,但这种情况一直在我身上发生。这是一个很奇怪的部分:如果您尝试登录,有时它只是莫名其妙地起作用了 -即使它不起作用。
但是,然后,就像在斯蒂芬·金(Stephen King)的《宠物抚养所》(Pet Sematary)中一样,突然间事情变得“不太正确”。一段时间内,您会获得用户端策略,甚至计算机端策略。然后,您可能会丢失计算机端策略。GPresult / R 开始失败,并显示奇怪的错误消息。
简而言之,您不再加入,甚至都不知道。
发生的情况是计算机信任(也称为安全通道)被破坏了。要查看对域的计算机信任(安全通道)是否已损坏,可以使用NLTEST ,可以在此处找到它:http : //tinyurl.com/4uhnu 。Ť他验证语法NLTEST / SC_QUERY:DOMAIN_NAME 。如果测试通过,那么您就是犹太洁食。如果不是,则解决方法很简单:只需取消联接并将设备重新加入域即可。
是否启用了环回策略?
启用回送策略将使组策略变得无所适从:回送将为登录到特定计算机的每个用户强制执行相同的用户策略设置。如果您看到用户策略设置适用但计算机策略不适用,或者正在应用而没有押韵或理由,则可能启用了环回策略。查看第4章“高级组策略处理”,以深入了解其工作原理,何时使用以及如何将其关闭。
在Windows XP中,很难确定您处于回送模式。在Windows Vista和更高版本中,这要容易一些。在Windows组策略事件日志中查找事件ID 5311。在事件的内容中,您将看到“回送”策略处理模式是否设置为“替换”,“合并”或未启用。
如何定义慢速链接,以及如何 处理慢速链接?
如果您发现组策略未应用于通过慢速链接进入的用户,请记住慢速链接的规则:
■ ■ 注册和安全设置总是应用在慢(和快速)的链接。
■ ■ EFS(加密文件系统),IPSec(IP安全)政策,工作文件夹设置, Windows搜索和脱机文件设置总是 应用在低速链路。即使在“计算机配置” ➢“策略” ➢“管理模板” ➢“系统” ➢“组策略”分支下可以找到设置,也无法关闭此行为。这是界面中的错误,如第3章所述。
■ ■ 默认情况下,磁盘配额,文件夹重定向,Internet Explorer设置,旧部署打印机连接和软件部署没有应用过慢的链接。更新的登录脚本和新的登录脚本也不会通过慢速链接下载。您可以 在“计算机配置” ➢“策略” ➢“管理 模板” ➢“系统” ➢“组策略” 下更改此默认行为,如第3章所述。请注意,处理脚本策略和运行脚本之间存在区别。脚本本身仅在登录和引导(计算机启动或用户登录)期间运行,但在更新过程中可以在后台完成需要运行的脚本列表。我在这里指的是这种更新。
此外,您可以更改等同于慢速链接的定义。默认情况下, 慢速链接为500Kb或更小。您可以在“用户配置” ➢策略➢管理模板➢系统➢组策略➢ 组策略慢速链接检测中更改用户设置的定义,并在“计算机配置”中更改计算机设置的定义➢
策略➢管理模板➢系统➢组策略➢ 组策略慢速链接检测。用户设置如图7.20所示。如果未将组策略应用于您的慢速链接客户端,请确保检查慢速链接定义以确保它们适合。
最后,不要忘记DSL或电缆调制解调器上的宽带用户。这些速度有时快于500Kb,有时慢于500Kb。这可能意味着您的宽带用户可能会在周末获得GPO,但在高峰使用时间内登录时无法获得GPO。因此,如果发生这种情况,请根据需要设置慢速链接的定义。
最后,应该注意的是,如果将慢速链接阈值设置为0,则客户端将始终假定它位于快速链接上。
图7.20 确保您没有将阈值提高得太高,以使连接较慢的用户可以接收组策略。
NLA故障排除
如果您使用的是Windows Vista或更高版本的客户端,则可能需要确定是否发生了网络位置感知(NLA)刷新。如前所述,当您的客户端是Windows Vista及更高版本时,NLA是一项服务,可在确定链接速度和域控制器可用性时取代ICMP慢速链接检测。
如果域控制器对客户端不可用,或者由于客户端是远程的并且未连接到公司网络,或者因为域控制器根本不可用,所以组策略处理将失败。
当域控制器再次变得可用时,NLA将检测其存在并触发立即请求以执行组策略的后台刷新。但这是窍门: 只有在先前刷新组策略失败时,NLA才会执行此刷新。如果先前的组策略刷新成功,然后 域控制器变得不可用,然后又变得可用(在下一个组策略处理周期之前),则NLA将不会触发后台刷新。通过查看组策略操作日志,您将能够看到基于NLA的组策略的刷新,这将在稍后的“使用组策略操作日志进行故障排除”一节中进行介绍。该事件与图7.21所示的事件相同。
图7.21 查看指示刷新基于NLA的组策略的事件
请注意,NLA完成对域控制器的检测并触发我的测试中的后台组策略处理周期最多需要10分钟。因此,不要期望在DC可用后立即刷新基于NLA的组策略。根据您的系统和网络,您的里程可能会有所不同。
客户端系统上的日期和时间是否正确?
客户端系统和验证域控制器之间的时间差大于5分钟将导致Kerberos不允许登录。如果没有Kerberos,则将出现登录问题,这将产生组策略问题。
您的Active Directory站点配置正确吗?
有时,如果您的客户端不在正确定义的Active Directory站点(具有与其关联的IP信息)中,则组策略将不适用。考虑到这一点,请检查客户端所在的子网,并确认该子网与Active Directory站点正确关联,并且该站点具有域控制器覆盖范围。
您是否检查了客户端的DNS配置?
Active Directory网络最常遇到的问题之一是,当DNS失控时,事情只会“停止工作”。具体来说,如果您没有看到适用于您的客户端计算机的组策略,请确保其DNS客户端指向域控制器或该域的其他权威源。如果指向错误的位置或没有指向任何地方,则不会下载组策略。正如我的一位同事喜欢说的那样,“健康的DNS等同于健康的Active Directory”。
此外,由于Windows 2003及其具有跨林信任关系的多个林,因此组策略可以在几乎任何地方和任何地方应用。比以往任何时候都重要的是,验证所有DNS服务器指针的设计是否正确并可以正常工作。例如,如果客户端在利用跨林信任时无法访问其“主”域控制器,则不会获得组策略。
最后,要明确一点,组策略仅 利用完全限定的名称。仅仅验证您可以解析名为WIN10而不是WIN10.corp.com的计算机还不够。第一个是NetBIOS名称,而不是标准域名。第二个是完全限定的域名。如果您发现DNS解析情况下可以解决NetBIOS名称,但是完全限定的名称将不起作用,则您有DNS问题需要解决。
您是否要在OU上设置密码或帐户策略?
正如您将在第8章中看到的那样,某些组策略项(即密码和帐户策略)不能在OU级别设置。而是,这些策略设置仅在整个域范围内。GUI使您可以在OU级别上设置这些策略设置,但它们不会影响用户或计算机。好吧,这不是正确的,正如您将在第8章中看到的那样,但是出于故障排除的目的,请记住,例如,在Sales OU中不能有六个字符的密码,在Engineering OU中不能具有12个字符的密码。。它不会工作。(您将在第8章中看到密码策略会影响OU中的本地帐户。)
有人在 组策略引擎的背后掩盖了安全性吗?
正如您在第3章中看到的那样,有很多方法可以“绕过”组策略引擎的后端。但是请记住,这些漏洞需要本地管理访问权限。
但是,这意味着具有本地管理访问权限的用户可以手动修改
注册并返回他们想要的系统。然后,如上所述,组策略将不会在后台刷新,登录或重新启动后重新应用。如前所述,仅当与组策略相关的某些内容发生更改时,它才会重新应用更改。
该运行gpupdate 命令将刷新更改的组策略为好,但其/力开关是相当强大的,并会重新应用所有的设置,甚至包括那些没有改变。
目标计算机是否在正确的OU中?目标 用户是否在正确的OU中?
这是我个人的痛点。这是我通常最后检查的那个,通常是有问题的。也就是说,我忘记将用户对象或计算机对象放入要GPO应用于的OU中。因此,对象不在组策略将应用的“范围”内。
您可以在自己喜欢的OU上配置所有用户或计算机策略设置,但是很显然,除非该用户或计算机对象实际上在 OU中,否则目标计算机将不会收到您发送的消息。而且,不,您不能仅移动包含用户或计算机对象的安全组并将其插入所需的OU中。组策略不能那样工作。该实际用户或计算机对象需要位于GPO应用的站点,域或OU中!而且由于两个对象不能同时存在于任何两个OU中,因此这可能是一个挑战。
域控制器上(或之间)是否有防火墙?
所有现代Windows操作系统都附带打开了防火墙的功能。
通常这不应该是问题。从纯服务器升级到域控制器时,域控制器应自动打开正确的端口。但是,我见过他们没有的时候。在这种情况下,您可能需要删除Active Directory“角色”并重新安装它才能使端口正确打开。
同样,如果有人在您的客户端和域控制器之间建立了硬件防火墙或其他软件防火墙屏障,并且它阻止了客户端与域控制器进行通信所需的某些核心协议,则您将无法获得域控制器的注意,因此您无法下载组策略。
有人用 SYSVOL破坏了GPO 的GPT部分的ACL 吗?
很少有理由手动挖掘SYSVOL中的GPO内胆(这是GPT的一部分)并手动操纵文件ACL。但是,有时,新手管理员可能会玩游戏,从而造成严重后果。而且,如前所述,Gpotool / checkacl 不会验证GPO的GPT部件上的文件ACL。换句话说,如果GPT上的ACL损坏,最好的选择是重击GPO并从备份中还原。恢复过程应在重新创建时使用正确的ACL创建GPO。您也可以尝试使用GPMC来简单地修改损坏的GPO的ACL。任何更改都可以。这样,有时这可以“重新同步” GPC和GPT上的ACL,尽管这取决于GPT的ACL对此方法是否有效的修改程度。
客户端故障排除
掌握最重要的技能之一就是能够确定客户的状况。从总体上讲,从GPMC运行的组策略结果工具应该可以为您提供所需的信息。但是,有时候,只有向客户端走去才能真正确定客户端系统上正在发生的事情。
您可能会在大厅中漫游,只是想从休息室获得最后的甜甜圈,这时有人会紧紧抓住您并坐在您的座位上,以便进行即兴的故障排除。他们希望您弄清楚为什么今天的组策略与昨天的不一样,或者为什么他们突然得到新的或不同的设置。
以下各节将介绍在客户端或使用某种远程控制机制(例如VNC(虚拟网络客户端))甚至使用Windows自己的远程协助时确定RSoP(策略结果集)的各种方法。
正如在第2章中看到的那样,GPMC有两个工具可帮助您利用此数据:组策略结果和组策略建模。但是,您可以使用其他客户端工具。此外,我将描述如何利用功能来远程确定目标用户和计算机的RSoP。
让我先介绍一下一般的组策略故障排除技术,然后再尝试对故障进行故障排除。有一些值得关注的事情取得了良好的进展:
1. 您应该采取的第一步是使用我在下一节中描述的RSoP功能 ,以确保您知道正在发生什么—正在应用哪些GPO,没有应用GPO,为什么。
2. 一旦掌握了这些内容但仍然找不到问题,下一步就是深入研究日志-从问题客户端上的应用程序事件日志开始。
3. 然后进入Windows Vista及更高版本的组策略事件日志(稍后在“ Dive Dive故障排除”部分中进行介绍)。
4. 如果第3步没有产生结果,并且您仍然找不到问题,请转到CSE特定的日志(如果有)。
这种方法将最大限度地减少您花费在解决问题上的时间,并将最复杂的故障排除任务留在了最后。
Windows客户端的RSoP
在本节中,我们将探讨几种从客户端获取RSoP的方法。
在第2章(本章较小程度上)中,我们讨论了打开Windows防火墙的想法,以使我们(管理员)可以看到用户计算机上正在发生的事情。
这个想法是,如果您不能使用此处介绍的任何技术远程获取RSoP,那么您将需要能够(从您的计算机中)与他们的计算机进行通信。
为此,至少需要打开端口135和445,这正是Windows防火墙: 允许入站远程管理异常的作用。同样,此策略设置位于“计算机配置” ➢“策略” ➢“ Windows防火墙” ➢“域配置文件”中。
GPResult 命令行实用程序
您可以在用户桌面或自己的桌面上运行GPResult ,也可以远程运行它并假装为该用户。
如果您正坐在某人的桌面上运行它,则可能会使用 以下选项:
。■ 。■ / R 是常规输出。(注意:Windows XP计算机上不需要。)
■ ■ /H:File.html 将输出结果的HTML文件名为File.html 。此输出将显示报告中的“组策略首选项”项(Windows 7及更高版本)。
。■ 。■ /X:File.xml 将输出结果作为XML的文件名。
。■ 。■ / V 是详细模式。它提供了最有意义的信息。
。■ 。■ / Z 是zuper,呃,超详细模式。根据影响用户或计算机的策略设置的类型,它显示的信息比您可能希望看到的更多。
■ ■ /范围用户限制了输出到用户侧的策略设置,和/范围计算机限制输出到所述计算机侧的策略设置。
Windows Vista和更高版本的GPResult.exe 有所更改:作为在Vista和更高版本中运行GPResult.exe 的常规用户,您不会从该工具中获得仅用户端结果。如果尝试报告计算机端设置,则将收到“访问被拒绝”错误,直到您在提升的上下文中运行命令。请注意,您可以委派特定用户或组使用GPMC读取此数据的权限。
您可以混合和匹配选项。例如,要显示用户部分的详细输出,可以运行GPResult / v / scope user 。
这是以Frank Rizzo(属于人力资源用户 OU)登录WIN10工作站(位于人力资源计算机 OU中)时运行GPResult / r 的结果。请注意,某些显示可能与您的显示有所不同。
首先要注意的是,GPResult / r 输出仅显示Frank故事的用户端,而不是计算机端。我们将在一秒钟内到达那个怪异的部分。
接下来,您可以从GPResult中收集各种多汁的花絮。对客户端RSoP进行故障排除时,以下是要检查的关键区域:
■ ■ 查找用户和计算机“应用的组策略对象”项。请记住,首先从本地计算机应用组策略,然后是站点级别,然后是域级别,然后是每个嵌套的OU。如果客户端上的设置是意外的,请使用提供的信息以及组策略对象编辑器来开始跟踪错误的GPO。
■ ■ 使用“上次组策略应用”条目看到GPO应用-无论是通过初始或后台刷新处理的最后时间。使用gpupdate 刷新它,然后确保在重新运行GPResult 时更新了该值。
■ ■ 使用计算机和用户对象的拼写出的专有名称(例如,CN =弗兰克·里索,OU =人力资源的用户,DC = CORP,和DC = COM),以验证用户和计算机对象位于何处您认为它们应该位于Active Directory中。如果不是,请使用Active Directory用户和计算机验证用户和计算机帐户的位置。如果Active Directory中的位置未检出,则可能需要重新启动此客户端计算机。请注意,如果您使用缓存的凭据离线登录,则此行不存在。
■ ■ 使用“用户是下列安全组的一部分”和“计算机是以下安全组的一部分,”部分,以验证用户或计算机是否是你希望的组。可能您的用户或计算机对象位于一个组中,该组被拒绝访问您期望的GPO的“读取”或“应用组策略”权限。请注意,如果您对计算机的安全组成员身份进行更改,则除非您重新启动计算机,否则组策略将不会采用该更改。不幸的是,这没有办法。用户组更改也是如此—在安全组更改生效之前,用户将需要重新登录。
■ ■ 查找日志以及用户和计算机两个“组策略慢速链接阈值”项“连接通过较慢的链接?”条目。请记住,通过慢速链接访问时,组策略的各个区域的处理方式有所不同。(请参阅第3章。)
■ ■ 查找“未应用以下的GPO,因为他们被过滤掉”的部分用户和计算机两个半。如果此处列出了GPO,则实际上该用户或计算机位于该GPO应该应用于的站点,域或OU中。但是,由于多种原因,此处列出的GPO尚未应用于该用户或计算机。GPResult 可以告诉您为什么会这样。以下是一些常见原因:
拒绝(安全) 用户或计算机已被明确拒绝“读取”和“应用”
组策略”处理GPO的权利。例如,在前面的示例中,“ AutoLaunch Calc.exe”不适用于WIN10,因为在第二章中,我们明确拒绝WIN10计算机对象处理“应用组策略”属性的能力。
未应用(空) 此GPO在“用户”或“用户”中未设置任何策略设置
电脑一半。例如,在前面的示例中,“禁止更改声音” GPO没有任何计算机端策略设置。因此,此GPO不适用于Frank的计算机对象。具体地说,在这里,组策略引擎看到“用户”或“计算机”一半的修订数量为0。这与GPO的版本号有关,因此,如果在进行GPO更改时版本号没有正确更新,则GPO可能会错误地视为空白。
未应用(未知原因) 通常已使用块继承,或者用户没有读取GPO的权限(尽管其他真正的“未知原因”也可能有效)。在前面的示例中,在站点级别设置的“隐藏屏幕保护程序选项” GPO不适用于Frank,因为我们在人力资源 OU中阻止了继承。
正如您在上一个屏幕截图中所看到的那样,当以普通用户身份运行GPResult / r 以获取RSoP数据时,您将只能看到用户端设置。为什么?因为这就是您在这个更加安全的Windows世界中可以访问的全部。要解决此问题,您有两种选择:
选择1两次 运行GPResult :一次以有问题的用户身份,然后以管理员身份运行。(您可以 通过以管理员用户身份运行命令提示符来以管理员身份运行GPResult 。)这样,您将获得用户端RSoP(您以用户身份运行)和计算机端RSoP(您以用户身份运行)。管理用户)。然后,这两个部分组成了真正的RSoP。令人沮丧,但Windows Vista和更高版本中的安全性阻止了普通用户对此的了解,但这是必需的。更令人沮丧的是,如果您(管理员)从未登录过特定的客户端计算机,则会从GPResult中收到错误消息表示该管理员帐户没有RSoP数据。因此,在以下屏幕截图中,我们以Frank Rizzo的身份登录,试图获取他的RSoP数据(顶部窗口)。如前所述,默认情况下他无法访问计算机端。因此,我们执行runas 命令以获取自己的命令行窗口作为新的Administrator(底部窗口)。为了进行计数,我们然后运行GPResult / scope:computer 。即使我们只是想要方程式的计算机端,我们仍然会收到关于用户端没有数据的错误(底部窗口)。令人沮丧的最大
选择2 使用GPMC委派用户查看自己的计算机端RSoP数据的能力。同样,在Windows Vista及更高版本中,默认情况下不允许这样做。这对于XP机器来说很好用。因此,在我看来,没有什么理由不仅仅 允许用户看到它。
假设您想允许域中的每个人看到他们自己的RSoP数据,我们需要查看如何执行委派(在第2章中进行了讨论)。如果要执行此委派,则可以使用GPMC,单击域级别,然后单击“委派”选项卡。在“权限”下拉列表中,我们将选择“读取组策略结果数据”,然后添加“经过身份验证的用户”(或修改对“域用户”组的权限,该权限始终已列出)并选择应用于“此容器和所有子容器。”
您可以在此处查看此过程的屏幕截图:
同样,如果我们实际坐下来,这就是获取机器的RSoP所需要的。如果您希望从另一台计算机远程获取此数据,则完全不同。如果您希望将权限委派给非管理用户(例如服务台中的某人),则方程式会变得更加严峻。
在本章稍后,我们回顾如何以非管理员用户身份成功检索组策略结果数据。该部分是“远程计算客户端的RSoP(当您将权限委派给非目标计算机的本地管理员的人时)。”请务必阅读该部分以获取完整信息,否则您将被排除在外。想知道为什么您会收到“拒绝访问”消息。
远程计算客户端的RSoP(使用GPresult)
GPResult 依赖于操作系统内置的WMI提供程序。因此,您可以通过使用GPMC的组策略结果向导或GPresult 命令行工具来远程获取结果。
您运行GPResult ,将其指向系统,并提供您希望收集其RSoP数据的用户名。
这里有两个更重要的警告。也就是说,仅当目标用户登录到目标计算机时,此魔术才有效。他们只需要登录一次,而在运行测试时甚至不需要登录。但是,如果目标用户从未登录过目标计算机,则为该用户远程计算GPResult 将失败。此外, 如果启用了目标计算机的Windows防火墙,则远程尝试获取 GPResult 将失败。
如第2章所述,请关闭Windows防火墙或启用策略设置“ Windows防火墙:允许入站远程管理例外”,您可以在计算机配置➢策略➢管理模板➢网络➢网络连接➢Windows防火墙➢域(或标准)配置文件。
或者,对于您的Windows Vista和更高版本的客户端,您确实可以使用新的具有高级安全性的Windows防火墙(您将在第8章中了解到),当然,该防火墙还有一种替代方法仅对Windows Vista和Windows XP有效。后来。可以在“计算机配置” ➢“策略” ➢“ Windows设置” ➢“安全性设置” ➢“具有高级安全性的Windows防火墙” ➢“入站规则”下找到。考虑到这一点,这是您以后使用的其他GPResult 选项:
■■ / s的<目标系统名称或IP地址>点到目标系统。
■ ■ /用户<可选域\用户名> 目标用户收集的RSoP数据。
您也可以结合使用任何上述GPResult 开关。如果您登录DC01并想在Frank Rizzo登录WIN10时仅查看用户端策略设置,请键入以下内容:
gpresult / user frizzo / s win10 / scope:user / r
同样,仅当Frank已经登录到WIN10时,此命令才会成功。
GPResult 更好地告诉您为什么要应用GPO,而不是告诉GPO 包含哪些特定的策略设置。例如,请注意,GPResult从未告诉我们本地GPO中包含哪些策略设置。对于这些任务,我们将需要使用GPMC(如第2章所示)。
使用远程计算客户端的RSoP
Get-GPResultantSetOfPolicy Cmdlet
您也可以使用Get-GPResultantSetOfPolicy cmdlet远程获取RSOP 并将其转储到XML或HTML文件。一个示例命令可能是这样的:
Get-GPResultantSetOfPolicy –ReportType HTML –计算机Win10 –用户Frizzo –路径
C:\ Temp \ Report1.html
命令结果如图7.22所示。
图7.22 使用PowerShell远程获取RSOP报告。
远程计算客户端的RSoP(委托后)
非目标计算机本地管理员的权限)
在前面的示例中,我做了一个假设。
我假设您要查看某人的RSoP数据,并且您也是计算机的本地管理员。
但是,在现实世界中可能并非如此。
也许在您的现实世界中,您想将权限委派给服务台(或另一个非管理组)。
如果这样做,则需要额外提高以确保他们可以读取RSoP数据。(如果您首先需要重新学习如何委派权限,请务必阅读第2章中的“特殊组策略操作委派”部分。)同样,此区域位于OU的“委派”选项卡中(或域或网站)。
一旦在所需的用户和/或计算机上执行了“读取组策略结果数据”的委派,您还需要执行这些非常重要的附加委派步骤。(同样,仅当您已将此功能委派给目标计算机的非管理员时才需要执行这些步骤。)
例如,假设Tom用户(从服务台)需要访问权限,以从Brett Wier使用的计算机(Win10.corp.com)读取组策略结果数据。首先,您在包含Win10.corp.com的OU上委派权限,并确保Tom可以“读取组策略结果数据”。但是即使这样做,Tom尝试运行组策略结果向导时,他也会出现“拒绝访问”消息,如图7.23所示。
要稍微打开它(并同时降低安全性),您需要创建并链接一个会影响目标计算机OU的GPO。然后,确保在该GPO中启用了以下策略设置:
1. 我们已经介绍了这一内容,但是只是为了确保您已安装好它:计算机配置 ➢策略 ➢管理模板 ➢网络 ➢网络连接 ➢Windows防火墙 ➢域配置文件 ➢Windows 防火墙:允许入站远程管理例外。选择允许来自哪个子网的入站请求(或指定*允许所有子网)。
2. 其他策略设置位于计算机配置中 ➢策略 ➢ Windows设置 ➢安全设置 ➢本地策略 ➢安全选项 ➢ DCOM:在安全描述符定义语言(SDDL)语法计算机访问限制 。编辑策略设置时,首先选择“定义此策略设置”,然后单击“编辑安全性”,添加Tom用户,然后指定允许远程访问。执行此操作时,将(自动)自动生成一个安全描述符,例如O:BAG:BAD:(A ;; CDCLC ;;;),通常很长。您可以在图7.24中看到此屏幕快照(尽管屏幕快照中没有安全描述符,因为我还没有点击OK)。
图7.23 Tom不能针对自己不是本地管理员的计算机运行组策略结果。
3. 最后一个策略设置位于内计算机配置 ➢策略 ➢ Windows设置 ➢安全设置 ➢本地策略 ➢安全选项 ➢ DCOM:在安全描述符定义语言(SDDL)语法计算机启动限制。同样,请确保单击“定义此策略设置”。然后,添加同一个人(“ Tom用户”)并授予“远程启动:允许”和“远程激活:允许”权限。
图7.24 对于每个DCOM权限,添加委派的用户并指定他们具有“远程访问:允许”权限。
由于您已经更改了计算机端设置,因此请确保在目标计算机上运行gpupdate / force (或只是重新启动它)。
完成后,您将使指定的非管理用户能够使用GPMC的组策略结果向导读取另一台计算机的RSoP数据。
执行完这些步骤之后,您已经委派了一个用户(或组,如服务台),并且现在可以“扩展”并查看其他计算机上的情况,即使这些计算机不是本地管理员也是如此。 。但是,请不要忘记这里的黄金法则:如果目标计算机的防火墙阻止了您的传入请求,即使您现在已经委派了权限,它仍然无法正常工作。
使用事件查看器日志进行高级组策略疑难解答
我们已经探索了一些用于对组策略应用程序进行故障排除的技术。您可以启用一些基础的操作系统故障排除工具,以帮助诊断意外情况发生时到底发生了什么。
Windows中最容易被忽视和利用不足的工具是事件查看器。客户端的事件查看器记录 组策略的成功和失败应用程序。图7.25中可以看到一个这样的事件。
图7.25 Event Viewer是一个很好的地方,可以开始对好消息(或坏消息)进行故障排除。
在碰头撞墙之前,请检查客户端的事件日志中是否有相关的组策略记录。
在图7.25中,具体的事件ID返回信息的1053年做在微软的TechNet快速搜索错误代码,你可以找到一篇相关的文章,261007(HTTP://支持.microsoft.com / KB / 261007 ),W HICH显示客户端指向错误的DNS服务器。再次,当发现可能存在错误的事件时,请搜索Microsoft知识库。您可能会在这里找到一颗隐藏的宝石-完全可以解决您的问题。
使用Windows系统日志进行故障排除
所有与组策略相关的主要事件都可以在系统日志中找到。
Windows 8和更高版本的系统会生成具有GroupPolicy 事件源的组策略事件(Microsoft-Windows-Group Policy),如系统登录中所示。
图7.26。
但是,请注意,Windows 7仅作为GroupPolicy 生成组策略事件,而括号中没有其他文本。如果您同时拥有Windows 7和Windows 8或更高版本的系统,这确实会使疑难解答变得更加困难,如图7.27所示。您必须知道要查找的事件源。
系统日志旨在为您提供有关组策略引擎状态的高级信息。因此,它将告诉您诸如计算机组策略处理成功还是失败之类的信息,但不一定告诉您发生了什么或为什么。
您可以收集许多事件的详细信息,如图7.28所示。
图7.26 查看带有组策略事件的Windows 7系统日志
图7.27 使用组查看Windows 8和更高版本的系统日志
政策事件
图7.28 查看组策略处理时间
请注意,在图7.28中,ProcessingTimeInMilliseconds 字段显示1188毫秒或0.11秒。那就是计算机处理花费了多长时间。另请注意,ProcessingMode列为0。这表明计算机正在以正常处理模式工作,而不是回送处理。如果值为1或2,则分别表示已启用“合并”模式或“替换”模式中的环回。并且,当然,DCName字段指示在最后一个周期中哪个域控制器为组策略引擎的组策略处理请求提供服务。
除了通过组策略告诉您什么时候情况良好之外,系统日志还会告诉您什么时候情况不是很好。故障日志还将尝试为您提供一些提示,说明为什么事情不起作用。例如,签出图7.29中的事件。
在图7.29中,您可以看到故障的性质。此外,如果您单击页面底部的“事件日志联机帮助”链接,您将被带到一个Microsoft网站,其中包含有关此事件ID的更多详细信息。好吧, 希望是。并非每个事件ID都有其自己的网页链接,但是您可以尝试 检查。
默认情况下,Windows中的组策略事件日志记录处于打开状态,因此您无需专门启用任何功能。
您可以使用GroupPolicy (对于Windows 7)或GroupPolicy(Microsoft-Windows-Group Policy)(对于Windows 8及更高版本)的源简单地过滤此日志中的事件,并获取GP处理的快照。该日志中记录的与组策略相关的事件是每个处理事件的摘要,它们告诉您诸如组策略处理是否成功进行,使用哪个域控制器处理策略以及处理了多少GPO之类的信息。它们没有提供深层次的细节。在下一节中,我们将讨论如何从Windows的事件日志中获取详细信息。
图7.29 查看组策略失败事件
在撰写本文时,可以在https://technet.microsoft.com/zh-cn/library/cc749336上找到组策略事件日志文档。
但是它尚未针对Windows 8.1以来的大量事件日志条目进行更新。因此,这是您可能会发现的未记录的Windows 8.1(及更高版本)系统事件。
事件 | ID |
开始获取适用的GPO | 4126 |
获得适用的GPO最终成功 | 5126 |
获取适用的GPO失败 | 7126 |
检测到GPO进程同步模式慢速链接 | 6344 |
GPO进程同步模式NO DC | 6345 |
事件 | ID |
GPO进程将同步模式切换为异步 | 6346 |
GPsvc启动 | 4115 |
GPsvc停止 | 5115 |
GP会议开始 | 4117 |
GP会话返回winlogon电话 | 5351 |
GP会话结束 | 5117 |
GP会话以错误结束 | 7117 |
GP保存到缓存开始 | 4216 |
GP保存到缓存结束 | 5216 |
GP保存到缓存结束,但出现错误 | 7216 |
从缓存开始加载GP | 4217 |
从缓存端加载GP | 5217 |
从缓存结束GP加载错误 | 7217 |
GP缓存第一个WMI查询开始 | 4218 |
GP缓存第一个WMI查询结束 | 5218 |
GP服务初始化启动 | 4116 |
GP服务初始化结束 | 5116 |
GP政策下载开始 | 4257 |
GP政策下载结束 | 5257 |
GP政策下载错误结束 | 7257 |
使用组策略操作日志进行故障排除
在上一节中,我们讨论了系统日志。我解释说,它告诉您发生了什么,但是为什么不是那么好。
组策略操作日志为您提供了一种逐步查看任何组策略“周期”中发生的情况的方法,并弄清了 什么原因不起作用。
要查找组策略操作日志,打开事件查看器,并深入到应用程序和服务日志➢微软➢视窗➢组策略➢操作。您将获得一系列类似于图7.30中发现的事件。
图7.30 在Windows中查看组策略操作日志
组策略操作日志将提供跟踪组策略问题所需的几乎所有信息。我说“差不多”是因为有时需要启用一些额外的日志才能获取更多数据。(请参见侧栏
稍后再介绍“其他类型的详细日志记录”。)
深入潜水故障排除
同样,如果怀疑有问题,请从Windows系统日志开始。可能会很好地解释它,并助您一臂之力。
假设系统日志不能帮助您找到问题所在,那么下一步就是我们刚刚讨论过的组策略操作日志。
但是,在给定的处理周期中生成了如此多的事件时,如何使用组策略操作日志来解决问题?例如,给定的组策略处理周期可以生成20到30个操作日志事件,而操作日志本身可能包含数百个此类事件。目标是缩小一个组策略的处理周期,并逐步了解成功或失败所采取的步骤。您可以使用自定义视图(Crimson Event Log系统的功能)来完成此任务。
组策略处理周期的每个实例由事件中称为“ 关联活动ID”的字段唯一标识。通过创建一个按此活动ID过滤事件的自定义视图,您可以仅获得与给定处理周期相关的那些组策略操作事件的列表。让我们逐步了解如何做到这一点。
要通过特定的组策略活动ID筛选操作事件日志,请执行以下操作:
1. 启动事件查看器实用程序。
2. 您需要做的第一件事是找到您感兴趣的组策略处理周期的活动ID。您可以进入“操作日志”,找到所涉及周期中的一个事件,然后单击下部预览窗格中的“详细信息”选项卡,如图7.31所示。将该活动ID复制到安全的地方-我们很快将需要它。
图7.31 在组策略事件中找到关联活动ID
3. 在“事件查看器”的左侧窗格上,右键单击“自定义视图”节点,然后选择“创建自定义视图”。
4. “创建自定义视图”对话框将出现在“过滤器”窗格上,但是在本练习中,我们将直接输入XML过滤器,而不是使用复选框。因此,点击XML标签,然后选中“手动编辑查询”框。
5. 将我在此处写的文本全部复制为一行。为了使书中的格式更好,我将其分解为几行。但是想象一下,这是一条很长的线。在过滤器查询框中输入以下XML查询字符串:
<QueryList> <Query Id =“ 0” Path =“ Application”>
<选择路径=“ Microsoft-Windows-GroupPolicy / Operational”> * [系统/
Correlation / @ ActivityID ='{插入活动ID
HERE}'] </ Select> </ Query> </ QueryList>
6. 将您在第2步中找到的活动ID放在“在此处插入活动ID”的位置。完成后,单击“确定”两次,“事件查看器”的右上角结果窗格将仅显示以下内容的过滤视图:您的组策略事件。
GPLogView
既然我们已经将事件过滤到一个组策略周期中,您可能会对自己说:“亲爱的,由于我必须滚动浏览每个事件而又无法查看所有事件,因此很难看到发生了什么出于这个原因,Microsoft创建了一个名为GPLogView 的工具。
使用此命令行实用程序,您可以将组策略操作日志的事件输出为多种易于阅读的格式,包括纯文本和HTML。您可以在http://go.microsoft.com/fwlink/?LinkId=75004上下载该工具。
这是GPLogView 可以做的事情。您可以使用它来完成与上一个自定义视图描述中相同的操作-输出与单个活动ID关联的事件。为此,您可以使用以下语法运行gplogview 命令:
gplogview -a 9A867233-04FF-4625-B7D1-6DEB763E2DCA -o ouput.txt
这将逐步生成所有事件的逐步列表,这些事件的活动ID我们已提供给名为output.txt 的输出文件。图7.32显示了输出的一小部分示例。
请注意,它提供了有用的信息,例如在慢速链接检测期间检测到的带宽,到下一个处理周期为止的时间,应用和拒绝了哪些GPO以及原因。
此外,如果您查看事件查看器中的实际事件,它们与GPLogView 的输出中列出的每个事件相对应,您将获得一些更有用的信息。例如,在每个策略处理周期的开始,每个事件的“详细信息”选项卡下都包含有用的摘要标志,如图7.33所示。
您在该图中看到的标志可以使您了解正在发生的处理类型。例如,isBackgroundProcessing = true 标志指示这是后台处理周期而不是前台处理周期。这很重要,因为某些CSE(例如软件安装和文件夹重定向)在后台处理期间不会运行。此摘要视图还提供有用的信息,例如处理是否异步发生(IsAsyncProcessing)以及是否正在记录计算机或用户处理(IsMachine)。
图7.32 查看GPLogView 的输出
图7.33 查看组策略操作事件的摘要标志
总体而言,在解决Windows Vista及更高版本中的组策略问题时,可以使用组策略操作日志。
启用组策略首选项扩展的跟踪
默认情况下,组策略首选项不生成任何直接日志文件。除非您想从中获取更多信息,否则认为它们“工作正常”。
为此,有许多策略设置可启用跟踪日志。在第5章中,我们探讨了对组策略首选项的跟踪,但是为了完整起见,在本疑难解答一章中,我还将引用它们的存在。
您可以在计算机上找到组策略首选项扩展跟踪策略设置
配置➢策略➢管理模板➢系统➢组策略➢日志和跟踪。
您可以在图7.34中看到组策略首选项扩展跟踪选项之一,特别是对于组策略首选项驱动器映射。
有关组策略首选项疑难解答的详细信息,请参阅第5章中的“疑难解答:报告,日志和跟踪”。
图7.34 您可以使用这种策略设置来对组策略首选项扩展进行故障排除。
|
其他类型的详细日志记录 |
除了使用事件日志之外,某些单独的CSE还提供了自己的详细日志文件,您可以通过注册表调整启用它们。 当您无法从事件日志中获取所需的信息时,下一步就是尝试使用这些特定于CSE的日志来查找问题。尽管并非每个CSE都会创建自己的日志文件,但是大多数重要的CSE都会创建日志文件,您可以使用这些日志来获取有关出现问题的特定组策略区域的更多详细信息。下表列出了所有可用的CSE特定日志和启用它们所需的注册表值。
注册表值 中日志 位置的组件位置 安全CSE %windir%\ HKLM \ Software \ ExtensionDebugLevel 安全性\日志\ Microsoft \ Windows DWORD 2 WinLogon.log NT \ CurrentVersion \ Winlogon \ GPExtensions \ {827d319e-6eac- 11d2-a4ea- 00c04f79f83a} 文件夹重定向%windir%\ Debug \ HKLM \ Software \ FDeployDebugLevel CSE UserMode \ FDeploy Microsoft \ Windows DWORD 0x0B .log (仅Windows XP NT \ CurrentVersion \ 和2003) 诊断 Windows Vista和更高版本将错误记录到应用程序日志中。 软件安装- %windir%\ Debug \ HKLM \ Software \ AppMgmtDebugLevel CSE UserMode \ AppMgmt Microsoft \ Windows DWORD 0x9b .log NT \ CurrentVersion \ 诊断程序
|
有关功能强大的ADM模板,请访问Darren Mar-Elia的网站www.GPOguy.com ,该模板可帮助在客户端计算机上自动执行这些注册表打孔(如果需要)。
组策略处理性能
我经常听到这样一个问题:“拥有更少,更大的GPO还是拥有更多具有更少设置的GPO更好?”这个问题的答案是本节的基础。
组策略处理性能的底线是处理组策略所需的时间高度依赖于您在给定的一组GPO中所做的工作以及您的环境状态。如果考虑本章讨论过的有关如何存储和处理组策略的所有内容,那么您可能发现过程中存在很多可变性。例如,设置“管理模板”策略比使用“文件安全性”策略重新许可大型文件树所花费的时间要少得多。同样,与使用组策略首选项提供10个快捷方式相比,使用“软件安装”策略安装Microsoft Office将花费更多时间。
此外,与周期的CSE处理部分相比,组策略处理在核心处理阶段所花费的时间(在该阶段中,客户端与AD进行通信以确定要应用哪些GPO)通常占整个处理时间的一小部分。因此,与必须执行更多耗时的CSE处理相比,必须枚举更多的GPO或更少的GPO对总处理时间的影响可以忽略不计。同样重要的是要记住,只有在给定计算机或用户的组策略基础结构中发生某些更改时,才进行组策略处理。因此,在大多数环境中,更改GPO或创建新的GPO可能需要几天的时间。鉴于此,性能问题归结为您的环境中可接受的性能。
要优化处理性能,您可以做的最好的事情就是测量并了解给定处理周期中的时间花在了什么地方。您可以使用本章中提到的许多工具来完成此操作。另外,你可以下载一个名为自由命令行实用程序gptime.exe 在https://sdmsoftware.com/gpoguy/free-tools/ 库/ 输出花在处理组策略的本地或远程计算机的时间。此外,如果您使用Windows 8(和更高版本)的GPMC,则组策略结果报告的“组件状态”部分还可以显示每个组件的单独 处理时间。
除了您已应用到给定用户或计算机的GPO数量之外,许多因素可能会影响组策略处理性能。其中一些突出显示在这里:
■ ■ 保持应用于GPO到最低限度的安全组的数目。客户端需要阅读和处理的安全组越多,以确定GPO是否适用,则在核心处理阶段花费的时间就越多。
■ ■ 确保您不会强迫策略应用对于给定的CSE(通过启用根据有关政策,使计算机配置\策略\管理模板\系统\组策略),每刷新周期,除非你绝对必须的过程。
■ ■ 确保您最大限度地减少“昂贵”的操作,你的GPO做量做。昂贵的操作包括大量用户数据的文件夹重定向,通过网络的大型应用程序的软件安装以及大型文件或注册表树的重新许可。此外,如果脚本脚本可能存在问题
最后的想法
正在执行可能会挂起的复杂任务。组 策略中的默认脚本超时为10分钟。这意味着脚本可能会在您的用户等待的情况下最多停留10分钟,直到最终超时。
■ ■ WMI过滤器(在第5章中讨论)也采取的处理时间一大块弄清楚,如果条件是“真”还是不行。如果需要,则应使用WMI筛选器,但不要过多使用WMI筛选器,尽管WMI筛选器在Windows 7和Windows XP上的处理速度更快。
因此,最后,更少,更大的GPO的性能是否优于更大,较小的GPO的问题可能不是正确的问题。更好的问题是哪种配置更易于管理。回答该问题后,您可以使用本节介绍的技巧来优化性能。
最后的想法
您想成为组策略问题的更好的疑难解答者吗?你进展顺利。
在上一章中,您了解了何时应应用组策略。它不只是在需要的时候发生;它是根据一组精确的时间发生的。在本章中,您学习了另外两个关键项目,以帮助您进行故障排除。首先,您了解了有关幕后情况的真实故事。然后,您学习了如何掌握这些知识并对组策略进行故障排除。希望本章中的每个页面都可以帮助您在出现问题时进一步对组策略进行故障排除。但是,以下是一些对组策略进行故障排除的技巧:
检查基础知识。 故障排除时,请首先检查基础知识。确保在不应该使用的地方不要使用“块继承”或“强制”。
检查权限。 用户需要对GPO的“读取”和“应用组策略”权限。电脑也一样。如果用户(或用户所在的组)被“拒绝”访问这些权限中的任何一个,则GPO将不适用。
利用内置工具。 使用内置的调试工具(例如事件查看器,GPResult 和GPMC结果报告)可以帮助解决问题。
记住哪些操作系统的行为相似。 在进行故障排除时,请记住Windows Vista和更高版本基本相同。具体来说,Windows 10和Windows Server 2016最为相似,Windows 8.1和Windows Server 2012 R2相似,Windows 8和Windows Server 2012相似,其次是Windows 7和Server 2008 R2。然后是Windows Vista和Windows Server2008。最后,Windows Server 2003就像XP。
验证复制是否正常。 如果客户端没有获得您认为应该的GPO,则可能是正常复制尚未完成。GPC通过Active Directory复制进行复制。GPT通过FRS复制进行复制。他们应该走同样的路,但是有时候他们不走。使用Gpotool 和Repadmin 以及GPMC的“状态”选项卡进行故障排除。
查看Microsoft的故障排除文档。 Microsoft提供了两个有关组策略疑难解答的正式白皮书。可以在 http://go.microsoft.com/fwlink/?LinkId=14949上找到一个。
在http://tinyurl.com/gp-trouble2上还有另一个版本。我是向此后一文档提供意见的审阅者之一。