V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
MSIAM
V2EX  ›  问与答

AD 域控仅允许域用户登录

  •  
  •   MSIAM · 2022-12-13 15:13:24 +08:00 · 1964 次点击
    这是一个创建于 709 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    23 条回复    2022-12-15 14:08:57 +08:00
    geelaw
        1
    geelaw  
       2022-12-13 15:27:40 +08:00 via iPhone   ❤️ 1
    感觉会带来很多意料之外的效果,有些服务例如 IIS 是需要本地用户的,然后 Windows 还会管理一个叫做 defaultuser 的用户。

    一种思路是禁止交互式登录(会阻止 CreateProcessWithLogon 、以及交互式 LogonUser )。
    zzzzxxxxxx468
        2
    zzzzxxxxxx468  
       2022-12-13 15:34:27 +08:00
    在打开的组策略管理编辑器里依次打开计算机配置--策略--Windows 设置--安全设置--本地策略--用户权限分配--拒绝本地登录
    SgtPepper
        3
    SgtPepper  
       2022-12-13 15:45:25 +08:00   ❤️ 1
    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
        4
    SgtPepper  
       2022-12-13 15:50:05 +08:00
    忘了说如果用上面这个办法,这个 members 里必须要添加 domain users 这个组,否则你域账户也没法登喽
    MSIAM
        5
    MSIAM  
    OP
       2022-12-13 15:53:15 +08:00
    @zzzzxxxxxx468 这个东西我试过了,它的效果并不是禁止本地用户组登陆,而是禁止指定用户在本地终端登陆。只允许远程登陆。
    cjpjxjx
        6
    cjpjxjx  
       2022-12-13 15:56:03 +08:00 via iPhone
    本地安全策略有一个“允许本地登录”,里面全部删除就登录不了了
    MSIAM
        7
    MSIAM  
    OP
       2022-12-13 15:59:43 +08:00
    @SgtPepper 我大概理解了,意思就是通过建立一个用户组的形式,把所有服务相关的组归类到这个组里面,然后勾选删除非此组的所有用户。是吗?这样的话,Administrator 和 Guest ,还有 System 这种账户也需要添加进来吗?
    lzk800
        8
    lzk800  
       2022-12-13 15:59:56 +08:00
    域控也就是 DC 是没有本地账户也就是 Sam 数据库的……
    MSIAM
        9
    MSIAM  
    OP
       2022-12-13 16:00:21 +08:00
    @cjpjxjx 这个策略的效果是允许用户使用本地终端登陆,而不是禁止本地用户组登陆。我试过了。
    MSIAM
        10
    MSIAM  
    OP
       2022-12-13 16:07:08 +08:00
    @lzk800 我的想法是类似于在 Login 的时候。提示禁止非域用户登录之类的,这样就不需要获取本地的数据库只需要判断是否为本域中的用户就行了。
    MSIAM
        11
    MSIAM  
    OP
       2022-12-13 16:07:43 +08:00
    @geelaw 这样的话应该会影响到用户的正常登陆吧?
    lzk800
        12
    lzk800  
       2022-12-13 16:10:39 +08:00
    @MSIAM 组策略里面是有对本地账户进行操作的相关策略,按照你们装系统时候的用户名,批量修改密码即可。
    至于你的想法,基本上无法实现,因为微软没做这样的……
    lzk800
        13
    lzk800  
       2022-12-13 16:13:15 +08:00
    @MSIAM 还有就是推荐使用微软的 admpwd 免费工具,实现对本地账户的定期更改密码。
    MSIAM
        14
    MSIAM  
    OP
       2022-12-13 16:20:50 +08:00
    @lzk800 这样实现应该也是可以的,刚刚我在测试服务器上尝试实现了一下,可以通过禁用指定用户名的形式来实现。
    结合了 @sgtpepper 这位老哥提供的位置,实现了通过 AD 对账户远程禁用。
    MSIAM
        15
    MSIAM  
    OP
       2022-12-13 16:27:09 +08:00
    @lzk800 但是这样的实现就有一个问题,我需要知道用户的电脑上有哪些本地账户。这就很麻烦了。
    geelaw
        16
    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
        17
    MSIAM  
    OP
       2022-12-13 16:33:27 +08:00
    @geelaw 多谢,这个问题我似乎也发现了。仔细想了一下我的目的应该只是仅允许用户通过受管理的 AD 域账户登陆计算机。结合各位的回复,我还想到了是否可以通过使用允许通过本地登陆的这个策略来进行白名单管理。仅存在于指定组中的用户才可以进行本地登录。
    min
        18
    min  
       2022-12-13 18:29:51 +08:00
    本地账户管理员不建,怎么会有?
    密码不给用户,怎么可能登得上来?
    passall
        19
    passall  
       2022-12-13 21:29:27 +08:00
    公司的实际情况是:本地管理员帐号还在(密码自动修改),用户使用没管理员权限的 AD 帐号登录电脑,硬盘进行 Bitlocker 防止管理员密码的破解。
    germain
        20
    germain  
       2022-12-13 22:24:54 +08:00 via iPhone
    LAPS
    MSIAM
        21
    MSIAM  
    OP
       2022-12-14 01:21:14 +08:00 via Android
    @min 某些用户的旧有电脑存在一些本地用户,在迁移的时候没有 ban 掉。
    yanqian
        22
    yanqian  
       2022-12-14 11:55:35 +08:00 via Android
    我的第一反应也是用户没有本地账号如何登入,看到后面了解了,问题的背景应该是原来没有怎么管理,现在想要转为只允许 AD 账号登入。所有类似问题都有一个默认要求,就是先要取消用户管理员权限,即讨论的环境中用户都是不知道本地管理员账号密码的,他的 AD 账号也都没有本地管理员权限,如果这一点无法满足,那么永远没有答案。

    假设管理员权限管控的问题已经解决,那么前面很多人已经回答了如何限制只允许 AD 账号登入的做法,比如 @cjpjxjx 说的通过本地安全性策略设置“允许本地登入”这项即可实现你要的效果,你可以移除默认的 users 组,换成 domain users 或类似的某个域用户组,确认其它组里面没有本地用户即可,如果前面已经做到 administrators 组里面没有本地用户,那应该就没什么问题了。
    MSIAM
        23
    MSIAM  
    OP
       2022-12-15 14:08:57 +08:00
    @yanqian
    多谢指教
    现在用户已经没有管理员权限了。
    但是还存在有用户旧有的本地账户。所以出现了此问题,
    我后续也思考了一下,@cjpjxjx 所提供的方法似乎是可行的。
    实际的方案应该是 设置启用 允许本地登入策略,并且 Menbers 里面设置 Domain Users 这个组。
    应该就可以实现了。AD 的用户组应该全部都是隶属于最起码的 Domain Users 这个组的。
    是我之前的想法太过于直接了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3041 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:56 · PVG 20:56 · LAX 04:56 · JFK 07:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.