我似乎在更改远程计算机上的注册表项时遇到问题。 此命令用于启用UAT框出现在主计算机上而不是新手计算机和远程那个愚蠢的暂停符号
public void SecureDesktopEnable(Object ComputerName)
{
String CurrentUser = Environment.UserDomainName + "\\" + Environment.UserName;
System.Security.AccessControl.RegistrySecurity RegSec = new System.Security.AccessControl.RegistrySecurity();
RegSec.AddAccessRule(new System.Security.AccessControl.RegistryAccessRule(
Environment.UserDomainName + "\\" + Environment.UserName,
System.Security.AccessControl.RegistryRights.WriteKey
| System.Security.AccessControl.RegistryRights.ReadKey
| System.Security.AccessControl.RegistryRights.SetValue,
System.Security.AccessControl.InheritanceFlags.None,
System.Security.AccessControl.PropagationFlags.None,
System.Security.AccessControl.AccessControlType.Allow));
RegistryKey RegistryEntry = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, ComputerName.ToString(),RegistryView.Registry64)
.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", true);
RegistryEntry.SetAccessControl(RegSec);
if ((bool)SecureDesktop)
{
RegistryEntry.SetValue("PromptOnSecureDesktop", 1, RegistryValueKind.DWord);
}
else
{
RegistryEntry.SetValue("PromptOnSecureDesktop", 0, RegistryValueKind.DWord);
}
}
private bool _SecureDesktop;
public bool SecureDesktop { get { return _SecureDesktop; } set { _SecureDesktop = value; NotifyPropertyChanged("SecureDesktop"); } }
我到了这一点
.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", true);
我收到错误消息"不允许请求注册表访问。
使用相同的用户名和密码我可以打开regedit,连接到网络注册表并更改密钥。
我还添加了
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
并尝试了
<requestedExecutionLevel level="requireAdministrator" uiAccess="true" />
有人可以帮忙吗。