我在startup.cmd中具有包含以下代码行的云服务:
net use n: \\<storage-account>.file.core.windows.net\scorm /u:<storage-account> <storage-password>
这样可以成功创建映射驱动器以指向Azure File Services共享,但是在Windows资源管理器中显示为断开连接的驱动器,并且使用“断开连接”选项进行任何尝试删除都会导致“此网络连接不存在”,尽管如果我双击可以成功访问文件的文件夹。
如果我通过cmd提示符运行相同的命令,则驱动器将显示为已连接,并带有共享的名称和显示的路径。我需要在PowerShell启动命令中执行其他操作来呈现与cmd行提示符相同的结果吗?
最佳答案
“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>
关于powershell - 在Windows Server 2012实例上通过cmd完成时,通过PowerShell使用 'net use'表现出不同的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25011727/