c# - 让我的应用程序由 GPO 控制

标签 c# .net group-policy gpo

我正在开发一个 Windows 应用程序。我希望我的应用程序可以通过自己定义的 GPO 进行配置,这样系统管理员就可以为每个组和用户单独管理我的应用程序行为。 我做了一些研究,但我就是找不到合适的解决方案。

如果我创建一些自定义策略,它们如何进入服务器? 我认为政策应该包括“更改注册表项”。之后,我的应用程序使用本地计算机上的这些条目进行 self 配置。

例如,我的应用程序有一个存储数据的文件夹。假设它默认为“C:\data”。此路径存储在特定的注册表项中。通过定义组策略,管理员可以更改此路径。所以管理员在服务器端设置路径为“C:\subfolder\data”。我的本地应用程序现在应该使用此文件夹来存储数据。

我不知道如何解决这个问题。有没有办法将组策略放到服务器/域 Controller 上? 我想稍后发布我的应用程序,所以我绝对更喜欢使用安装程序包之类的解决方案。

最佳答案

"I think the policies should consist of "changing registry entries". After that, my application uses these entries on the local machine to configure itself."

是的,这是最好的方法。在 HKLM\Software\YourAppNameHereHKCU\Software\YourAppNameHere 下创建注册表配置(取决于您是想要按用户配置还是按机器配置)。

您的应用程序应该只读取注册表项,而不用担心组策略。

然后您可以创建可安装在域 Controller 上的 ADM 或 ADMX 文件,或者简单地记录注册表项并让管理员创建他们自己的组策略或以其他方式部署注册表项。

编辑:在这篇 Microsoft 知识库文章中可以找到创建仅部署注册表项的 ADM 或 ADMX 文件的一个很好的示例:

关于c# - 让我的应用程序由 GPO 控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8804970/

相关文章:

c# - 在立即窗口中查看 log4net 的调试消息

java - 如何通过组策略将证书导入 Java keystore

Windows PowerShell 导入模块

powershell - 如何通过 Windows PowerShell 的组策略 cmdlet 获取/设置/更新注册表值?

c# - Entity Framework 代码优先 CTP5 : How to define non primitive types

c# - 如何知道重定向 URL

c# - 清除函数中的 CheckBox 列表

.net - Visual C++ 应用程序作为 MS Access 数据库的前端 - 多用户数据访问和类似 Canvas 的 GUI 问题

.net - 为什么这个语义上等效的(据我所知)vbscript 代码失败

.net - 以Func体参数唯一标识匿名方法