gpt4 book ai didi

c - 使用 GP 扩展处理组策略

转载 作者:可可西里 更新时间:2023-11-01 12:52:33 24 4
gpt4 key购买 nike

我创建了一个实现 ProcessGroupPolicyEx 的组策略扩展。当我收到组策略时,我会成功收到通知。

但是,我不知道如何从 GPO 内部阅读政策。 example在通过 GPO 循环时停止:

 for( pCurGPO = pChangedGPOList; pCurGPO; pCurGPO = pCurGPO->pNext )
{
if( *pbAbort )
{
// Abort.
break;
}
// ...
}

这很好,但是我如何在 pCurGPO 中获取策略(实际设置)?我需要获取此 GPO 包含的设置或存储它们的注册表项。这是因为我创建了多个以我的扩展为目标的 ADMX 模板,所以我需要区分它们。

到目前为止,我已经找到了一些示例,但它们假设扩展程序事先知道将更改哪些注册表。但是,在我的例子中,我不希望扩展做出这种假设,我希望它检查更新的 GPO 并准确确定正在更改的内容。

如有任何指点,我们将不胜感激。

最佳答案

因此,在研究了 Chromium 代码之后(根据 amritanshu 评论),我找到了一种似乎可行的方法,但我还不明白可能存在哪些异常(exception)情况(如果有的话):

  1. 获取 pCurObj 的 lpFileSysPath 字段,这将是一个 UNC 路径。
  2. 将“\Registry.pol”附加到路径。
  3. 读取并解析生成的文件,这将是一个 PReg 文件。

PReg 文件记录在此处: https://msdn.microsoft.com/en-us/library/aa374407(v=vs.85).aspx

如果有人发现此方法有任何问题,或知道此算法有任何异常,请告诉我。

编辑:还发现这个博客写得更好,但解释相似:https://redsigil.weebly.com/home/group-policy-callbacks-the-missing-documentation

关于c - 使用 GP 扩展处理组策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44170048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com