Эта проблема возникает только для одного пользователя при попытке создать каталог;код работает для всех пользователей системы, кроме одного.
Каждый пользователь приложения имеет стандартную учетную запись AD и учетную запись с повышенными разрешениями - приложение олицетворяет свою учетную запись с повышенными разрешениями при создании каталога.
Развернутая версия кода будет выглядеть так:
using (Impersonation.LogonUser(domain, elevatedAccountUsername, elevatedAccountPassword, LogonType.Interactive))
{
try
{
Directory.CreateDirectory(newDirectoryPath);
}
catch (UnauthorizedAccessException ex)
{
return Result.CreateFailure($"{ex.GetType()}, {ex.Message}, {ex.HResult}");
}
}
Этот пользователь получает:
Доступ к пути '\\ network \ share \ new_directory'запрещено.
Однако при использовании Проводника Windows под своей учетной записью с повышенными правами пользователь может создавать и удалять каталоги на общем сетевом ресурсе без проблем.
Моя интуиция говорит мне, что этопроблема с разрешениями, почему это повлияет только на программный вызов?
Edit # 1 : Это приложение Windows Forms.Мне также удалось воссоздать проблему в консольном приложении.