Registry User Rechte Serten

19/11/2009 - 13:02 von Bernhard Schneider | Report spam
Hallo Ng,

Ich versuche mit folgendem Code benutzerechte auf eine Registry Schlüßel zu
setzen nur mein code wir dohne fehlermeldung ausgefürth und die Registry
rechte werden nicht veràndert

using System;
using Microsoft.Win32;
using System.Security.Permissions;
using System.Security.AccessControl;
using System.Security.Principal;

class Class1
{
static void Main(string[] args)
{
RegistryKey reg = Registry.LocalMachine;
reg.OpenSubKey("SOFTWARE\\Microsoft\\MSDTC",true);
SetRegistryPermission(reg, "NETZWERKDIENST");

Console.ReadKey();
}
private static bool SetRegistryPermission(RegistryKey regKeyRoot, string
usersAcName)
{
try
{
RegistrySecurity regSec =
regKeyRoot.GetAccessControl(AccessControlSections.All);
AuthorizationRuleCollection coll = regSec.GetAccessRules(true,
true, typeof(NTAccount));

foreach (RegistryAccessRule rRule in coll)
{
if (rRule.IdentityReference.Value.Contains(usersAcName))
{
regSec.RemoveAccessRule(rRule);
regKeyRoot.SetAccessControl(regSec);
break;
}
}

RegistryAccessRule usersRule = new RegistryAccessRule(usersAcName,
RegistryRights.FullControl, AccessControlType.Allow);
regSec.AddAccessRule(usersRule);
regKeyRoot.SetAccessControl(regSec);
return true;
}
catch
{
return false;
}


}


}
 

Lesen sie die antworten

#1 Konrad Neitzel
20/11/2009 - 17:08 | Warnen spam
Hallo Bernhard,

das keine Fehlermeldung kommt, kann ich verstehen, denn Du packst alles
in ein try/catch und im catch machst Du lediglich ein "return false".
Den Returncode ignorierst Du aber auch gleich komplett

Schau doch einmal, ob und wenn ja, was für eine Exception auftritt. Das
macht es uns gleich deutlich leichter zu helfen da wir dann icht alles
selbst erst einmal auszuprobieren müssen.

Könntest Du einfach einmal schauen, ob und wenn, welche Exception kommt
und dann erneut fragen? Beim drüberschauen ist mir jetzt auf Anhieb erst
einmal nichts aufgefallen.

Vielen Dank.

Konrad

Ähnliche fragen