Wie die Ordner-Berechtigung
Wie kann ich die erstellen/Bearbeiten/hinzufügen-Ordner die Berechtigung auf bestimmte Ordner? Dort gibt es einen Ordner namens "test" in den lokalen Datenträger C: Wie ändere ich die Berechtigung auf den Ordner mit C#?
Ich schrieb einige code:
public void getusers()
{
SelectQuery squery = new SelectQuery("Win32_UserAccount", "Domain='" + System.Environment.UserDomainName.ToString() + "'");
try
{
ManagementObjectSearcher msearchar = new ManagementObjectSearcher(squery);
foreach (ManagementObject mobject in msearchar.Get())
{
comboBox1.Items.Add(mobject["Name"]);
}
}
catch (Exception e) { MessageBox.Show(e.ToString()); }
}
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();
textBox1.Text = fbd.SelectedPath.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
DirectoryInfo myDirectoryInfo = new DirectoryInfo(textBox1.Text);
DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl();
string User = System.Environment.UserDomainName + "\\" + comboBox1.SelectedItem.ToString();
myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(User, FileSystemRights.FullControl, InheritanceFlags.ContainerInherit, PropagationFlags.None, AccessControlType.Allow));
//myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(User, FileSystemRights.Write, InheritanceFlags.ContainerInherit, PropagationFlags.None, AccessControlType.Allow));
myDirectoryInfo.SetAccessControl(myDirectorySecurity);
MessageBox.Show("Permissions Altered Successfully" + User);
}
Dieser code bereits erfolgreich fügt den Benutzer auf die Ordner, aber die permissionIi eingestellt, der Ordner wird nicht vererbt an alle. Hab ich was verpasst? Oder könnte jemand mich leiten, wie die Erben die Berechtigung, die Ordner?
Bitte nicht das Präfix Titel mit "C#" und so. Das ist es, was die tags werden für.
InformationsquelleAutor user1201145 | 2012-02-10
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn durch vererbte Sie bedeuten, dass alle untergeordneten Objekte erhalten die gleichen Berechtigungen, die Sie benötigen, um Ihr PropagationFlags zu InheritOnly. Weiter, wenn Sie möchten, dass Ihre Dateien auch die Berechtigung des Regelsatzes, ändern Sie Ihre InheritanceFlags zu ObjectInherit. versuchen Sie es mit dieser Linie weiter unten.
InformationsquelleAutor Brendan
Sieht es bei mir aus, wie Sie sind, nur fehlt dieses flag, das Sie sich mit dem bitweisen operator in Ihrer parameter-Liste:
InheritanceFlags.ObjectInherit
Gibt es mehr details, darunter ein link zu einer Google-Tabelle mit einer matrix von Berechtigungen und Einstellungen in diesem thread:
Einstellung Vererbung und Vermehrung Fahnen mit set-acl und powershell
Hoffe, das hilft...
InformationsquelleAutor Shannon Wagner