【问题标题】:Programmatically Set Local Security Settings in Windows在 Windows 中以编程方式设置本地安全设置
【发布时间】:2014-05-20 16:05:32
【问题描述】:

你好 Stack Overflow 的好人,

我很难找到一种方法来做到这一点(或者即使有可能)。我正在尝试以编程方式设置(不仅仅是读取,我可以做得很好)Windows 7 上的本地安全设置。我不知道我是否正确地引用了这些设置,但基本上我想在“计算机配置”下进行更改\Windows 设置\安全设置\帐户策略。”

我尝试过/研究过的事情:

  • 使用 IGroupPolicyObject/registry 设置设置组策略...我可以为管理模板中的组策略执行此操作,但安全设置似乎与注册表没有任何关系。
  • 使用 ADSI 设置值...我找不到任何有关如何为整个计算机设置策略的示例 - 我只能找到一些示例,例如在 AD 中为特定用户设置密码过期等。
  • WMI——我找不到任何使用 WMI 实际设置安全策略的示例——我可以使用 RSOP_ 类很好地读取值,但这些值似乎是只读的。此外,我似乎无法真正弄清楚 WMI 到底能提供什么,因为似乎没有任何全面的文档。

有什么想法(或者更好的例子?)这让我发疯了——似乎有 30,000 种不同的可能方法可以做到这一点,但没有一个特别有用的记录,我觉得我淹没在字母表中汤。

谢谢!

【问题讨论】:

  • 也查看了 LSA API -- 似乎找不到任何用于设置此特定策略的函数。我发现受此影响的注册表项以及格式,但我真的不想那样设置它......太乱了。如果最坏的情况发生,我可以从我的程序中调用“net”,但感觉就像是失败了。以下是任何感兴趣的人的注册表项的链接:(beginningtoseethelight.org/ntsecurity/…)。

标签: windows com wmi group-policy adsi


【解决方案1】:

“帐户策略”下的大多数设置都可以使用NetUserModalsSetUSER_MODALS_INFO_0(密码策略)或USER_MODALS_INFO_3(帐户锁定策略)进行配置。

但是,我找不到任何方法来配置“密码必须满足复杂性要求”或“使用可逆加密存储密码”。

【讨论】:

    【解决方案2】:

    我一直在做的方式是使用 secedit.exe,它是 system32 的一部分,你可以这样做

    Secedit.exe /export /cfg c:\cfg.txt
    

    【讨论】:

      猜你喜欢
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2011-10-02
      相关资源
      最近更新 更多