当前位置: 首页 > news >正文

关于应用程序采用Windows Service或者IIS启动,无法访问资源管理器创建的网络驱动器(CIFS/SMB)的解决办法

   本文主要针对共享目录来解决这个问题,之前碰到NFS,解决办法类似,所以就不重复叙述了

  应用程序采用Windows Service或者IIS作为守护进程,当要访问Cifs/SMB一般有三个方式:

    1. 直接通过UNC格式访问,但是一般存在认证问题2. 代码直接访问,但是在大数据量中存在性能问题(前面有相关的文章介绍过)3. 通过资源管理器映射网络驱动器,但是直接运行的程序可以访问,通过Windows Service或者IIS作为守护进程程序访问不到 

  Windows Service或者IIS不能访问资源管理器映射的网络驱动器的原因:

    会话隔离(主要)‌:Windows服务和IIS通常以系统账户或特定服务账户运行,这些账户与当前用户会话隔离。资源管理器映射的网络驱动器仅对当前用户会话有效,因此服务或IIS无法访问。‌ 凭据管理(次要)‌:映射驱动器可能依赖用户会话的凭据,而服务账户缺乏这些凭据的持久访问权限,导致连接失败。‌ ‌配置限制‌(次要):系统默认设置可能阻止未加密的RPC连接或限制网络访问,进一步阻碍访问。‌ 

  说白了,其实主要原因就是Windows服务或者IIS和当前资源管理器运行在不同的用户会话,就好比两个房间,你再一个房间里面干的事情,另外一个房间的人自己看不到。

  一般解决办法有两个:

  方法一:通过自定义bat启动程序,先将Cifs/SMB映射成网络驱动器,再启动程序

  换句话说,就是我们我们把程序放到bat脚本中去启动执行,再启动前先使用命令去创建网络驱动器,例如创建一个start.bat

    net use z: \\192.168.139.128\demo /persistent:yes /user:feng 123456Demo.Web.exe --urls=http://0.0.0.0:5050 --environment=Production

  方法二:用psexec创建网络驱动器

    PsExec是一种轻量级的telnet替代品,可以在其他系统上执行进程,完成控制台应用程序的完全交互,而无需手动安装客户端软件。基本原理是:通过管道在远程目标机器上创建一个psexec服务,并在本地磁盘中生成一个名为"PSEXESVC"的二进制文件。然后,通过psexec服务运行命令,运行结束后删除服务。

  psexec下载地址:https://download.sysinternals.com/files/PSTools.zip

  创建步骤:

    1. 使用管理员权限运行CMD2. 在CMD窗口中运行psexec -i -s cmd.exe,可以理解为连接系统用户会话并以最高权限执行cmd进行会话交互3. 在新打开的CMD窗口中创建网络驱动器,如:net use z: \\192.168.139.128\demo /persistent:yes /user:feng 123456

  注意,这种方式创建的网络驱动器貌似系统重启可能会丢失,但是话说回来,我们的服务器应该很少会重启吧

 

  总结

   其实网上还有个办法,就是在代码里面通过DllImport来调用来创建网络驱动器,然后再来访问,当然这个办法也是可行的,但是问题在于它不方便跨平台,所以笔者就放弃这个了。

  上面两个做法各有千秋,笔者都使用过,而且程序都是正常运行,读者可按照自己的场景选择。

 

http://www.jsqmd.com/news/148933/

相关文章:

  • 拉格朗日差值
  • 打造稳定AI服务:TensorFlow模型监控与更新机制
  • UI自动化测试三大痛点
  • 【Open-AutoGLM黑科技解析】:3步实现手机全场景自动操作
  • obs采集卡录制回音问题
  • 基于单片机的多功能时钟闹钟万年历控制系统设计
  • 好写作AI:突破写作瓶颈,AI工具如何激发学术创作灵感?
  • Vue中vuex状态管理mutations用法
  • Open-AutoGLM插件安装失败怎么办?,资深专家总结的6种解决方案
  • 2025年成都川菜推荐排名:5家必吃江湖菜馆全解析,本地人私藏的美味清单 - 工业品网
  • 2025塑料拖链专业供应商TOP5权威推荐:新深度测评指南 - 工业品牌热点
  • 2025-2026北京扰乱公共秩序罪辩护律所排行榜 专业评测指南 - 苏木2025
  • 好写作AI:如何让文献整理与引用化繁为简?
  • 2025上海公积金代缴开户服务TOP5推荐:合规高效助力企业降本增效 - mypinpai
  • 基于单片机多功能智能台灯控制系统设计
  • Open-AutoGLM与USB调试模式的隐秘关联:嵌入式AI部署工程师不会告诉你的4个真相
  • CVE-2025-24118 macOS内核竞态条件漏洞分析与PoC演示
  • 企业级AI落地利器:TensorFlow生产部署最佳实践
  • TensorFlow工业级应用案例全揭秘
  • 【强烈建议收藏】2025年AI人才市场报告:大模型算法月薪7万+,人人都是程序员的时代来了
  • 【CSDN博客之星2025】主题创作《35岁的职业和人生成长转变》
  • 2025吊绳厂商揭秘!电话直通,采购更便捷,吊具/压制钢丝绳/柔性吊装带/防割吊带,吊绳供应商口碑排行榜单 - 品牌推荐师
  • 【Open-AutoGLM高效使用前提】:你不可不知的插件安装避坑指南
  • 客户端测试是什么?客户端测试详解
  • 学培课堂靠谱吗?从课程质量到口碑的真实体验分享 - 品牌排行榜
  • 90%用户忽略的Open-AutoGLM 2.0缺陷:如何提前识别并规避推理偏差?
  • 2025年比较好的MES系统口碑排行榜单汇总,制造业数字化转型优选方案参考 - 品牌排行榜
  • 学培课堂专转本怎么样?从课程与口碑看选择方向 - 品牌排行榜
  • 2025年变压器回收厂家推荐:广州市靖捷再生资源回收有限公司,专注中央空调/变压器/电缆/充电桩回收 - 品牌推荐官
  • 手机自动化新纪元,Open-AutoGLM到底有多强?