我有一个脚本通过UNC路径将一些数据从本地服务器(服务器A)复制到另一个服务器(服务器B),服务器B中的共享是为外部硬盘创建的,每天更换一次外部硬盘交换硬盘时使用mountvol命令安装新硬盘,分配的字母相同,但您可能已经知道每个硬盘的卷名称不同.
我得到它的问题(一步一步):
如果我在服务器B中打开资源管理器并转到UNC路径,这意味着在服务器A中有一个来自服务器B的会话用于我的(用户X),在我使用另一个帐户(用户Y)执行的cmd中例如:
dir \\path"
我看到了这些文件,所以此时有来自同一台计算机和不同用户的2个会话.
好奇心:用户Y的会话将保持到您在命令行中编写另一个命令,或者cmd窗口失去焦点 – 而不是在dir命令完成后立即关闭会话.
由于上面的好奇心,在这种情况下可以忽略用户Y的第二个会话,这在用户X的服务器A中留下了一个会话
我转到服务器B,使用mountvol卸载硬盘(也可以在计算机管理中完成),交换硬盘然后我安装新硬盘.
我回到服务器A,在cmd窗口中我再次使用任何帐户User X或Y执行DIR命令,我得到:
The system cannot find the file specified.
如果我转到打开资源管理器窗口并刷新窗口,则文件也不会出现.
>我在互联网上发现,在重新启动服务器B中的资源管理器进程后,共享文件再次可见,即删除服务器A中的会话(所有会话?),另一个技巧就是删除服务器B中的会话.
可能的解决方案 – >我想要你的帮助:)
由于脚本(批处理脚本)是自动的,我不想检查服务器A中的服务器B是否有任何挂起会话,我想强制关闭服务器A中给定共享的所有挂起会话我想从服务器B中的脚本中做到这一点,“net sess(ion(s))”是出于本地目的.
如果您有任何其他建议,我的意思是另一种可能的解决方案,请告诉我.谢谢.
技术信息:
Server A: Windows Server 2008 R2 Enterprise SP1 Server B: Windows Server 2003 Enterprise SP2
笔记:
如果我错了,请纠正我,但我认为:
>在资源管理器窗口中刷新UNC路径的视图不起作用,因为卷名称不同,卸载并再次安装(相同的HDD),使刷新正常工作.这可能是安全功能吗?或者这是一个错误?还是我错过了什么?
>在为一个unc路径运行dir之后,检索文件列表应该立即关闭会话,因为它没有任何“处理”.
>运行un路径的目录后,会话保持打开状态,但当您单击其他窗口(cmd窗口失去焦点)时,会话将消失.