最近为实现共享目录之间的文件同步,开发了一个Windows Service。

考虑到在拷贝过程中,如果网络忽然抽风访问不了,导致文件拷贝不完整的情况,果断抛弃.Net 自带的 COPY 方法,而使用DOS命令下的XCOPY命令。

嗯。。。。。说干就干。。。

XCOPY方案验证、开发、调试(在自个电脑上建了两个共享目录)。。。。半天时间,全部搞定。貌似事情进展的太顺利了。。。。。

既然本地调试没问题,那就部署到测试环境上吧。好吧。。。问题来了。

同步两个共享目录,居然失败!查看日志,XCOPY的退出码 ExitCode=4,也就是说路径不正确。

奇怪。。。。没理由啊。。。。。。。。在测试服务器上,用 \\IP\\ShareFolder 的方式,都是可以访问的,并且能够正常读写。

把刚才同步失败的XCOPY命令在CMD窗口中运行,居然成功了。。。。。。

看到这估计你也想到了,Windows Service在访问共享的时候,是没有权限的。

谷歌。。。。。谷歌。。。。。。。找到加权限的办法。

参考链接:http://stackoverflow.com/questions/9905281/how-to-access-to-a-shared-resource-with-a-windows-service-using-local-system-use

步骤如下:

1)首先找到具有共享目录读写权限的用户

2)在Windows Service的属性中,选择“登录”选项卡,在“此用户” 下,给一个有共享目录读写权限的用户。

3)点击确定,重新启动服务。

好了,怀着一个激动的心,重新启动,重新同步,继续失败。。。。。。。。。。。。。OH,漏!!!!!!!!!!!!!!

不是说给服务加一个用户就可以了么。。。。。。骗纸。。。。。。。。。

继续谷歌。。。谷歌。。。。谷歌。。。。。。。。。。。。。。。。。。

不得不说,Stackoverflow上面大牛就是多。。。

使用 NET USE 命令 建立与共享的链接

用法 :Net Use \\ServerIP\\ShareFolder Password /USER:User

废话不多说,赶紧试一下。。。。。

命令成功完成。。。。怀着激动的心情,重新启动一下服务。。。。。同步成功!!!

Windows Service 访问远程共享权限设置的更多相关文章

  1. 发生Windows无法访问远程共享的解决办法

    发现问题 今天在访问远程时发生一个很郁闷的网络错误,如下图所示 问题修复步骤 这个问题可以采用以下步骤来修复 Step1.添加网络映射盘 添加网络映射时选择使用其他凭据登陆,这样就有机会让Window ...

  2. 远程映射错误 “发生系统错误 1312 指定的登录会话不存在。可能已被终止 IIS 访问 远程共享目录”

    最近和其他公司做接口,需要将数据上传给对方. 我们发送程序部署在前置机上,文件在内网数据中.需要映射到文件服务器后上传数据.本机vs开发是可以映射成功,但是部署到远程的IIS中,就不能成功. 报错:  ...

  3. Windows网络共享权限设置

    文件共享权限有两种权限设置,只要理解这两种权限设置就可以在域控灵活运用. 第一种是网络共享权限 共享权限是控制用户通过网络访问共享文件夹的手段,共享权限仅当用户通过网络访问时才有效,本地用户不受此权限 ...

  4. [转载]Samba 4实现windows匿名访问Linux共享!

    SMB(Server Messages Block,信息服务块). 由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows ...

  5. 使用WMI和性能计数器监控远程服务器权限设置

    应用场景:在web服务器中,通过.NET编码使用WMI查询远程服务器的一些硬件配置信息,使用性能计数器查询远程机器的运行时资源使用情况.在网上没有找到相关的东西,特记录与大家共享. 将web服务器和所 ...

  6. 【转】DCOM远程调用权限设置

    原文:https://blog.csdn.net/ervinsas/article/details/36424127 最近几天被搞得焦头烂额,由于DCOM客户端程序是在32位系统下开发的,调试时DCO ...

  7. MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库

    Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...

  8. [转]MYSQL远程登录权限设置

    Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录:   1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED B ...

  9. MYSQL远程登录权限设置(转)

    Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...

随机推荐

  1. ArcGIS: version not specified. You must call RuntimeManager.Bind before creat

    打开program.cs把ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);这句放到Applicatio ...

  2. iOS之Storyboard References

    如果你曾经使用 interface builder 创建过一个复杂.界面非常多的应用,你就会明白最后那些Storyboards 文件变的有多大.他会迅速变的无法管理,阻碍你的进度.自从引入 Story ...

  3. ORACLE临时表 转 学习用

    转:http://www.2cto.com/database/201210/163979.html 临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保 ...

  4. poj 3565 二分图最优匹配

    思路: 将ant与tree之间用距离来做权值,求最小权匹配就可以了.可以想到,如果有两条线段相交,那么将这两个线段交换一个顶点,使其不相交,其权值和一定会更小. 就像斜边永远比直角边长一样的道理. # ...

  5. Next Power of 2

    Next Power of 2 Write a function that, for a given no n, finds a number p which is greater than or e ...

  6. hihocoder 1049 后序遍历

    #1049 : 后序遍历 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在参与过了美食节之后,小Hi和小Ho在别的地方又玩耍了一阵子,在这个过程中,小Ho得到了一个非常 ...

  7. 浅谈MapControl控件和PageLayoutControl控件

    1.MapControl控件是ArcObject(ArcEngine)中使用非常普遍的一个控件,它对应ArcMap中的DataView视图.MapControl控件实现的功能: 1)管理控件的外观.显 ...

  8. 【转】android应用程序签名

    概述 Android系统要求,所有的程序经过数字签名后才能安装.Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系.证书不是用于用户控制哪些程序可以安装.证书不需要授权中心来 ...

  9. django 学习-5 模板使用流程

    首先在模板下建一个index.html <!DOCTYPE html><html><head><meta charset="utf-8" ...

  10. ASP.NET(C#) 读取EXCEL ——另加解决日期问题

    转载:http://www.cnblogs.com/diony/archive/2011/09/08/2171133.html 使用OLEDB可以对excel文件进行读取,我们只要把该excel文件作 ...