为什么不';t组策略设置S已更改
本文关键字:设置 策略 为什么不 | 更新日期: 2023-09-27 18:00:33
我正在尝试使用C#通过组策略设置更改一些窗口设置
我的应用程序成功地在组策略对象部分创建了子密钥,但有时它们不起作用
例如,我试图使用组策略禁用桌面,我采取以下步骤:
- 我运行
Process monitor
并将其配置为显示与mmc.exe相关的注册表更改 - 然后运行gpedit.msc,导航到所需的选项并进行更改
-
我复制
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
尽管仍然不起作用!怎么了?它把我逼疯了!
单独设置GPO不会使其处于活动状态。GPO通常在启动时或经过一段时间后重新申请。您可能可以运行类似gpupdate /force
(作为管理员)的程序来强制重新应用GPO。