我们经常需要在用户不在场时调整、测试或修复某些软件。
例如,今天我们中的一个人在用户的计算机上设置了一个新邮件帐户,但该用户正在度假。这就需要我们冒充该用户。
当用户不在时使用计算机对我们和他们来说都是一件非常愉快的事情。但这通常需要我们询问他们的 Windows 帐户密码,或者我们在使用之前更改密码,然后用户回来时必须将其改回,但这需要他了解发生了什么。
有没有(快速)保存然后恢复 Active Directory 密码的方法?
1 - 我们保存密码
2 - 我们将密码更改为 TECHPASS123
3 - 我们在计算机上工作,并测试用户帐户是否一切正常
4 - 我们恢复原始密码
答案1
对于本地计算机,您只需将c:\windows\system32\config\sam
文件复制到临时文件即可。完成后,只需复制回来即可。
但是,在 Windows 运行时您无法执行此操作。因此,您必须使用 Linux CD 或从 Windows CD 启动并打开命令行。
对于第一部分,您可以使用 runas 系统帐户或影子副本在线完成。所以这是一个简单的步骤。
最后一部分必须离线完成。如果有人找到如何在线完成,我会很高兴知道怎么做。
请注意,如果您检查密码重复使用,则可能会遇到问题。
问题是:这不适用于活动目录,因为您不想在中午重新启动服务器。如果您有多个域控制器,这根本不起作用。
有些软件可以即时完成此操作。我用过一个忘记名字的软件(它的名字里有“迁移”),但对于这种用途来说,它有点过头了。我不知道它是否还存在,也不知道它是否适用于 7 或 2008。也许有更轻量的软件,但我不知道。
答案2
这是一个坏主意,原因如下:
它绕过了审计线索
当你更改用户的密码以冒充他们,然后再改回来时。你这样做会留下痕迹。这让你可以否认,并且如果该用户的帐户发生任何事情,可以保护你。允许绕过这条线索将是一个非常糟糕的政策。
想象一下,一名员工因涉及儿童色情内容而被解雇。如果您有随意交换此哈希值的政策,则几乎没有办法证明是该员工而不是您这样做的。如果您要重置密码,则会有一个清晰的日志条目,可以隔离您以该用户身份登录的时间。
这是非常困难的
虽然理论上可以做到,但你必须修改一大堆东西,这会让你的 Active Directory 处于不受支持的状态。这显然不是一件好事。或者你可以将密码存储在可逆加密中,但这样做真的很糟糕。
它减少了你和用户之间的沟通
善于支持用户的一部分就是与他们沟通。当绝对需要模拟时,您必须设置并重置他们的密码,因此您必须联系该用户并解释发生了什么以及原因。这比仅仅在某天早上登录后发现情况不同,更能给人一种信任感。