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

Windows下PM2服务运行Node.js应用无法访问网络驱动器求助

问题解决:PM2服务运行时无法读取Windows网络驱动器文件

核心原因

Windows服务(包括通过pm2-installer注册的PM2服务)默认在本地系统账户下运行,该账户无网络共享资源访问权限,也无法识别当前用户映射的网络驱动器(如M:),即便使用UNC路径,也会因权限验证失败触发“文件未找到”错误。

解决步骤

1. 为PM2服务配置有权限的用户账户

  • 按Win+R输入services.msc打开Windows服务管理器
  • 找到PM2对应的服务(通常命名为PM2或PM2 Service)
  • 右键选择「属性」→「登录」选项卡
  • 勾选「此账户」,输入具备网络共享访问权限的本地/域账户(比如你日常登录Windows的账户),填写密码后确认
  • 重启PM2服务

2. 用UNC路径替代驱动器映射

直接使用UNC路径(格式为\\服务器名\共享文件夹),避免依赖用户会话的驱动器映射:

const fs = require('fs');
// 替换为你的网络共享UNC路径
fs.readFileSync('\\\\server-name\\shared-folder');

注:JavaScript中反斜杠需转义,因此要写四个\\。

3. 验证网络共享权限

  • 确认配置的账户对目标网络共享文件夹拥有对应权限(读取/写入,按需设置)
  • 用该账户登录Windows,手动访问UNC路径,测试能否正常打开文件夹

4. PM2集群模式的额外说明

若使用集群模式,无需额外配置,上述服务账户的设置已覆盖所有子进程的权限上下文。

关键提示

  • 服务运行在独立会话,无法识别用户会话中的网络驱动器映射,务必使用UNC路径
  • 本地系统账户无网络访问能力,必须切换到具备对应权限的用户账户

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:37:32