Windows Service 服务中,不能访问挂载目录(网络映射盘)

简介: Windows Service 服务中,不能访问挂载目录(网络映射盘)

SpringBoot Windows 自启动 - 通过 Windows Service 服务实现

Windows Service 服务中,不能访问挂载目录(网络映射盘)

在Windows操作系统中,系统服务(Services)、计划任务(Scheduled Tasks)以及很多系统调用都是以SYSTEM系统账号进行操作的。用 net use 挂载,或者在文件管理器上直接挂载,挂载卷是以 Administrator 身份进行挂载的,而 SYSTEM 账号无法使用 Administrator 挂载的文件卷。

net use X: \\172.16.0.88\Tools /persistent:yes /user:share share

网盘挂载(映射网络驱动器)

详见:https://www.cnblogs.com/vipsoft/p/17059153.html

注意:资源管理器里的映射网络磁盘,Windows Service 无法访问,需使用命令创建

测试代码

@GetMapping("/network")
public String testPath(HttpServletRequest request) {
    String path=request.getParameter("path");
    String result = "";
    if (FileUtil.exist(path)) {
        result = ("挂载目录,存在 => " + path);
    } else {
        result = ("挂载目录,不存在 => " + path);
    }
    return result;
}

正常运行

http://localhost:8080/demo/network?path=D%3A\

做成服务

SpringBoot 做成 Windows Service 服务:https://www.cnblogs.com/vipsoft/p/17236063.html

做成 Windows Service 服务后,挂载盘不可访问,如下图所示:

解决方案1(可以跳至方案2)

此方案,服务器重启后失效,需要重新配置 (可以跳过,看解决方案2)

下载PsExec

https://learn.microsoft.com/zh-cn/sysinternals/downloads/psexec

执行命令

  1. 运行CMD,执行 psexec -i -s cmd.exe
  2. 在新开的CMD窗口中运行网络映射 net use z: \\10.10.x.xxx\test /persistent:yes
  3. 输入用户名和密码映射成功
  4. 重启服务,成功访问网络映射盘

解决方案2

不可以在登录后的系统中创建,通过 whoami 输出会发出执行用户不同

同样是使用命令,只是利用 任务计划程序 ,使得系统重启后,能够再次执行挂载。

使用命令映射 Y 盘,注意此命令运行映射的盘符不可以在资源管理器中的同名,否则会报已存在

创建 批处理文件

MapNetworkDrive.bat

ECHO ON
ECHO This will map the drive, but is being run by task scheduler AS the user SYSTEM
ECHO which should make it accessible to the user SYSTEM
ECHO List the existing drives first.
if not exist G:\ (    
  net use G: \\172.16.0.88\Tools /persistent:yes /user:share share
  ECHO %Date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% >> D:\MapNetworkDrive.log
  net use >> D:\MapNetworkDrive.log
) else (
  ECHO %Date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% >> D:\MapNetworkDrive.log
  ECHO "exist G:\" >> D:\MapNetworkDrive.log
  net use >> D:\MapNetworkDrive.log
)
ECHO See what user this batch job ran under
whoami >> D:\MapNetworkDrive.log
ECHO need to exit to allow the job to finish
EXIT

执行: net use X: \\172.16.0.88\Tools /persistent:yes /user:share share 确保命令可以正确运行(有时候服务器会限制连接数,导致挂载失败)

创建 任务计划

关键 -- 使用命令创建 任务计划

schtasks /create /tn "MapNetworkDrive" /tr "D:\MapNetworkDrive.bat" /sc onstart /RU SYSTEM /RL HIGHEST

重启系统

日志文件 MapNetworkDrive.log

重点:nt authority\system

会记录新的网络连接。
状态       本地        远程                      网络
-------------------------------------------------------------------------------
OK           G:        \\172.16.0.88\Tools      Microsoft Windows Network
命令成功完成。
nt authority\system
目录
相关文章
|
2月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
415 116
|
2月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
331 10
|
3月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
121 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
3月前
|
Shell 开发工具 git
使用代理访问网络各项命令总结
工作中常需设置代理,容易导致环境混乱。本文总结了 SourceTree 无法拉取代码的问题,排查了环境变量、Git 全局配置及系统代理设置,最终通过清除 Git 代理配置解决。内容涵盖排查步骤、命令整理及脚本处理,帮助快速定位并解决代理相关网络问题。
219 3
|
6月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
380 61
|
4月前
|
Ubuntu Windows
双系统必备:Ubuntu自动挂载Windows分区
在双系统环境下,手动挂载Windows硬盘十分繁琐。本文介绍如何配置Ubuntu开机自动挂载Windows硬盘,包括硬盘识别、挂载点创建、fstab配置及验证步骤,帮助您节省时间,实现高效操作。
442 1
|
6月前
|
监控 安全 网络协议
恶意软件无处逃!国内版“Manus”AiPy开发Windows沙箱工具,进程行为+网络传输层级监控! 头像 豪气的
NImplant.exe 是一款后渗透测试工具,可实现远程管理与持久化控制。其优点包括无文件技术、加密通信和插件扩展,但也存在被检测风险及配置复杂等问题。为深入分析其行为,我们基于 aipy 开发了 Windows 沙箱工具,针对桌面上的 NImplant.exe 进行多维度分析,涵盖进程行为、网络连接(如 TCP 请求、目标 IP/域名)、文件控制等,并生成传输层监控报告与沙箱截图。结果显示,aipy 工具响应迅速,报告清晰易读,满足分析需求。
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
335 0
|
6月前
|
网络协议 安全 测试技术
Windows为何在高速网络环境频繁“失速”?
本文深入剖析了企业在高速网络环境中,因Windows系统限制导致传输速率下降的问题,包括接收缓冲区、安全软件及老旧设备等因素,并提供四步定位法及优化方案,助力企业突破传输瓶颈,提升效率。
|
7月前
|
网络协议 安全 Devops
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
274 4

热门文章

最新文章