1

我有一个云服务,在 startup.cmd 中有以下代码行:

net use n: \\<storage-account>.file.core.windows.net\scorm /u:<storage-account> <storage-password>

这成功创建了指向 Azure 文件服务共享的映射驱动器,但它在 Windows 资源管理器中显示为断开连接的驱动器,并且任何使用“断开连接”选项删除它的尝试都会导致“此网络连接不存在”,尽管如果我双击我可以成功访问文件的文件夹。

如果我通过 cmd 提示符运行相同的命令,驱动器将显示为已连接共享名称和显示的路径。我是否需要在 PowerShell 启动命令中执行任何不同的操作才能呈现与 cmd 行提示符相同的结果?

4

2 回答 2

2

“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: \\&lt;storage-account&gt;.file.core.windows.net\test /u:&lt;storage-account&gt; &lt;storage-password&gt;
于 2014-08-01T14:44:42.053 回答
1

驱动器映射到您的用户令牌,管理员有两个令牌。有限的和升高的。确保您使用的是一致的令牌。即,如果在以管理员身份运行时映射,则只有运行提升的程序才能访问该映射。

于 2014-07-30T02:46:14.263 回答