2016-09-29 2 views
1

J'ai essayé d'obtenir des informations d'accès au dossier 'utilisateur actuel'. Mais ce code retourne toujours "la méthode a échoué avec le code d'erreur inattendu 3, InvailedOperationException".La méthode DirectoryInfo.GetAccessControl échoue toujours

Voici mon code

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

Quelle est la valeur de CurrentUserName? Sur ma machine, c'est de la forme 'DOMAIN \ username', qui donne un dossier qui n'existe pas .. – Blorgbeard

+0

Il vaut mieux utiliser' Environment.GetFolderPath (Environment.SpecialFolder.UserProfile) ', de toute façon. – Blorgbeard

+0

Merci pour le commentaire. Je pensais que 'CurrentUserName' devrait obtenir le nom d'utilisateur seulement, pas pour Domain \ username. –

Répondre

2

Merci Blorgbeard. Voici le code alternatif que vous avez dit. Cela fonctionne parfaitement.

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

var Info = new DirectoryInfo(CurrentUserName); 

var Security = Info.GetAccessControl();