【问题标题】:File visible as normal user but not as Admin文件以普通用户可见但不以管理员身份可见
【发布时间】:2015-01-02 18:57:14
【问题描述】:

我正在为我的公司构建一个通用更新程序,当我尝试访问映射的网络驱动器时,程序在以管理员身份运行时会抛出一个找不到文件的异常。当文件以普通用户身份运行时,文件是可见的,但由于文件被复制到 Program Files(公司政策)而引发未经授权的异常。

编辑

抛出FileNotFound Exception的代码是FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(rdrInner.GetString(2));,Unauthorized Exception是File.Copy(pi.RemotePath, pi.Path, true);抛出的

【问题讨论】:

    标签: c# admin file-permissions


    【解决方案1】:

    映射的驱动器是用户配置文件的一部分,因此您需要在以管理员用户身份登录时映射驱动器。这就是为什么使用映射驱动器不是一个好主意的原因——您不能使用完全限定的 UNC 路径吗?有关 UNC 路径的说明,请参阅 http://msdn.microsoft.com/en-gb/library/gg465305.aspx

    【讨论】:

    • 问题不在于映射的驱动器本身,我尝试将驱动器部分替换为UNC路径,没有任何变化。
    • 在执行代码的机器上以管理员身份登录。可以通过资源管理器手动访问UNC路径吗?
    • 我没有管理员密码,所以我无法验证这一点,但是其他应用程序在以管理员身份运行时确实可以访问共享。
    • 事实上,您的问题因离题而接近关闭(即,与 C# 无关,但完全与您的本地环境有关),请参阅此处:stackoverflow.com/help/how-to-ask。编辑您的问题以至少包括您获取文件未找到异常的代码,并包括实际异常的详细信息,以及它发生在哪一行。还请拥有管理员密码的人检查管理员是否可以看到 UNC 路径。
    • 我添加了有问题的代码,但是我看不到它有什么帮助,这就是我首先省略它的原因。 File.Exists 返回 false 所以就是这样。至于有权限的用户,我最早能在下周一得到答复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 2015-07-10
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多