如何在不访问域(控制器)的情况下删除组策略?


8

我有一个(WS2012-R2)域控制器和一组作为该域成员的(WS2012-R2)服务器。我不小心将一个组的所有管理员都加入了组策略“本地拒绝登录访问”,“作为服务拒绝登录”,“拒绝远程访问”和“拒绝网络访问”。这导致我和所有其他管理员(甚至是内置帐户)被锁定在域控制器之外。

是否有办法通过删除GPO或从被拒绝的组中删除管理员帐户来重新获得对服务器的访问权限?


3
只是一个想法,可能是学术上的,但是您怎么不小心这样做呢?
2016年

@ Colyn1337可能不是偶然,但考虑不周。管理员帐户是每个员工都属于的组的成员,我将此组添加到上述GPO中,导致每个帐户都被锁定。我没有想到实际上有可能锁定内置管理员帐户,但是我们可以...
shagrinar

此政策是否也适用于其他DC,或者仅适用于此DC?(您能建立一个新的DC并强行抓住这个角色吗?)
Katherine Villyard

Answers:


6

我想到两个想法。

可以想象,您可以在脱机时使用启动CD来访问域控制器,并手动编辑或删除有问题的GPO-域的GPO存在于域控制器上文件系统中的文件SYSVOL下,并且都用作注册表设置,两者可以从启动CD进行访问的文件-但是,复制将使该操作被撤消,或者一旦您在域控制器上执行此操作的域控制器连接到域中的其他域控制器,就会导致域复制错误。(我在这里假设您的域中确实有多个域控制器,这应该……如果您只有一个,这不是一个坏方法)。

想到的另一种方法是进入目录服务还原模式,并从该GPO之前的备份中执行权威性还原。(同样,这也取决于您正在做的假设,并且要从中还原备份。)


如果您的DC数量很少(2,3,4?),并且可以设法失去其中一个,则第一个选择可能会起作用。关闭,退休,销毁除一个DC之外的所有陪审设备,抢占FSMO角色。如果到此为止,请建立一些新的DC,以取代必须销毁的DC。
克莱顿

4

我实际上没有尝试过。(对不起。)我还假设RSAT由于“拒绝远程/网络访问”而无法正常工作。(如果您没有尝试过,值得一试,但我并不乐观。)

也许您可以使用Hiren's Boot CD创建一个新的管理员帐户,然后使用该帐户编辑策略。


感谢您的回答,可惜我无法在虚拟机中运行Hiren's Boot CD,因为它是第二代Hyper-V计算机。可能会有Hiren's Boot CD的替代版本吗?
shagrinar

ADUC使用LDAP查询,因此不应被“拒绝网络访问”限制所阻止...但是您实际上需要使用域管理员帐户启动它,只有在至少拥有一台计算机要访问的计算机上才能执行此操作不适用违规GPO。但是,PowerShell可能可以提供帮助(有关详细信息,请参阅我的答案)。
马西莫

3
关于这个答案的想法出现了。既然我们正在处理没有本地帐户的域控制器,那么如何通过域控制器上的启动CD创建新的管理员帐户?我在画空白。我以前曾使用过这种技术来重置域控制器上的Administrator / DSRM密码,但是怀疑是否可以使用它来创建新用户。我想念什么吗?
HopelessN00b

1
@KatherineVillyard FalconFour是六溴环十二烷的更高级/现代/有用的版本……请说

@shagrinar如果可以启动PE,我可以使用PE的PXE选项(仅用于紧急情况和诊断),这也可能会起作用,尽管您不会因扭曲而无法使用MMC。但是,如果没有,请先尝试RSAT。这是最不痛苦的选择。
凯瑟琳·维尔雅德

3

组策略在哪里应用?仅对DC还是对整个域?

如果仅将其应用于DC,则仍可以使用域管理员帐户登录到另一台成员计算机;然后,如果您在服务器操作系统上,则可以启用组策略管理控制台和/或所有其他AD管理工具,或者如果是工作站,则安装RSAT并执行相同的操作;使用这些工具,您将能够编辑有问题的GPO或至少用户和组(ADUC控制台使用LDAP查询,因此不受登录限制)。

如果将策略应用于整个域,而您实际上不能使用域管理员帐户登录任何地方,则可能的解决方法是使用PowerShell Active Directory模块:几乎所有cmdlet都有一个-credential参数,可让您指定凭据用于运行命令,即使PowerShell实际上是在其他用户帐户下运行的;这包括Remove-ADGroupMember。因此,可能的解决方案是:

  • 使用任何可用的用户帐户登录到任何成员计算机。
  • 确保AD管理工具已安装在系统上(在服务器上启用它们或在工作站上安装RSAT)。
  • 启动PowerShell。
  • Import-Module ActiveDirectory
  • $admincreds = Get-Credential (这会弹出一个窗口,您需要在其中输入域管理员帐户的凭据)
  • Remove-ADGroupMember <GroupName> <UserName> -Credentials $admincreds

如果可行,<UserName>将从中将其删除<GroupName>,这样,违规策略将不再将其锁定。


4
Deny network access通过RSAT(和PowerShell)适用于访问?并不是说我要进行测试,或者不是有将自己锁定在DC之外的经验,但是我认为这不会起作用。
HopelessN00b

ADUC使用LDAP查询,这应该在“拒绝网络访问”所限制的区域之外;问题是使用域管理员帐户使其运行。我不确定PowerShell,但实际上并不需要在用于运行命令的用户帐户下运行它,因此绝对值得一试。
马西莫

在广告还原模式下,如果他清除gpo文件夹或添加ntfs拒绝功能,那会很好。
yagmoth555

@Massimo就像我说的那样,我不能肯定地说,但是有关此特定GPO的文档在 “最佳做法”下指出:“由于所有Active Directory域服务程序都使用网络登录进行访问,因此在分配此用户权限时要格外小心在域控制器上。” 对我来说,这听起来像是一条警告,指出此特定配置适用于“所有Active Directory域服务程序”。
HopelessN00b

3
我尝试了以上两种方法,但均未成功。LDAP访问被禁用。
shagrinar

3

使用在创建域时设置的帐户以活动目录还原模式启动域控制器。(这只是DC上的本地管理员帐户,名为Administrator,密码已在dcpromo中设置。)

从那里,删除SYSVOLGPO ID文件夹中卷上的所有NTFS权限。(检查最后修改的文件夹以找到最后修改的GPO)。

在这种模式下,不会加载Active Directory数据库,但是您可以访问文件系统。

如果没有任何效果,则可以在该模式下尝试gpofix命令,但是请注意它将删除所有GPO。


有没有办法备份所有GPO,以便我可以再次将它们放回(没有锁定GPO)?
shagrinar

2
@shagrinar否...,但是仅删除GPO文件夹上的所有NTFS权限可能会更好,因为这将阻止GPO的应用,并且只会使您的DC显示GPO在GPO的MMC中已损坏。
yagmoth555

删除SYSVOL上的所有NTFS权限均无效,与删除目录中的所有文件相同。输入DSRM是可能的,我可以使用该帐户登录,但是运行dcgpofix会给我一个错误消息,提示我必须使用域成员帐户登录...
shagrinar

gpo设置仍然适用,在DSRM模式下可以擦除缓存吗?(参见那里的注册表位置; support.microsoft.com/en-us/kb/201453
yagmoth555

我删除了History内的所有内容,遗憾的是登录
失败。– shagrinar

2

最初创建域时,创建了一个“神”帐户。找出密码及其密码,然后您就可以登录托管全局目录的DC。从那里,您应该能够撤消所做的工作,并给它时间传播。

如果失败了,您可以使用一些黑客技术,但我不适合在这里重复使用。请与当地的安全专家联系,因为他们通常会掌握最新的黑客技术,并可以帮助您重新获得域。

当然,如果这只是几台服务器,并且并不重要,则最好擦除并重新开始。


您能给我一个关于如何找出可能是哪个帐户的提示吗?我知道域控制器的本地管理员帐户,该帐户在安装Active Directory时变成了域帐户,但这也受到了影响。擦拭服务器将是我考虑的最后一个选择。
shagrinar

创建全新域时,无论是通过脚本还是向导,都必须创建一个主帐户并为其输入密码。它通常仅在灾难恢复时使用(如现在),并且只有创建域的人才能知道。如果您不知道是谁创建的域,请与您的主管联系,可能是管理链中有人得到了此信息。
Colyn1337'8

1
您正在使用的帐户是“目录服务还原模式”帐户;它仅用于对离线DC进行维护,但实际上不是域管理员。在这种情况下,除非您要从备份还原AD,否则它将完全没有用。
马西莫

@Massimo我认为您的信息有点老...“您可以配置域控制器,以便在域控制器正常启动但AD DS服务已停止的情况下,可以使用DSRM管理员帐户登录到该域控制器。一些原因。” technet.microsoft.com/zh-CN/library/cc816897(v=ws.10).aspx
Colyn1337'8

1
@Massimo可以从文件系统上sysvol文件夹中的位置删除GPO,也可以使用此技术编辑注册表以更改设置。我认为这就是这个答案的建议。
HopelessN00b

1

首先,关闭所有域控制器。这样做可以避免出现奇怪的复制问题。

第一步是删除错误的组策略设置。权限分配存储在在GptTmpl.inf文件中的MACHINE\Microsoft\Windows NT\SecEdit每个策略文件夹下。你会知道你有正确的策略时.inf文件包含线SeDenyNetworkLogonRightSeDenyInteractiveLogonRight,等等。SeDeny...Right从中删除所有行。

Windows将不会应用新的设置,除非它看到GPO已更改,而GPO是通过查询versionNumberActive Directory对象上的属性来确定的。我们不要尝试离线编辑广告。相反,我们将手动从注册表中删除错误的设置。

使用将域控制器的\Windows\System32\config\SECURITY配置单元挂载到另一个Windows系统的注册表中reg load。打开注册表编辑器,然后导航到Policy\Accounts已安装的配置单元下方。(您可能需要以regeditSYSTEM身份运行才能正常工作。PsExec可以做到这一点。)该子项的每个子项都对应于一个用户或组,并且ActSysAc每个子项都具有“权利”。(“特权”全部在Privilgs子项中。)找到一个ActSysAc值为的值C0 03 00 00,该值与您拒绝的四个权限相对应。删除ActSysAc或将其值更改为00 00 00 00。关闭注册表编辑器,然后使用卸载配置单元reg unload

启动您修改的域控制器。您应该现在可以登录。使用组策略管理控制台可以对相关GPO的本地策略进行任何编辑(无论多么琐碎)。这将增加GPO的版本号。

启动其他域控制器,并复制更改。


这看起来非常有前途,可悲的是我无法确认它是否有效。现在,我正在重建所有内容。如果有人可以确认这可行,那么我很乐意将其标记为答案!
shagrinar

0

您可以尝试在资源管理器\\ domain.controler \ c $ \ windows \ sysvol \ sysvol \ domain.local \ polices中打开(您仍然可以访问)

在那里您会找到所有警察。将所有此目录移动到某个临时目标,然后尝试重新启动PC。这会有所帮助。


域控制器称为asgard,域控制器称为yggdrasil,因此我输入:\\ asgard \ c $ \ windows \ sysvol \ sysvol \ yggdrasil \ policies,导致出现错误消息,告诉我Windows无法访问目录。我不是试图从域内计算机的本地管理员帐户访问此帐户,而是从我的私人笔记本电脑访问它-仍然需要登录。
shagrinar

检查目录,我不确定sysvol之后。您可以使用域凭据登录到\\\ domaincontroller \ c $吗?还是可以尝试使用本地管理员(例如“ asgard \ admin”或“ asgard \ tor” :)
kgimpel,2016年

我没有用,但由于它是一台虚拟机,因此DC正在运行,因此我刚刚安装了虚拟硬盘。我发现目录C:\ sysvol \ sysvol \ fqdn_of_domain,尝试访问该目录导致错误(这是某种符号链接?)。我找到了另一个包含脚本和策略的文件夹C:\ sysvol \ domain。我从中移走了所有东西,卸下VHD,然后启动了机器。可悲的是没有变化。该链接指向何处?在访问硬盘时我还能考虑其他选择吗?
shagrinar

3
@shagrinar此答复建议,直接通过SMB共享引用域控制器将不起作用,因为您已拒绝GPO的网络访问。您也许可以通过\\domainname\sysvol\ 这种方式执行和访问策略,但是我没有希望。修改sysvol需要域管理员权限,并且如果您已将所有域管理员锁定在外,则将无法使用所需的权限来访问它。
HopelessN00b

在SYSVOL \ Domain \ Policies内部您只能排序,查找和移动在过去一天创建的目录。其中之一就是您的“问题”政策。
kgimpel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.