电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

解开拒绝本地登录的“死结”


发布日期:2022/10/13
 

前言

在Windows 环境下被组策略拒绝本地登录一直是件比较令人头疼的事情本文将介绍一种所有用户都被拒绝本地登录后的解决方法

在Windows如果某个用户被取消了本地登录权限当这个用户本地登录计算机时系统就会提示此系统的本地策略不允许您采用交互式登录导致登录失败遇到这种情况通常请管理员在组策略中重新设置一下将该用户从拒绝本地登录列表中删除或添加到在本地登录列表中即可但如果因为操作失误或其它方面的原因我们将所有用户的本地登录权限都禁止了(通常是禁止了users组(非域环境下)或domain users组(域环境下))那就有点麻烦了这种情形看起来像一个解不开的死结要解除禁止本地登录的组策略设置必须以管理员身份本地登录要以管理员身份本地登录就必须先解除禁止本地登录的组策略设置

但实际上事情并没有我们想象的那么糟经过查询相关资料和测试我发现借助网络的帮助这个死结还是可以解开的因为域安全策略与本地安全策略的数据保存机制不同下面分两种情况分别进行说明

被域策略拒绝本地登录时的解决办法

域策略的安全设置部分都保存在一个名为GptTmplinf的安全模板中这是一个文本文件存放在DC(域控制器)的SYSVOL(物理目录指向DC的c:\winnt\sysvol\sysvol)共享中要解除对所有用户本地登录限制在不能本地登录的情况下最快捷的办法可能就是直接编辑这个文本文件

具体操作如下

在另一台计算机(WinX//XP均可)上使用域管理员账号连接到DC的SYSVOL共享\\\sysvol\\Policies\\MACHINE\Microsoft\Windows NT\SecEdit下找到该文本文件GptTmplinf(路径中的DC name是你放置该组策略的域控制器的名字Domain name是你的域的名字Policy GUID是你要编辑的组策略对象的GUID类似于{BFDDFCFB})

使用记事本打开GptTmplinf文件找到文件中Privilege Rights小节下的 SeDenyInteractiveLogonRight关键字它的值就是被拒绝本地登录的用户或组的SID将这些SID删除使 SeDenyInteractiveLogonRight关键字的值为空修改完毕将文件保存回原位置

使用记事本打开位于\\\sysvol\\Policies\下的 GPTINI文件提高General小节下的Version关键字的值通常是加这是我们修改的这个组策略对象的版本号版本号提高后可以保证我们的更改被复制到其它DC上修改完毕将文件保存回原位置

域策略刷新后问题即告解决

本地登录DC重新设置域策略中的相关项目

被本地安全策略拒绝本地登录时的解决办法

由于在Windows不支持对计算机本地策略的安全设置部分进行远程管理(详见组策略白皮书)而且本地安全策略的安全设置通常存放在一个二进制的安全数据库seceditsdb中这个安全数据库的结构我们无从知道因此象第一部分那样直接编辑seceditsdb文件的办法是无能为力了我们需要采用迂回进攻的策略曲线救国

具体操作如下

假设故障计算机的IP地址是在另一台计算机(WindowsX//XP均可)上使用Telnet 命令使用管理员账号连接到故障计算机(如果故障计算机的telnet服务没有启动可以通过网络使用服务MMC启动具体方法不在详述)

通过telnet在故障计算机上执行net share tmp$=d:\tmp命令将故障计算机上的d:\tmp隐藏共享为tmp$共享权限缺省是everyone完全控制(此时要特别注意网络安全)当然你也可以共享其它的目录

通过telnet在故障计算机上执行secedit /export /CFG d:\tmp\secinf命令将故障计算机的本地安全策略配置导入d:\tmp\secinf安全模板文件中这是一个文本文件

连接到故障计算机上的tmp$共享用记事本打开共享文件夹中的secinf文件找到文件中Privilege Rights小节下的SeDenyInteractiveLogonRight关键字它的值就是被拒绝本地登录的用户或组的SID将这些SID删除使SeDenyInteractiveLogonRight关键字的值为空或者是随便另设置一个无关的值文件修改完毕保存回原位置

通过telnet在故障计算机上执行secedit /configure /db c:\seceditsdb /CFG d:\tmp\secinf命令使用新的安全模板和安全数据库重新配置故障计算机的本地安全策略

通过telnet在故障计算机上执行secedit /refreshpolicy machine_policy /enforce命令强制在故障计算机上刷新策略设置问题即告解决

本地登录故障计算机后删除我们建立的Tmp$共享重新设置本地安全策略中的相关项目

secedit简介

seceditexeWindows自带的自动化安全配置任务命令行工具功能强大我们可以用它来分析系统的安全性配置系统安全性刷新安全性设置导出安全性设置和验证安全配置文件它的具体用法请使用secedit /?查看其帮助文件

补充说明

上面所说的两种方法都是以有权限用户(如管理员)没有被禁止从网络登录为前提的如果你的策略把从网络登录也禁止了让故障计算机成了真正的孤家寡人那问题解决起来要麻烦的多但同样不是一个解不开的死结具体的解决办法我会另具文说明在此不再细说

参考资料

参考资料微软KB数据库文章QQQ

参考资料微软msnews新闻组microsoftpublicwinsetupsecurity和general

参考资料Windows中文帮助

关于作者

朱其胜系统工程师在山东一家网络公司负责WinNT/系统集成网络安全与技术支持持有MCSE证书微软MVP

上一篇:完美解决索尼电脑的Win8视频黑屏现象

下一篇:电脑没声音怎么办?