2016-09-29 4 views
1

Ich habe versucht, Zugriffsinformationen des Ordners 'aktueller Benutzer' zu erhalten. Aber dieser Code gibt immer "Methode fehlgeschlagen mit unerwartetem Fehlercode 3, InvailedOperationException" zurück.Die Methode DirectoryInfo.GetAccessControl schlägt immer fehl

Hier ist mein Code

string CurrentUserName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; 
var Info = new DirectoryInfo("C:\\users\\"+ CurrentUserName); 
var Security = Info.GetAccessControl(); 
+0

Was ist der Wert von 'CurrentUserName'? Auf meinem Rechner hat es die Form 'DOMAIN \ username', was einen Ordner gibt, der nicht existiert. – Blorgbeard

+0

Es ist sowieso besser,' Environment.GetFolderPath (Environment.SpecialFolder.UserProfile) '' zu verwenden. – Blorgbeard

+0

Danke für den Kommentar. Ich dachte, 'CurrentUserName' sollte nur Benutzernamen erhalten, nicht für Domain \ Benutzername. –

Antwort

2

Sie Blorgbeard danken. Hier ist der alternative Code, den du gesagt hast. Es funktioniert perfekt.

string CurrentUserName = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); 

var Info = new DirectoryInfo(CurrentUserName); 

var Security = Info.GetAccessControl(); 
Verwandte Themen