如何在OU中保持本地管理员密码一致?


8

我们已经在生产中使用了许多运行XP SP2的PC(以及几台运行SP1的PC),并且我们希望在整个OU中保持本地管理员的密码一致。我能想到的唯一解决方案是使用pspassword更改其所有密码,或者让包含该密码的脚本在PC上本地运行。

不幸的是,pspasswd不能在不在线的计算机上运行,​​并且包含密码的本地脚本是不安全的。

还有其他可行的解决方案吗?更改密码时,我如何处理未在线的计算机?

Answers:


5

尽管没有可以执行此操作的组策略设置,但是可以使用组策略首选项设置。此处的更多信息:http : //blogs.technet.com/askds/archive/2007/11/28/introducing-group-policy-preferences.aspx

编辑:另一个选择是使用Steve Riley和Jesper Johannson(均来自微软)为他们的书“保护Windows网络”编写的Passgen实用程序。实际上,它为域中的每台计算机都设置了唯一的本地管理员密码(这更加安全...如果它们都相同,则一台计算机的危害就是域中所有计算机的危害)。根据说明:

在这本书中,我们建议您为企业中的每个本地管理员和服务帐户维护单独的密码。当然,如果没有一些自动化的解决方案,这几乎是不可能的。那就是Passgen所做的。该工具会根据已知输入(您定义的标识符和密码)生成唯一密码,并远程设置这些密码,并允许您以后检索它们。

Passgen是免费的,您可以在这里获得它:http : //blogs.technet.com/steriley/archive/2008/09/29/passgen-tool-from-my-book.aspx


看着这个,不确定它是否可行,因为我们还有几台使用SP1的计算机,我们必须进行GPP的全域部署才能使其正常工作。
乔丹·米尔恩

不推荐使用blogs.technet.com/b/grouppolicy/archive/2009/04/22/…上的MS文章,建议将GPP用于敏感密码。“因为密码存储在SYSVOL中,所以所有经过身份验证的用户都具有对该密码的读取权限。此外,如果用户具有必要的权限,则传输中的客户端可以读取该密码。”
bshacklett 2011年

3

我不确定您在这里要寻找的是什么,因为部署本地帐户密码更改解决方案将很困难,该解决方案将“某种程度上”适用于联机和脱机计算机帐户。该过程将是实际的脚本还是GP,以便他们在线时可以在某个时候更改密码。如果要在特定时间范围内一次性部署此功能,则必须手动执行脱机计算机。

我确定您可能已经阅读了此书,但是以下是与您的问题相关的先前问题中建议的一些解决方案:https : //serverfault.com/questions/23490/is-there-a-group-policy-that将一个新的用户名和密码推送到所有本地


我真正反对的唯一一种脚本是包含密码本身而不是所有脚本的脚本。
乔丹·米尔恩

1
如果密码不在脚本中,您将如何让机器设置密码?明文必须在某个时间存在。例如,“ Passgen”仅使用明文密码短语和计算机名称作为盐。只是将“信任”移入密码短语,而不是密码。为了使用该工具,您仍然必须在脚本中包含该密码短语。您必须在某个地方拥有信任。我认为,删除带有“授权用户”权限并标记为“域计算机/读取”的脚本,该脚本允许在客户端计算机上运行,​​然后删除,这是相当安全的。
埃文·安德森

2

我们使用Powershell脚本Set-LocalPassword.ps1推出本地密码,并使用Get-OUComputerNames.ps1获取服务器列表。

快速,简单,密码不必四处寻找。

Get-OUComputernames "OU=TheOU,DC=TheDomain" | Set-LocalPassword "TheAccount" "TheNewPassword"

但是,此解决方案不能解决关闭机器时的情况。尽管列出无法ping通的计算机并稍后对其进行处理很简单。


1

我们通过组策略来做到这一点。

我不知道有关如何创建GPO的细节,但在以下部分中:

 Computer Configuration
  / Windows Settings
   / Security Settings
    / Local Policies/Security Options
     / Accounts 

有一些设置允许禁用来宾帐户和重命名本地管理员帐户。


编辑:我误会有关更改本地密码。


至少在Windows Server 2008之前,更改本地管理员密码会更加复杂。此解决方案可在Server 2003上使用,并且由于它以纯文本格式发送新密码,因此有点麻烦。如果您对此感到担心,则可以使用其他替代方法进行加密,但需要其他软件。除非需要进行更改,否则我们将其禁用以解决该问题。

1-用命令“ NET USER Administrator%1”编写一个1行批处理文件..-如果重命名帐户,请使用新名称。

2-在下一节中将批处理文件设置为使用GPO登录运行

 Computer Configuration
  / Windows Settings
   / Scripts
    / Startup

3-在GPO条目中,按按钮显示文件,然后将批处理文件复制到打开的位置。然后将批处理文件(包括.bat)作为脚本名称,并将新密码作为参数。

插图


我看到一个用于重命名管理员帐户,但未更改密码的帐户。
乔丹·米尔恩

1
准备受到使用带有明文密码的脚本的提及的打击... 微笑
Evan Anderson,2009年

1
您在SYSVOL上启用了压缩功能吗?......
Evan Anderson

0

我将向您指出我的答案:是否有一个组策略可以将新的用户名和密码推送到网络上的所有本地计算机?

您可以部署这样的脚本,并将其权限设置为仅允许“域计算机”读取脚本(或者,如果需要的话,可以使用限制性更强的组),并按照我描述的方式设置“陷门”组,这样您就可以知道何时计算机已经处理了脚本,因此可以将其删除。该脚本将在主题计算机上本地执行,但只能由计算机的安全上下文访问。(但是,如果用户的计算机上具有“管理员”,那么这将是一个问题。但是,如果用户具有“管理员”,则比未设置本地“管理员”密码的问题要大。大概,用户已经具有设置方法以确保他们在更改本地管理员密码后能够重新获得“管理员”权限……我会的!


在完全不同的方面,您可以做一些疯狂的事情,例如服务器端脚本:

  • 轮询AD安全组以获取成员计算机名称
  • 尝试对列表中的每台计算机执行PING /“ NET USE” /等等操作,以确定它们是否“在线”
  • 如果确定它是“在线”,则对远程计算机执行“ PSPASSWD”
  • 从安全组中删除所有成功完成密码重置的计算机
  • 睡眠一段时间,如果组还没有空,请重复一次

这样可以使脚本在服务器上执行。


0

我只是使用简单的批处理文件更改密码,然后使用AutoHotKey或AutoIT脚本将该文件转换为exe或其他内容。然后配置此脚本以作为计算机启动脚本运行。为了阻止人们进行监视,我将使用仅授予“域计算机”读取权限而不是“授权用户”的技巧。


0

正如肖恩·厄普(Sean Earp)所说,您希望每个密码都有一个唯一的本地管理员密码,并定期更改。

我更喜欢的另一种方式(至少在理论上是这样)是简单地完全删除本地管理员帐户,然后依靠域帐户进行管理。


操作系统中没有删除RID 500管理员帐户的任何功能。您可以通过在SAM中随意摆弄来做到这一点,但此时您已经远远超出了“不受支持”的范围。无论如何,当机器的工作站信任关系得到建立时,会发生什么?
埃文·安德森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.