博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于windows service不能访问网络共享盘(NetWork Drive)的解决方案
阅读量:5773 次
发布时间:2019-06-18

本文共 994 字,大约阅读时间需要 3 分钟。

我映射一个网络驱动器到本机的时候,发现本机的程序直接能访问读取网络驱动器,但是把本机的程序作为本机的windows服务运行的时候就不能访问了。

Qt中的QDir::exist(folder)访问失败。这样导致的原因是映射网络驱动器,需要服务程序运行的权限账户和远程共享文件的机器要运行在同一个域(Domain)

下面,用PStool这个工具就可以了,它直接使用SYSTEM账户权限,来映射网络驱动器。这样,远程驱动器和本机的service就处于同一个域下了。

 

注意:这个是比较hack的做法,并不推荐这么做。微软是不支持的。

 

1.用psexec创建网络驱动器:

admin 权限运行CMD,然后运行psexec -i -s cmd.exe  

然后在新打开的CMD窗口中运行以下命令映射网络驱动器Z盘, net use z: \\server_ip\share_folder /persistent:yes 

 以上的net命令可能会让你输入远程的系统用户名和密码,我的远程是XP,所以用户名密码是:Administrator/无密码

注: 所有微软的Windows 系统默认管理员用户都是Administator 而密码是你自己设定的,系统没有默认密码

2.运行本机windows服务,成功访问网络驱动器Z

 

references:

http://stackoverflow.com/questions/18632193/directory-exists-returns-false-for-mapped-drive-in-c-sharp-coding

http://stackoverflow.com/questions/3622089/windows-service-cant-access-network-share

http://serverfault.com/questions/177139/windows-service-cant-access-network-share

http://stackoverflow.com/questions/182750/map-a-network-drive-to-be-used-by-a-service

https://technet.microsoft.com/en-us/sysinternals/psexec   (PStool工具下载)

转载地址:http://ovaux.baihongyu.com/

你可能感兴趣的文章
slidingMenu默认显示菜单
查看>>
【转载】【转自AekdyCoin的组合数取模】
查看>>
spring3 循环依赖
查看>>
阅读笔记十六
查看>>
数据结构与算法设计--树的镜像
查看>>
最大子数组和
查看>>
软件工程学期总结
查看>>
二、Hadoop集群
查看>>
思科3750交换机堆叠配置指南
查看>>
不错,也想搭建h2weibo而且作者的这个博客也好,能问一下是怎么修改的吗,或者作者也可以写篇博......
查看>>
javaweb大全:地址来自 孤傲苍狼
查看>>
pom.xml 出错版
查看>>
极光推送
查看>>
Hive安装
查看>>
实验四 主存空间的分配和回收
查看>>
股票API
查看>>
linux的打包与解压
查看>>
poj2349
查看>>
Django的模板系统
查看>>
实现AJAX局部刷新以及PageMethod方法的使用
查看>>