使用 ServU 的过程中遇到了个难题, 计算机中有个网络映射盘, 我想把用户根目录设置为这个映射盘, 但是在选择磁盘的界面中, 根本不会显示映射盘盘符。因为 Windows 应用(或者服务) 无法通过盘符识别挂载的网络驱动器, 要访问网络驱动器只能通过 UNC。
最终还是在 stackoverflow 找到了变通解决办法。 这里分享出来, 提供给有同样困扰的读者, 希望能节省你很多时间。
解决办法出处: StackOverflow
原理: 在 SYSTEM 账户下 执行磁盘映射。
操作步骤:
1、 下载解压 SysinternalsSuite
2、 管理员身份执行 cmd.exe
3、 在打开的 cmd.exe 中导航到 sysinternalssuite 文件夹, 执行 psexec -i -s cmd.exe
, 这样就开启了具有 SYSTEM 身份的 cmd.exe
4、 在有 SYSTEM 身份的 cmd.exe 中执行
net use z: \\servername\sharedFolder password /user:servername\username /persistent:yes
例如:
net use z: \\192.168.0.114\f password /user:192.168.0.114\administrator /persistent:yes
注意: 请确保使用的连接凭据有足够的磁盘访问权限。
如果没有错误产生,会提示 “命令成功”。
如果此共享有密码保护, 并且显示为 “断开连接的网络驱动器”, 如果系统开启了“密码保护共享”
图形界面点击 网络映射盘, 会显示
那么必须在凭据管理器中添加凭据才可以正常访问。
5、 在凭据管理器中添加 凭据
打开 “”控制面板” -> "凭据管理器" -> "添加Windows凭据", 将连接到共享盘的凭据信息填入即可。
(小注: 凭据就是上述命令行中的 servername, username 和 password)
上一张成果图
不过, 这种方式建立的映射会在系统重新后丢失, 还需要添加计划任务维持其存在。有此需求的话请继续往下看。
6、 准备映射脚本 mount_nfs.bat, 内容为刚才命令行输入的命令
net use z: \\192.168.0.114\f password /user:192.168.0.114\administrator /persistent:yes
依次点击 “开始” -> "管理工具" -> "任务计划程序", 右键 “任务计划程序库” -> "创建任务"
各个参数如下列图: