为什么不';t组策略设置S已更改

本文关键字:设置 策略 为什么不 | 更新日期: 2023-09-27 18:00:33

我正在尝试使用C#通过组策略设置更改一些窗口设置
我的应用程序成功地在组策略对象部分创建了子密钥,但有时它们不起作用
例如,我试图使用组策略禁用桌面,我采取以下步骤:

  1. 我运行Process monitor并将其配置为显示与mmc.exe相关的注册表更改
  2. 然后运行gpedit.msc,导航到所需的选项并进行更改
  3. 我复制Process monitor中显示的注册表更改并使用它在我的应用程序中,如下所示:

    mmc.exe  RegSetValue HKCU'Software'Microsoft'Windows'CurrentVersion'Group Policy Objects'{FD0F8A58-1909-410F-8860-4CFF7766FA89}User'Software'Microsoft'Windows'CurrentVersion'Policies'Explorer'NoDesktop        SUCCESS  Type: REG_DWORD, Length: 4, Data: 1
    

并像这样使用:

string regPath = @"Software'Microsoft'Windows'CurrentVersion'Policies'Explorer";
string option = "NoDesktop";
SetGroupPolicySetting(regPath, option, 1);

SetGroupPolicySetting使用一个dll,该dll可以从这里下载,并且如下所示:

private void SetGroupPolicySetting(string registryKeyPath,
                                    string option,
                                    int value ,
                                    GroupPolicySection groupPolicySection = GroupPolicySection.User)
{
    var gpo = new ComputerGroupPolicyObject();
    RegistryKey registryKey = gpo.GetRootRegistryKey(groupPolicySection);
    registryKey.CreateSubKey(registryKeyPath).SetValue(option, value , RegistryValueKind.DWord);
    gpo.Save();
}

之后,创建了两个子密钥,它们是:

HKEY_CURRENT_USER'Software'Microsoft'Windows'CurrentVersion'Group Policy Objects'{27D2FEFF-E5C6-4D8B-B657-0D1E1F2E4BAE}Machine

HKEY_CURRENT_USER'Software'Microsoft'Windows'CurrentVersion'Group Policy Objects'{27D2FEFF-E5C6-4D8B-B657-0D1E1F2E4BAE}User

最后,Explorer部分的NoDesktop选项在这个地址中创建:

HKEY_CURRENT_USER'Software'Microsoft'Windows'CurrentVersion'Group Policy Objects'{27D2FEFF-E5C6-4D8B-B657-0D1E1F2E4BAE}User'Software'Microsoft'Windows'CurrentVersion'Policies'Explorer

尽管仍然不起作用!怎么了?它把我逼疯了!

为什么不';t组策略设置S已更改

单独设置GPO不会使其处于活动状态。GPO通常在启动时或经过一段时间后重新申请。您可能可以运行类似gpupdate /force(作为管理员)的程序来强制重新应用GPO。