War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
GetAccessControl-Methode
Collapse the table of content
Expand the table of content
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

DirectoryInfo.GetAccessControl-Methode

Ruft ein DirectorySecurity-Objekt ab, das die Einträge in der Zugriffssteuerungsliste für das Verzeichnis kapselt, das vom aktuellen DirectoryInfo-Objekt beschrieben wird.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)

public DirectorySecurity GetAccessControl()

Rückgabewert

Typ: System.Security.AccessControl.DirectorySecurity
Ein DirectorySecurity-Objekt, das die Zugriffssteuerungsregeln für das Verzeichnis kapselt.

AusnahmeBedingung
SystemException

Das Verzeichnis wurde nicht gefunden und konnte nicht geändert werden.

UnauthorizedAccessException

Der aktuelle Prozess hat keinen Zugriff zum Öffnen des Verzeichnisses.

IOException

E/A-Fehler beim Öffnen des Verzeichnisses.

PlatformNotSupportedException

Das aktuelle Betriebssystem ist nicht Microsoft Windows 2000 oder höher.

UnauthorizedAccessException

Das Verzeichnis ist schreibgeschützt.

- oder -

Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.

- oder -

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Das Aufrufen dieser Methodenüberladung entspricht dem Aufrufen der GetAccessControl-Methodenüberladung und dem Angeben der Zugriffssteuerungsabschnitte AccessControlSections.Access, | AccessControlSections.Owner | AccessControlSections.Group (AccessControlSections.AccessOrAccessControlSections.OwnerOrAccessControlSections.Group in Visual Basic).

Rufen Sie mit der GetAccessControl-Methode die Einträge in der Zugriffssteuerungsliste für die aktuelle Datei ab.

In einer Zugriffssteuerungsliste werden einzelne Benutzer und/oder Gruppen beschrieben, die über bestimmte Rechte für bestimmte Aktionen für die angegebene Datei oder das angegebene Verzeichnis verfügen. Weitere Informationen finden Sie unter Übersicht über die ACL-Technologie und Gewusst wie: Hinzufügen oder Entfernen von Zugriffssteuerungslisten-Einträgen.

Im folgenden Beispiel werden die GetAccessControl-Methode und die SetAccessControl-Methode verwendet, um einem Verzeichnis einen Eintrag in der Zugriffssteuerungsliste hinzuzufügen und diesen dann wieder aus dem Verzeichnis zu entfernen.


using System;
using System.IO;
using System.Security.AccessControl;

namespace FileSystemExample
{
    class DirectoryExample
    {
        public static void Main()
        {
            try
            {
                string DirectoryName = "TestDirectory";

                Console.WriteLine("Adding access control entry for " + DirectoryName);

                // Add the access control entry to the directory.
                AddDirectorySecurity(DirectoryName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Removing access control entry from " + DirectoryName);

                // Remove the access control entry from the directory.
                RemoveDirectorySecurity(DirectoryName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Done.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            Console.ReadLine();
        }

        // Adds an ACL entry on the specified directory for the specified account.
        public static void AddDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)
        {
            // Create a new DirectoryInfo object.
            DirectoryInfo dInfo = new DirectoryInfo(FileName);

            // Get a DirectorySecurity object that represents the 
            // current security settings.
            DirectorySecurity dSecurity = dInfo.GetAccessControl();

            // Add the FileSystemAccessRule to the security settings. 
            dSecurity.AddAccessRule(new FileSystemAccessRule(Account,
                                                            Rights,
                                                            ControlType));

            // Set the new access settings.
            dInfo.SetAccessControl(dSecurity);

        }

        // Removes an ACL entry on the specified directory for the specified account.
        public static void RemoveDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)
        {
            // Create a new DirectoryInfo object.
            DirectoryInfo dInfo = new DirectoryInfo(FileName);

            // Get a DirectorySecurity object that represents the 
            // current security settings.
            DirectorySecurity dSecurity = dInfo.GetAccessControl();

            // Add the FileSystemAccessRule to the security settings. 
            dSecurity.RemoveAccessRule(new FileSystemAccessRule(Account,
                                                            Rights,
                                                            ControlType));

            // Set the new access settings.
            dInfo.SetAccessControl(dSecurity);

        }
    }
}



.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft