2016-09-29 2 views
1

Я попытался получить информацию о доступе к папке «текущий пользователь». Но этот код всегда возвращает «метод с ошибкой с непредвиденным кодом ошибки 3, InvailedOperationException».DirectoryInfo.GetAccessControl метод всегда сбой

Вот мой код

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

Какова ценность 'CurrentUserName'? На моей машине это форма 'DOMAIN \ username', которая дает папку, которая не существует. – Blorgbeard

+0

Вам все равно использовать' Environment.GetFolderPath (Environment.SpecialFolder.UserProfile) ', так или иначе. – Blorgbeard

+0

Спасибо за комментарий. Я думал, что «CurrentUserName» должен получить только имя пользователя, а не домен \ имя пользователя. –

ответ

2

Спасибо Blorgbeard. Вот альтернативный код, что вы сказали. Он отлично работает.

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

var Info = new DirectoryInfo(CurrentUserName); 

var Security = Info.GetAccessControl(); 
Смежные вопросы