我在startup.cmd中有以下代码行的云服务:
net use n: \\<storage-account>.file.core.windows.net\scorm /u:<storage-account> <storage-password>
这会成功创建映射驱动器以指向Azure文件服务共享,但它在Windows资源管理器中显示为断开连接的驱动器,并且使用“断开连接”选项删除它的任何尝试都会导致“此网络连接不存在”,但如果我双击我能够成功访问文件的文件夹。
如果我通过cmd提示符运行相同的命令,则驱动器显示为与共享名称和显示的路径相关联。我是否需要在PowerShell启动命令中执行任何不同的操作以呈现与cmd行提示相同的结果?
“net use”命令仅连接到您正在运行的上下文中的共享。因此,您必须在您的角色运行的相同上下文中运行“net use”。
对于Web角色,这将是“NT AUTHORITY \ NETWORK SERVICE”。要在该上下文中运行“net use”,您需要一个像psexec.exe这样的工具,您可以从Windows Sysinternals下载该工具。
将psexec.exe放入角色的bin目录中,并使用以下命令设置提升的启动脚本:
psexec -accepteula -u "NT AUTHORITY\NETWORK SERVICE" net use n: \\<storage-account>.file.core.windows.net\test /u:<storage-account> <storage-password>
驱动器映射到您的用户令牌,管理员有两个令牌。有限和高架。确保使用一致的令牌。即如果在Run As Aministrator运行时映射,则只有运行提升的程序才能访问该映射。