仅当尝试创建目录时,一个用户才会遇到此问题;该代码仅适用于系统的所有用户。
应用程序的每个用户都有一个标准的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资源管理器时,用户可以在网络共享上创建和删除目录而没有问题。
我的直觉告诉我这是一个权限问题,为什么它只会影响编程调用?
编辑#1 :这是Windows窗体应用程序。我也设法在控制台应用程序中重新创建了该问题。