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
目录
相关文章
|
3月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
226 61
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
177 0
|
4月前
|
网络协议 安全 Devops
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
131 4
|
4月前
|
域名解析 监控 网络协议
21.7K star!再见吧花生壳,没有公网ip,也能搞定所有网络访问!内网穿透神器NPS
“nps”是一款强大的内网穿透工具,支持多种协议与功能。它无需公网IP或复杂配置,可实现远程桌面、文件共享和私有云搭建等。项目采用Go语言开发,具有高性能与轻量级特点,适用于远程办公、物联网管理等场景。其核心亮点包括零配置穿透、多级代理网络、实时流量监控及企业级安全特性。对比同类工具,“nps”在安装复杂度、协议支持和管理界面方面表现优异。项目地址:https://github.com/ehang-io/nps。
932 12
|
5月前
|
机器学习/深度学习 人工智能 安全
从攻防演练到AI防护:网络安全服务厂商F5的全方位安全策略
从攻防演练到AI防护:网络安全服务厂商F5的全方位安全策略
119 8
|
7月前
|
安全 程序员 Linux
全球头号勒索软件来袭!即刻严控网络访问
全球头号勒索软件来袭!即刻严控网络访问
|
8月前
|
安全 网络协议 网络安全
【Azure APIM】APIM服务配置网络之后出现3443端口不通,Management Endpoint不健康状态
如果没有关联的网络安全组,则阻止所有网络流量通过子网和网络接口。
160 30
|
8月前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
629 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
7月前
|
云安全 人工智能 安全
公共云网络安全即服务!阿里云稳居市占率第一!
公共云网络安全即服务!阿里云稳居市占率第一!
|
10月前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
205 32

热门文章

最新文章