系统.具有管理员权限的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();
有谁能帮帮我吗?我会非常感激!
当我尝试这样做时,会出现未经授权的访问异常。
仅仅因为你是管理员并不意味着你可以访问所有东西。我以前从未使用过它,但手册说SearchOption.AllDirectories
是这样做的:
在搜索操作中包含当前目录及其所有子目录。此选项包括重新解析点,例如搜索中的挂载驱动器和符号链接。
所以它在递归地搜索C盘。这意味着它将尝试进入System Volume Information
等普通管理员无法访问的东西。
除非你自己设置一个(并修改重要系统文件夹上的acl),我不相信Windows中有一个安全原则可以保证访问C驱动器上的所有内容。您应该尝试遍历文件和文件夹,并忽略无法进入的文件夹。