![如何在 Windows 环境中模拟用户?](https://linux22.com/image/610401/%E5%A6%82%E4%BD%95%E5%9C%A8%20Windows%20%E7%8E%AF%E5%A2%83%E4%B8%AD%E6%A8%A1%E6%8B%9F%E7%94%A8%E6%88%B7%EF%BC%9F.png)
许多系统(例如 Linuxsu
或 Meditech emulate
)允许管理员动态模拟另一个用户。
我是 Windows 服务器/域环境的新手,管理员如何模拟另一个 (Active Directory) 用户?例如,我想以另一个用户(不是我的,通过模拟)身份登录 Windows XP 计算机/服务器(在域下)。假设我有管理权限。
我知道有“以...身份运行”这个选项,但这与您仍然需要密码不同。我只是想模拟环境,这样我就可以在没有用户在场的情况下重现用户问题。我知道有复制用户配置文件文件夹之类的方法,但并不能抓取所有内容(注册表等),而且有点儿像黑客的方法。
答案1
无法做到。即使可以,如果用户不在场向您展示他们到底在做什么,那么准确重现用户的问题也是非常不可能的。RunAs 是最接近的方法,但如果您想解决用户问题,我建议使用多步骤过程:
1) 保持工作站的配置与用户机器的配置相同,2) 使用本地非特权帐户登录。完成后,3) 尝试重现问题。这将帮助您将问题缩小到用户计算机、帐户或环境的问题。我知道我告诉你的事情你可能已经知道了,但我觉得我的第一段本身并不能给出完整的答案。
如果你想从机器上获取用户的个人资料,可以使用微软的 USMT 工具这里,用于将用户的文件和设置从一台机器传输到另一台机器。
答案2
在 Windows 下,最接近的做法是创建一个具有相同组成员身份的测试用户。如果您需要使用他们的配置文件调试某些内容,可接受的流程是通过远程协助或类似工具进行,这允许用户关注您正在做的事情。
这是关于审计线索的。Windows 帐户信息通常用于创建日志和审计线索,因此在使用 Active Directory 时,管理员以用户身份登录是完全不合适的。您希望管理员的姓名而不是用户姓名与所做的任何事情相关联,即使在调试问题时也是如此。
这样做的主要原因是为了保护用户免受管理员的侵害。当我向用户颁发帐户时,作为管理员,我仍然可以做很多事情,但有一件事我不能做,那就是将该用户的名字签署到某个东西上。我甚至可以接管用户的帐户;只是要做到这一点,我必须先更改他们的密码。
这是一件好事!它有助于保护最终用户免受流氓管理员的侵害。如果管理员接管用户帐户做坏事,该用户的名字仍会出现在任何日志中。但用户会知道,因为他们将不再有权访问该帐户。管理员永远不会知道用户密码,因此管理员将无法悄悄地将帐户恢复给用户。这让用户有机会记录投诉并针对管理员的行为进行辩护。
至少,这是个想法。实际上,如果我真的那么卑鄙,想要在某件东西上写上别人的名字,我可能会编写一个脚本来完成这件事,并将其作为登录脚本或类似的东西分配给用户。此外,我怀疑大多数管理员可以在用户知道发生了什么之前说服自己放弃密码重置案例……或者甚至将其留给 1 级帮助台技术人员。所以没有什么是完美的。但至少在后一种情况下,重置的记录也会存在于某个地方。
答案3
域管理员或类似的人员确实需要模拟用户,但您现在无法做到这一点。
例如,当管理员/技术人员可以提供帮助时,用户却不在场。如果管理员可以模拟用户(登录用户帐户而不更改密码)并修复任何问题,则没有任何迹象表明无法进行审计跟踪,这表明用户帐户已被任何管理员模拟。鉴于管理员基本上可以完全控制所有用户帐户,因此没有理由排除模拟作为解决方案。
和所有好工具一样,模拟也会被攻击者滥用,他们相信可以利用它来破坏 Windows。为了解决这个问题,也许可以通过组策略为选择使用模拟的系统管理员启用或禁用模拟。或者,也许可以将其加入到 AD 中的用户帐户中,这样就可以用复选标记来打开和关闭它,就像可以用上述方式启用或禁用帐户一样。
我已经向 Microsoft 发送了有关此潜在功能的反馈。我希望看到它得到实施。