7

我正在用 Delphi 2010 编写一个应用程序,我想向管理员提供通过组策略配置它的选项。关于让我的应用程序 GPO 感知的好方法有什么建议吗?注意,我只是想创建一个基于计算机的 GPO,而不是用户。

我目前的解决方案只是首先确定是否有任何值已写入HKLM\software\policies\MyProgram的注册表。如果有,我假设已应用 GPO,并使用此位置读取配置。

如果上述注册表位置不存在任何内容,我将继续在标准位置读取配置,无论是 INI 文件还是其他 reg 键都无关紧要。在这一点上,我在程序中假设没有使用组策略。

有人会建议一种更好的方法来让这个应用程序 GPO 知道吗?

4

1 回答 1

5

这并不是说您必须了解组策略,而是组策略必须了解您的程序使用的注册表项。

自定义组策略模板的目的是拥有一个用户界面,用于管理特定程序使用的自定义注册表项集。域管理员将策略设置为所需的值,并将策略推送到域中的计算机。

在您的情况下,自定义策略模板将定义您的程序使用的相应 HKLM 注册表项。您现在可以相信存储在以下位置的值:

HKLM\Software\MickSoftware\My Program 2010

是管理员所希望的。


注意:以下“策略”注册表位置是非持久性的:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies
HKEY_CURRENT_USER\SOFTWARE\Policies
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies

“这意味着当您注销计算机或关闭计算机时,策略设置将被删除。”

因此,在我看来,您希望将注册表值存储在通常存储它们的位置,例如:

HKLM\Software\Avatar Software Creations\HelpDesk\DatabaseServer
    ServerName: REG_SZ = "lithium"
    UserID: REG_SZ = "helpdesk"
    Password: REG_SZ = "aSBsb3ZlIHlvdSBLaXJzdGVuIFNoZWxieSBHdXllcg=="
于 2010-12-07T17:02:35.923 回答