You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure File Share通过PowerShell脚本映射网络驱动器无法持久生效问题

问题原因

  • 该问题由PowerShell默认的进程隔离机制导致:直接运行.ps1脚本时,系统会启动独立的子PowerShell进程执行脚本内容,子进程内创建的网络驱动器映射仅属于该进程的局部上下文。脚本执行完成后子进程自动退出,局部映射会被系统回收,不会同步到你打开的交互式PowerShell窗口、资源管理器的全局上下文。
  • 手动将代码粘贴到PowerShell窗口执行时,代码运行在当前的交互式父进程内,映射属于全局上下文,因此可以正常保留。
  • 脚本末尾加pause后映射暂时可用,是因为pause阻止了子进程退出,子进程运行期间局部映射暂存,按回车结束子进程后映射自然被清理。

解决方法

方案1:使用点源调用脚本,让代码运行在当前进程上下文

执行脚本时在脚本路径前加英文句号加空格,采用点源调用的方式运行,不会启动独立子进程,脚本内创建的映射会保留在全局上下文:

# 示例:调用当前目录下的映射脚本
. .\map-azure-fileshare.ps1

方案2:映射时添加持久化参数,将映射写入系统配置

如果使用net use命令执行映射,添加/persistent:yes参数:

net use Z: \\<存储账户名>.file.core.windows.net\<共享名> <存储账户密钥> /user:Azure\<存储账户名> /persistent:yes

如果使用PowerShell原生New-PSDrive cmdlet执行映射,添加-Persist参数:

New-PSDrive -Name Z -PSProvider FileSystem -Root "\\<存储账户名>.file.core.windows.net\<共享名>" -Credential $cred -Persist

添加持久化参数的映射会被写入系统注册表,不仅不会随脚本进程退出消失,重启系统后也可自动挂载(前提是网络可达、身份凭证有效)。

额外注意事项

  • 不要使用管理员权限运行映射脚本/命令,管理员上下文创建的映射对普通用户权限的资源管理器不可见。
  • 确保本地445端口出站没有被运营商、本地防火墙封禁,这是Azure File Share SMB协议访问的必要条件。

内容的提问来源于stack exchange,提问作者Santa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:18:04