从UNC共享路径移除远程锁

本文关键字:程锁 路径 UNC 共享 | 更新日期: 2023-09-27 18:03:53

我现在在为我们的部署场景找到解锁UNC路径文件的解决方案时遇到了麻烦。以下是目前的情况:

我们有多个文件服务器机器。我们的部署应用程序被设置为从MSBUILD放置位置部署到一组目标文件夹(使用定义的过滤器等)。公司的许多用户使用这些文件共享来运行我们的软件。当这些用户打开我们的软件时,他们在他们使用的文件上创建了一个远程读锁。

我们有管理帐户(通过模拟)来执行此操作。我们也可以通过远程计算机管理手动完成。当我们试图在自动构建中自动化过程时,问题就出现了。

在我们当前的状态下,我们试图使用openfiles.exe读取并解锁文件(通过/query/s//server/v),解析ID,然后使用ID解除锁定。我们遇到的问题是,openfiles.exe返回本地文件路径与UNC文件路径。

是否有一种方法可以远程从服务器删除文件锁,只知道该文件的UNC路径(而不知道它的本地路径)?我们不一定有权限在目标服务器上添加应用程序(因为有很多),所以像PsExec -> Handle.exe这样的解决方案很可能不适合我们。

提前感谢您的帮助!科里

从UNC共享路径移除远程锁

我很确定你可以使用WMI来查询Windows计算机的已定义共享列表,其中包括共享名称和本地路径。

考虑到WMI与PowerShell的强大集成-并且PowerShell比原始的WMI更容易使用-编写一个将UNC路径转换为主机本地路径的PowerShell函数应该不会太难。

作为起点,查看PowerShell脚本- WmiObject Win32_Share:

这个脚本的目的是列出服务器上的共享。实际上,这段代码将枚举任何计算机上的共享。

如果你得到这个工作,请分享结果!