AD 域控仅允许域用户登录

2022-12-13 15:13:24 +08:00
 MSIAM

有熟悉 AD 域控的 V2er 吗。 最近遇到了一个问题需要通过 AD 域的组策略来禁用计算机的本地账户。 请问该如何实现?

1945 次点击
所在节点    问与答
23 条回复
geelaw
2022-12-13 15:27:40 +08:00
感觉会带来很多意料之外的效果,有些服务例如 IIS 是需要本地用户的,然后 Windows 还会管理一个叫做 defaultuser 的用户。

一种思路是禁止交互式登录(会阻止 CreateProcessWithLogon 、以及交互式 LogonUser )。
zzzzxxxxxx468
2022-12-13 15:34:27 +08:00
在打开的组策略管理编辑器里依次打开计算机配置--策略--Windows 设置--安全设置--本地策略--用户权限分配--拒绝本地登录
SgtPepper
2022-12-13 15:45:25 +08:00
1.逻辑不太对,你 IT 发出去的电脑加域且 administrator 密码不告诉用户的话,用户本来就没通过本地账户登录
2.如果是后加域,那加域的时候把本地账户禁用掉
2.要用 gpo 的话,在 gpo editor\computer configuration\preference\control panel settings\local user and groups\,新建一个 group ,group name 选择“users (built-in)”勾上“delete all member users”,可以先看下本地 group 里面有什么乱七八糟的服务依赖系统账户,把这些加到这个策略的“members”中;那么最终会删除本地 Users 组中除 members 中你添加的所有用户
SgtPepper
2022-12-13 15:50:05 +08:00
忘了说如果用上面这个办法,这个 members 里必须要添加 domain users 这个组,否则你域账户也没法登喽
MSIAM
2022-12-13 15:53:15 +08:00
@zzzzxxxxxx468 这个东西我试过了,它的效果并不是禁止本地用户组登陆,而是禁止指定用户在本地终端登陆。只允许远程登陆。
cjpjxjx
2022-12-13 15:56:03 +08:00
本地安全策略有一个“允许本地登录”,里面全部删除就登录不了了
MSIAM
2022-12-13 15:59:43 +08:00
@SgtPepper 我大概理解了,意思就是通过建立一个用户组的形式,把所有服务相关的组归类到这个组里面,然后勾选删除非此组的所有用户。是吗?这样的话,Administrator 和 Guest ,还有 System 这种账户也需要添加进来吗?
lzk800
2022-12-13 15:59:56 +08:00
域控也就是 DC 是没有本地账户也就是 Sam 数据库的……
MSIAM
2022-12-13 16:00:21 +08:00
@cjpjxjx 这个策略的效果是允许用户使用本地终端登陆,而不是禁止本地用户组登陆。我试过了。
MSIAM
2022-12-13 16:07:08 +08:00
@lzk800 我的想法是类似于在 Login 的时候。提示禁止非域用户登录之类的,这样就不需要获取本地的数据库只需要判断是否为本域中的用户就行了。
MSIAM
2022-12-13 16:07:43 +08:00
@geelaw 这样的话应该会影响到用户的正常登陆吧?
lzk800
2022-12-13 16:10:39 +08:00
@MSIAM 组策略里面是有对本地账户进行操作的相关策略,按照你们装系统时候的用户名,批量修改密码即可。
至于你的想法,基本上无法实现,因为微软没做这样的……
lzk800
2022-12-13 16:13:15 +08:00
@MSIAM 还有就是推荐使用微软的 admpwd 免费工具,实现对本地账户的定期更改密码。
MSIAM
2022-12-13 16:20:50 +08:00
@lzk800 这样实现应该也是可以的,刚刚我在测试服务器上尝试实现了一下,可以通过禁用指定用户名的形式来实现。
结合了 @sgtpepper 这位老哥提供的位置,实现了通过 AD 对账户远程禁用。
MSIAM
2022-12-13 16:27:09 +08:00
@lzk800 但是这样的实现就有一个问题,我需要知道用户的电脑上有哪些本地账户。这就很麻烦了。
geelaw
2022-12-13 16:28:38 +08:00
@MSIAM 只要策略不要影响你希望使用的账户就行了。你的标题和正文意思完全不同——只允许域用户登录,不代表本地账户就要被禁用,请想好到底要做什么。

如果要禁用账户,可以设置每次开机执行一个 PowerShell 脚本,这个脚本禁用需要禁用的本地用户。

要禁止批处理,使用 Deny logon as a batch job 。
要禁止服务,使用 Deny logon as a service 。
要禁止本地交互式登录(包括拒绝 Run as different user 、拒绝从欢迎屏幕登录),使用 Deny logon locally 。
要禁止远程桌面登录,使用 Deny logon through Remote Desktop Services 。

你可以先用一个本地账户测试效果,然后再把组加进去。

#1 更正,Windows 会管理一个叫做 DefaultAccount 的用户,还有 WDAGUtilityAccount 。
MSIAM
2022-12-13 16:33:27 +08:00
@geelaw 多谢,这个问题我似乎也发现了。仔细想了一下我的目的应该只是仅允许用户通过受管理的 AD 域账户登陆计算机。结合各位的回复,我还想到了是否可以通过使用允许通过本地登陆的这个策略来进行白名单管理。仅存在于指定组中的用户才可以进行本地登录。
min
2022-12-13 18:29:51 +08:00
本地账户管理员不建,怎么会有?
密码不给用户,怎么可能登得上来?
passall
2022-12-13 21:29:27 +08:00
公司的实际情况是:本地管理员帐号还在(密码自动修改),用户使用没管理员权限的 AD 帐号登录电脑,硬盘进行 Bitlocker 防止管理员密码的破解。
germain
2022-12-13 22:24:54 +08:00
LAPS

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/902208

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX