powershell - 在Windows Server 2012实例上通过cmd完成时,通过PowerShell使用 'net use'表现出不同的行为

标签 powershell cmd azure-storage-blobs mapped-drive net-use

我在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: \\&lt;storage-account&gt;.file.core.windows.net\test /u:&lt;storage-account&gt; &lt;storage-password&gt;

关于powershell - 在Windows Server 2012实例上通过cmd完成时,通过PowerShell使用 'net use'表现出不同的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25011727/

相关文章:

cmd - 'ionic' 不被识别为内部或外部命令

azure - 写入数据帧后,Spark避免hadoop fs.rename失败

azure - 无法将表加载到Azure Blob中存在的配置单元中

scala - 列出Scala中非默认文件系统上的文件

Powershell 无法打开 - 错误 "Path cannot be the empty string or all whitespace"

powershell - 替换 powershell 中的 app.config 项节点值

powershell - 以减号/连字符开头的值的位置参数绑定(bind)

Powershell:检查、使用和传递参数?

windows - 如何以适合在文件/文件夹名称中使用的格式在 Windows 命令行上获取当前日期/时间?

windows - 如何清除 Windows 命令行中的最后一行?