Windows服务如果是运行在本地系统帐户下或本地服务帐户下,它只能访问这个账户自己创建的映射驱动器,UNC路径访问则不受次限制。
LocalService Account (NT AUTHORITY\LocalService)没有简单的访问映射驱动器的方法。需要用NSSM之类的软将将脚本转为在LocalService账户下运行的服务。
LocalSystem Account (NT AUTHORITY\SYSTEM)则有方法以他的身份创建映射驱动器
 
首先下载PsExec程序,它在PsTools中:http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx
然后运行一下PowerShell脚本
$PSEXECPATH="E:\GreenSOft\PsTools\PsExec.exe" #指定PsExec程序完整路径
$SHARESRVPATH="192.168.1.206" #连接服务器地址
$SHAREFOLDERPATH="\\192.168.1.206\test" #共享UNC路径
$CONNUSER="MSSQLUser" #连接用户名
$CONNPWD="SHPPD2006!@#!@#SQL" #连接密码

#删除旧的网络映射驱动器
Start-Process -Wait `
-PSPath $PSEXECPATH `
-ArgumentList "-accepteula -s net use P: /delete /y";

#生成新的网络映射驱动器
Start-Process -Wait `
-PSPath $PSEXECPATH `
-ArgumentList "-accepteula -s net use P: $SHAREFOLDERPATH /user:""$SHARESRVPATH\$CONNUSER"" ""$CONNPWD""  /persistent:yes";



如果要每次启动时都自动以LocalSystem账户创建映射驱动器,则按一下步骤:
1、在运行中输入gpedit.msc以打开“本地组策略编辑器”
2、在控制台树中,单击“脚本(启动/关机)”。路径为“计算机配置\Windows 设置\脚本(启动/关机)”。
3、添加编辑,指定脚本位置
4、脚本内容如下:
$PSEXECPATH="E:\GreenSOft\PsTools\PsExec.exe" #指定PsExec程序完整路径
$SHARESRVPATH="192.168.1.206" #连接服务器地址
$SHAREFOLDERPATH="\\192.168.1.206\test" #共享UNC路径
$CONNUSER="MSSQLUser" #连接用户名
$CONNPWD="SHPPD2006!@#!@#SQL" #连接密码

#生成新的网络映射驱动器
Start-Process -Wait `
-PSPath $PSEXECPATH `
-ArgumentList "-accepteula -s net use P: $SHAREFOLDERPATH /user:""$SHARESRVPATH\$CONNUSER"" ""$CONNPWD"" ";




参考资料:
INFO: Services and Redirected Drives http://support.microsoft.com/kb/180362/en-us

 

运行于Windows内建账户下的服务访问映射网络驱动器的方法的更多相关文章

  1. windows下操作linux虚拟机映射网络驱动器中文件提示chmod权限不足解决方案

    为了方便操作,linux虚拟机会通过windows下连接网络驱动器的方式共享自己的文件,对于前端来说,我想把gulp放在windows磁盘,操作虚拟机中的php文件,一来节省虚拟机磁盘大小,二来解决虚 ...

  2. CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器?

    一.为什么要这么做? 最近在做Linux下的软件开发,但又想使用Windows下的编程工具“Source Insight”. 亲测有效.  要注意查看smb.conf.example,centos7的 ...

  3. [转]CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器?

    CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器? 转自这里 一.为什么要这么做? 最近在做Linux下的软件开发,但又想使用Windows下的编程工具“Source Insi ...

  4. Windows映射网络驱动器提示错误

    问题描述:Windows映射网络驱动器的时候,提示文件和打印机共享资源处于联机状态未对连接尝试检测到做出响应 解决方法:不同情况可能不一样,我的原因是,映射的Linux,防火墙处于开启状态,关闭了就可 ...

  5. Ubuntu下映射网络驱动器

    Ubuntu下映射网络驱动器https://www.linuxidc.com/Linux/2013-07/86928.htm linux下samba访问路径: smb://192.168.1.111/ ...

  6. windows 内建环境变量

    PS C:\Windows> ls env: Name Value ---- ----- _NT_SYMBOL_PATH srv*C:\Users\vv\Documents\symbols AL ...

  7. Windows 2008 R2环境下DHCP服务的安装部署使用

    (第一版本) 这个实验好像需要在部署了activity directory服务的基础上的,给个直达链接 http://blog.csdn.net/qq_34829953/article/details ...

  8. windows及linux环境下修改pip的默认镜像源的方法

    1. 在windows环境下 临时修改 使用清华大学的源安装numpy包. pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple ...

  9. Windows出现“引用账户被锁定,且暂时无法登录”解决方法

    1. 问题描述如下: i. 远程桌面登录时,出现提示必须修改密码才能登录,是因为密码过期所导致的,如下图: ii. 当我们登录Windows控制台(基于OpenStack平台的虚拟机)进行修改密码时, ...

随机推荐

  1. DATEADD()

    定义和用法 DATEADD() 函数在日期中添加或减去指定的时间间隔. 语法 DATEADD(datepart,number,date) date 参数是合法的日期表达式.number 是您希望添加的 ...

  2. 网络安全web部分

    Web安全 一.    SQL注入 1)    原理 通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序 ...

  3. [luogu4158 SCOI2009] 粉刷匠(dp)

    传送门 Solution 把状态都记上暴力转移即可 Code //By Menteur_Hxy #include <queue> #include <cmath> #inclu ...

  4. Solr学习记录:Getting started

    目录 Solr学习记录:Getting started 1.Solr Tutorial 2. A Quick Overview Solr学习记录:Getting started 本教程使用环境:jav ...

  5. 不用form怎么post数据

    数据传输是用户交互中最重要的环节,下面收集了几个数据传输的方法,作为记录(未测试,在使用之前需要测试,如果后面我测试了,会对已测试项进行标注) 一. 网址传递 <a href=”test.php ...

  6. 《奋斗吧!菜鸟》 第八次作业:Alpha冲刺 Scrum meeting 4

    项目 内容 这个作业属于哪个课程 任课教师链接 作业要求 https://www.cnblogs.com/nwnu-daizh/p/11012922.html 团队名称 奋斗吧!菜鸟 作业学习目标 A ...

  7. tp5 前置方法

    Route::any('adminapi/v1/login','adminapi/v1.login/login');Route::any('adminapi/v1/first','adminapi/v ...

  8. mac Gitblit安装

    jdk下载传送门 gitBlit是java编写的的 第一步 需要安装java jdk 传送门 JDK6的下载地址: http://www.oracle.com/technetwork/java/jav ...

  9. Set Time, Date Timezone in Linux from Command Line or Gnome | Use ntp

    https://www.garron.me/en/linux/set-time-date-timezone-ntp-linux-shell-gnome-command-line.html Set ti ...

  10. Git的基本设置

    进入虚拟机环境中:首先我们对 Git 进行用户名和邮箱进行设置,请参照下面格式,替换为你自己常用的用户名和邮箱来完成设置: $ git config --global user.name " ...