我使用的是Windows 10.这是我映射网络驱动器的代码。
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = true;
p.StartInfo.Verb = "runas";
p.StartInfo.FileName = "net.exe";
p.StartInfo.Arguments = "use Z: " + dPath; //dPath has escaped characters
p.Start();
我尝试做的是尝试以管理员身份运行命令net.exe use Z: DPATH
但是Z驱动器没有出现在文件资源管理器中,但是当我使用具有管理员权限的cmd运行完全相同的命令时,出现Z驱动器正确。
映射驱动器的证明
我的网络驱动器的映射如下所示(尝试手动重新映射时遇到此错误)只是它没有出现在文件资源管理器中的网络位置>这台电脑。
答案 0 :(得分:1)
此行为是由UAC(用户帐户控制)引起的。以管理员身份登录Windows时there are two sessions created。一个具有管理员权限,一个没有。以编程方式映射驱动器时,您正在使用具有管理员权限的会话执行此操作。
但是,使用文件资源管理器查看网络位置时,您使用的是标准权限。对于映射驱动器,不共享管理员和标准权限。因此,管理员无法查看映射的驱动器,尽管它是使用管理员权限创建的。
解决方案1
单击“开始”,在“启动程序和文件”框中键入regedit,然后单击“确定” 然后按ENTER键。
找到并右键单击注册表子项 HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \政策\系统。
指向“新建”,然后单击“DWORD值”。
键入EnableLinkedConnections,然后按ENTER键。
右键单击“EnableLinkedConnections”,然后单击“修改”。
在“数值数据”框中,键入1,然后单击“确定”。
退出注册表编辑器,然后重新启动计算机。
解决方案2
Run File Explorer as administrator
右键单击资源管理器并选择“运行方式” 管理员“它没有启动带有管理员的Windows资源管理器 权利。 Windows Vista / 7/8/10资源管理器包含一个特殊功能 阻止此类请求。
要禁用它,请启动regedit.exe并转到以下键:
HKEY_CLASSES_ROOT \ AppID {CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}
右键单击“权限”并将您的用户设置为密钥的所有者 给你当前的用户写作权限。
接下来,删除或重命名值RunAs。现在升高了 - 没有升级 Explorer Factory已禁用,您可以使用admin启动Explorer 权利。
解决方案3
如果以上操作不起作用,disable your UAC (User Account Control)进入用户帐户控制设置并将滑块移至从不通知
此外,如果您安装了专业版,企业版或旗舰版Windows,则需要在名为本地安全策略的管理工具中查看程序,并在<中禁用与UAC相关的所有策略。 strong>安全设置&gt;地方政策&gt;安全选项(位于列表的底部15个政策中)
答案 1 :(得分:1)
它帮助我通过任务管理器以管理员权限重新启动explorer.exe。