首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 操作 Windows 本地群組策略:使用官方 API 而非直接修改登錄檔

     編輯:程式設計綜合問答

不建議直接操作登錄檔

  • 不同 Windows 版本登錄鍵值路徑、名稱可能不同。
  • 修改後需 gpupdate /force 或重啟才生效,時機不可控。
  • 繞過群組策略引擎的版本衝突檢測,可能導致系統不穩定。

官方 API:Group Policy Object (GPO) Interfaces

  • 命名空間:Microsoft.GroupPolicy(需參考 gpmgmt.dll)。
  • 核心介面:IGPM、IGPMDomain、IGPMGPO。
  • 範例:修改「自訂使用者介面」相關設定。
    
    GPM gpm = new GPM();
    IGPMDomain domain = gpm.GetDomain("mydomain", "", 0);
    IGPMGPO gpo = domain.GetGPO(gpoGuid);
    IGPMPolicy policy = gpo.GetPolicy(false); // false = 機器策略
    // 透過 Registry.pol 修改特定鍵值...
    gpo.Save(true, true, null, "修改說明");
    

替代方案

若僅需部署固定設定,建議使用 PowerShell DSC、GPO 範本 或 Intune/MDM 統一下發,避免在應用程式中硬編碼策略操作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved