通过断开待处理的VPN连接而刷新网络驱动器的方法,而不会造成工作流中断

如何解决通过断开待处理的VPN连接而刷新网络驱动器的方法,而不会造成工作流中断

我公司中的大多数人现在都在家工作,不得不通过VPN进入我们的办公室网络。因此,从技术上讲,所有网络驱动器都将断开连接,直到我们登录VPN。建立连接后,我们只需打开文件浏览器窗口并打开每个网络驱动器即可在Windows眼中重建/刷新连接,但是麻烦的是2或3个以上的驱动器,而且我们的某些成员甚至不认为这样做甚至对于我们的主要项目驱动器(每天仅在办公室使用通用驱动器号),每天都要这样做,然后再打开一些需要映射网络驱动器的程序,这样就有可能弄乱我们的文件或其中的链接。

所需解决方案: 我正在寻找可以运行以刷新或重新连接驱动器的批处理或cmd文件,如果可能的话,无需显式使用NET USE(更多有关为何进一步下降的信息),或通过使用批处理文件打开文件浏览器来打开文件浏览器网络文件夹的快捷方式。如果这不可能,我会坚持使用NET USE的解决方案,但希望能为您解决以下问题提供帮助。

我有一些解决方案,它们有点不那么吸引人,因为它们需要某种形式的交互才能在启动后解散它们,而不是运行,达到eof然后使用TIMEOUT /T 5结束。我希望可以简化一些流程,或者至少减少干扰,以便避免当前正在处理的这些不必要的交互:

  • 每个驱动器上的文件夹快捷方式以“ ping”所述驱动器以进行刷新,但这会打开文件资源管理器窗口,可能会中断工作流程。我想尽可能禁止打开此窗口,或者至少立即关闭它(我不知道文件浏览器的工作原理)。

  • 批处理文件,用于测试所有映射的驱动器是否断开连接,然后尝试重新连接,有时会导致cmd窗口中的用户输入中断工作流(我们有两个安全级别,每个安全级别都有各自的登录凭据,还有几个安全级别我们已经使用两个凭据分别映射了网络驱动器,因此当/USER:%username% %password%参数不起作用时,某些断开连接的驱动器将需要手动输入用户名和密码,这似乎是我无法避免的。 NET USE的网络位置是针对哪个安全级别(在项目本身之后标记的)而不是所需的安全级别的可行测试,因此,在此,我唯一的补救措施是禁止要求用户输入)。

  • 多个批处理文件,每个驱动器一个,要求用户手动复制和更改批处理文件以满足自己的需要(我们正在进行的每个项目只有一个驱动器被普遍使用,甚至有些人是一个不同的项目),然后更新任务计划程序以运行其创建的每个文件(一点也不可取,就我而言,这是不可接受的)。如果没有其他修改或在没有干扰的情况下正常工作,我可以使用它在我们公司的默认项目驱动器号上运行,并让人们担心是否需要根据需要重新连接其他项目。

我有一个计划在VPN客户端报告连接的任何时间执行的任务,由于我们的家庭网络和/或我们与VPN服务器之间的连接,该连接可能一天发生多次(我最多有4次或5个“连接”事件在初次登录后触发我的任务,尽管我只需要显式登录一次),这可能会导致工作流进一步中断,而不仅仅是初次VPN登录运行。我愿意接受任何使用NET USE的解决方案,只要我可以在Windows登录密码无效的情况下禁止用户输入请求,或者在可以阻止打开文件资源管理器窗口的情况下取消快捷方式。首选其他解决方案,但我知道这不可能。

我已经使用DIR //server/foo进行了测试,但由于VPN登录成功后文件浏览器未将网络驱动器显示为“已连接”的原因,它会超时。

与将任务调度程序设置为从网络连接运行我的程序相比,与从我们的VPN客户端发出的“ connect”事件相反,我也得到了不同的结果,这主要是因为它根本无法可靠地运行,因为我需要等到通过VPN进行连接,而不仅仅是通过以太网电缆进行标准的互联网连接。为此,我尝试使用两种方法here,但是即使通过Task Scheduler手动触发了“偶数”显示操作正常,VPN登录后可用的网络似乎也无法正确触发任务。因此,我认为这是一个失败,但是如果没有更多简化的解决方案可以使用,或者可以确保该方法不会像观察VPN客户端那样频繁(最好每次登录一次)触发一次,则可以重新访问。连接事件。

在这一点上,我停留在两个解决方案上,它们很可能会中断工作流程,并且使用户非常恼火,以至于我不想作为最终解决方案发送出去(NET USE上的for循环,其中驱动器已断开连接,并打开了一个批处理文件以打开一个快捷方式,该快捷方式将打开一个窗口的前部和中心),以及我认为范围有限且不得已而为之的另一种解决方案。如果没有更好的方法来处理前两个问题,我会尽力而为,但与此同时,我将不胜感激任何帮助/建议!

编辑:

在旁注中,我确实希望短暂弹出cmd窗口,然后在操作完成后自动关闭(就像使用快捷方式解决方案一样),因此可能不可避免地会中断一些工作流。我认为无法接受的是,我无法将其最小化,无法防止用户窗体必须直接或间接与之交互才能使cmd或生成的窗口在它从以前使用的程序用户处获得活动窗口状态后关闭

编辑2:

我已将此查询发布到其他地方,并附带了一些额外的摘要,以帮助缩小我的要求: 作为回顾,我正在寻找一种刷新网络驱动器连接的解决方案,该解决方案不依赖于凭据管理器,如果网络驱动器凭据与Windows登录凭据不同,则不需要用户输入,并且不会弹出需要用户的窗口手动关闭。由于cmd或子进程窗口在自动关闭之前弹出而造成的短暂工作流中断是可以接受的,并且优先选择我已经运行过的两个解决方案途径之一。再次感谢您的输入!

解决方法

1这可能属于该站点所针对的站点,我不确定是否可以在该站点上按名称进行引用。

这表示如果它是在此站点上,则可能要发布在超级用户上。

那是..

对于具有多个驱动器映射的用户,您要存储Windows凭据管理器中使用的凭据,以便可以自动映射驱动器而无需每次都指定用户名和密码。

这将使您的批处理脚本在后台运行并重新映射驱动器

,

我遇到了同样的问题。当我打开 VPN 时,我有 4 个映射驱动器要重新连接,这真的很痛苦。我徒劳地寻找批处理文件解决方案。

我的解决方案是使用一个名为 FBackup 的免费程序。无论如何,我将它用于备份的预期目的,但我注意到当它打开时,它会重新连接我的所有驱动器(包括使用 VPN 到办公室的映射驱动器

所以在我连接后,我打开 FBACKUP。它为我建立了所有连接,然后我将其关闭。工作完成。

,

在我们的设置中缺少更好的答案(肯定会记住Ben的答案,以防以后我可以将其用于较低的安全性配置文件),因此我决定使用更有限的答案批处理文件的作用域,因为在尝试刷新与所有保存的网络驱动器的连接时,我还没有找到任何信息可以隐藏文件浏览器窗口或从cmd窗口请求用户输入(输入密码)。>

由于根据我们的指南,绝对必须重新连接的一个驱动器被普遍分配给同一字母(根据我们正在进行的主要项目来映射更改),因此我选择仅刷新该驱动器作为凭据该驱动器将始终与Windows登录凭据匹配,因此如果密码错误,将不会要求用户输入。

我会一直关注这个问题,以便如果有人出现并有更好的解决方案,我一定会与他们交换选择的答案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-