系统.具有管理员权限的UnauthorizedAccessException

本文关键字:UnauthorizedAccessException 权限 管理员 系统 | 更新日期: 2023-09-27 18:11:26

我的应用程序有一些问题,必须访问"C:'"目录。当我尝试这样做时,会出现未经授权的访问异常。我已经尝试改变app.manifest中的执行级别为:

<requestedExecutionLevel level="highestAvailable" />

<requestedExecutionLevel level="requireAdministrator" uiAccess= "true"/>

<requestedExecutionLevel level="requireAdministrator" uiAccess= "false"/>
异常的主代码是:
List<string> search =
    Directory.GetFiles(@"C:''", "*.exe*", SearchOption.AllDirectories).ToList();
有谁能帮帮我吗?我会非常感激!

系统.具有管理员权限的UnauthorizedAccessException

当我尝试这样做时,会出现未经授权的访问异常。

仅仅因为你是管理员并不意味着你可以访问所有东西。我以前从未使用过它,但手册说SearchOption.AllDirectories是这样做的:

在搜索操作中包含当前目录及其所有子目录。此选项包括重新解析点,例如搜索中的挂载驱动器和符号链接。

所以它在递归地搜索C盘。这意味着它将尝试进入System Volume Information等普通管理员无法访问的东西。

除非你自己设置一个(并修改重要系统文件夹上的acl),我不相信Windows中有一个安全原则可以保证访问C驱动器上的所有内容。您应该尝试遍历文件和文件夹,并忽略无法进入的文件夹。

相关文章:
  • 没有找到相关文章