Articles of 组策略

如何以编程方式获取强制密码历史logging组策略设置?

我如何以编程方式获取强制密码历史logging组策略设置? 研究努力 您可以在以下位置find组策略选项: **计算机configuration\ Windows设置\安全设置\帐户策略\密码策略** 强制密码历史logging 此安全设置确定在重新使用旧密码之前必须与用户帐户关联的唯一新密码的数量。 该值必须介于0到24之间的密码。 此策略使pipe理员可以通过确保旧密码不被重复使用来增强安全性。 像所有组策略选项一样,它存储在registry中。 不幸的是它存储在一个无证的registry位置: HKEY_LOCAL_MACHINE \ SAM \ SAM \域\帐户\˚F 在未公开的二进制blob格式 。 有一个WMI类RSOP_SecuritySettingBoolean ,但没有任何上下文,这只是一个名字挂在那里 – 我不知道如何通过COM /本地通读。 NetValidatePasswordPolicy Windows确实提供了一个NetValidatePasswordPolicy API ,允许它validation你的密码,例如: 太多糟糕的尝试 帐户locking locking自动重置 最小密码年龄 最大密码年龄 密码重用 并且会根据计算机上的组策略执行所有这些操作。 除了密码历史,这一切都很好。 该function要求您传递密码哈希列表,例如: $2a$14$mACnM5lzNigHMaf7O1py1OLCBgGL4tYUF0N/4rS9CwDsI7ytwL4D6 $2a$14$mACnM5lzNigHMaf7O1py1O3vlf6.BA8k8x3IoJ.Tq3IB/2e7g61Km $2a$12$.TtQJ4Jr6isd4Hp.mVfZeuh6Gws4rOQ/vdBczhDx.19NFK0Y84Dle $2a$12$Ro0CUfOqk6cXEKf3dyaM7OhSCvnwM9s4wIX9JeLapehKK5YdLxKcm 以及新的候选密码的散列,例如: $2a$10$1JsBs47iuMNsV166PKV.u.56hlT5/tRe9V5t5FIdfA0axpDSQuNN 这将导致NetValidatePasswordPolicy检查您的当前哈希是否与任何现有的哈希匹配。 不幸的是,使用弱密码algorithm( 例如Windows使用的PBKDF2 )时,检查以前密码哈希值的整个概念才起作用。 因为我使用现代的, 昂贵的 , 腌制的密码散列algorithm(BCrypt / SCrypt),哈希不能确定性地从密码生成 – 我不能简单地检查旧列表。 […]

从命令行(CMD)编辑Windows组策略

我想添加一些组策略,我需要通过batch file添加如何编辑窗口组策略从Windows命令行?

在Windows关机执行批处理脚本

有没有什么办法可以在Windows 7 Professional中运行一个批处理脚本(例如,.BAT文件),当用户点击“关机”(不是一个batch file计划closures机器,只有一个只有用户点击“关机”)? 理想情况下,这样的脚本将显示命令提示符窗口,并提供取消closures过程的选项。 不需要第三方实用程序的解决scheme将是可取的。

如何用C ++编程式更新组策略?

我以编程方式pipe理组策略,但是我无法find任何以编程方式更新组策略的function。 即gpupdate / force

如何使应用程序GPO知道?

我在Delphi 2010中编写了一个应用程序,我想提供给pipe理员通过组策略来configuration它的选项。 任何build议,让我的应用程序GPO的好方法? 请注意,我只想创build一个基于计算机的GPO,而不是用户。 我目前的解决scheme只涉及到首先确定是否有任何值已写入registry在HKLM \ software \ policies \ MyProgram 。 如果他们有,我假定GPO已经被应用,我使用这个位置来读取configuration。 如果在上面的registry位置上没有任何东西存在,我继续阅读标准位置的configuration,无论是INI文件还是其他registry项都无关紧要。 此时,我在程序中假定组策略没有被使用。 有人会提出一个更好的方法来使这个应用GPO意识到吗?