AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 109276
In Process
RobW
RobW
Asked: 2010-02-04 10:52:45 +0800 CST2010-02-04 10:52:45 +0800 CST 2010-02-04 10:52:45 +0800 CST

如何判断哪台计算机在网络共享上打开了文件?

  • 772

环境:

Windows XP sp3、Windows 2003 服务器

问题:

我们有几十台自助服务终端机器,每台机器都有相同的登录名,它们偶尔会短暂地在共享上创建一个文件。速率是一分钟多锁和释放。

最近,我们遇到了一个客户端独占锁定文件,然后不释放文件。 

发生这种情况时,我们可以关闭文件,但会过几分钟或更长时间,这是不可接受的中断。

未释放的锁定问题在上个月发生了几次。我一直在寻找负责锁定的信息亭设备,并在它发生时快速检测到它。

我们可以从服务器获得的信息似乎存在差距:

我们可以从各种工具中看到: -
哪些文件是打开和锁定的。(多种方式) -
什么登录有一个特定的文件打开或锁定。(多种方式)
- 特定计算机通常打开文件。(共享文件夹、会话 mmc)

我们看不到的是特定计算机打开并锁定了特定文件。

任何人都知道如何做到这一点?

谢谢 -

抢

windows-server-2003 network-share filesystems windows-xp
  • 11 11 个回答
  • 94188 Views

11 个回答

  • Voted
  1. techie007
    2010-02-04T11:52:04+08:002010-02-04T11:52:04+08:00

    查看这个免费的小工具(ShareWatch),我认为它会满足您的需求。

    列出的功能之一:“显示连接到每个共享的用户和计算机,以及打开的文件。”

    替代文字

    • 10
  2. sky100
    2010-02-04T11:19:12+08:002010-02-04T11:19:12+08:00

    输入命令行(CMD),

    然后输入:openfiles /query ip of the networkshare

    并且可能需要用户名和密码。

    您可以在此处获取有关 openfiles 的更多信息。

    • 7
  3. Thomas
    2010-02-17T08:14:40+08:002010-02-17T08:14:40+08:00

    我相信您会想要参考 Sky100 的帖子,因为他是正确的,不是为您提供您所要求的内容,而是为您提供解决问题所需的内容。您需要通过“openfile /query /v”(详细)命令引用锁定的 ID 号,因为它会为您提供所需的数据。在给定列表中搜索文件名,数据将显示哪个项目已启用读写,并提供特定的 ID 号。不,您可能无法找到锁定文件的特定系统,但使用提供的工具,您可以断开该用户与文件的连接。这是简化我的杂谈的一步一步。

    1) 在具有管理员权限的文件服务器上,执行 Start > Run > CMD [ENTER]

    2) CD Desktop [ENTER](你很快就会明白为什么。)

    3) openfiles /query /v > file.txt [ENTER](这将在桌面上创建一个文件,其中包含服务器上所有打开文件的列表。)

    4) 打开 file.txt 并搜索包含您的文件名和读取 + 写入权限的行。

    5) 记下该行的 ID 号,然后返回您的命令控制台。

    6) openfiles /disconnect /ID [在此处输入 ID 号] [ENTER]

    只要您在文件服务器上拥有管理权限,它就会将该系统与文件断开连接,并假设您的系统是自动化的,应该允许事情根据需要继续进行。

    参考:openfiles /query /? 打开文件/断开连接/?

    如果您需要适合您的系统的脚本或编程应用程序,请随时发表评论,我将提供联系信息,价格非常低,技术也很好。支持我的申请。

    • 5
  4. Helvick
    2010-02-04T11:14:27+08:002010-02-04T11:14:27+08:00

    您要解决的问题是您陈述的问题(即将特定的客户端计算机(而非用户)映射到锁定的文件)还是存在需要解决的锁定问题?

    如果后者有帮助,那么我会考虑两件事:

    • 检查安装在您的客户端上的 AV - 我已经看到多个客户端 AV 在共享上导致严重讨厌的异常锁定行为。

    • 尝试通过将 EnableOpLocks 注册表值设置为 0 来禁用机会锁定。

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters EnableOplocks REG_DWORD 0 或 1 默认值:1(启用)

    这会在一定程度上降低性能,但不应该破坏任何东西。

    我很乐意看到有人真正回答你提出的问题——这是一个有趣的问题。

    • 2
  5. Thomas
    2010-02-19T09:54:21+08:002010-02-19T09:54:21+08:00

    在我尝试解决 RobW 的问题并提供替代解决方案时,我没有回答他的问题。

    我相信您正在寻找的解决方案是在该系统上设置审核策略,然后设置该文件以审核来自该特定用户的任何访问。执行此操作的步骤可能因您的网络设置而异,因此我将向您推荐 microsoft 的 technet 链接,了解如何设置不同的系统进行审核。

    http://technet.microsoft.com/en-us/library/cc787268(WS.10).aspx

    设置完成后,确保通过将用户帐户附加为审核员来设置您希望监控的特定文件,您应该准备好了。

    以后只需检查您的安全事件日志,虽然它会列出每个系统(因为它们都使用相同的用户名),但应该不难分类并找到当前对文件具有读写访问权限的系统。

    将安全日志设置为每隔几天清除一次可能会很有用。

    如果这不起作用,您可能需要根据访问文件的每个主机名而不是用户名来设置系统。我相信这是通过 Microsoft 管理控制台实现的。

    同样,如果您需要编程,我不是一个有兴趣为一些小程序花大量钱的商人。我以即使是个人也不会回避的价格提供高质量的节目。我希望这可以帮助您解决问题。

    • 2
  6. phaedrusschmaedrus
    2021-12-28T14:55:57+08:002021-12-28T14:55:57+08:00

    在现代 Windows 系统上,

    Get-SMBOpenFile | select path,clientcomputername,clientusername
    

    将为此做的伎俩。您将获得本地文件路径、客户端计算机的 IP 或主机名,以及打开文件的 AD 用户。

    • 2
  7. reiniero
    2011-07-29T00:57:18+08:002011-07-29T00:57:18+08:00

    如果可能的话,我还会将不同的用户分配到不同的信息亭 - 它可能会帮助您分析其他日志......

    如果这不可能: 可能的解决方案概述:解决方案可能是在信息亭上运行带有适当过滤器(针对相关文件)的 sysinternals processmonitor 之类的工具(不知道是否可以隐藏它)。您可以使用一些命令行选项将捕获的数据保存到文件中。

    从各种信息亭收集这些信息,将它们导入到 Excel 中,然后查找未关闭的信息亭...

    • 1
  8. Bryan
    2010-02-19T10:13:40+08:002010-02-19T10:13:40+08:00

    使用命令 netstat 来确定这一点怎么样?

    netstat -an | find ":445"
    

    这应该为您提供所连接机器的 IP 地址。

    如果您想要主机名而不是 IP 地址,请使用

    netstat -a | find "microsoft-ds"
    

    然而,这将需要更长的时间来执行,尤其是在繁忙的文件服务器或域控制器上,因为它需要执行大量的主机查找。

    此外,请记住,结果将显示入站、出站和空闲侦听端口。

    入站连接将在左栏中显示:445,出站将在右栏中显示。

    如果您不使用 -n 选项,您可以放心地忽略任何显示“LISTENING”的结果以及任何仅显示本地 IP 地址(例如 0.0.0.0 或 127.0.0.1)或计算机拥有的主机名的行。

    例如:

    Z:\>netstat -an | find ":445"
      TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
      TCP    127.0.0.1:445          127.0.0.1:41764        ESTABLISHED
      TCP    127.0.0.1:445          127.0.0.1:41767        ESTABLISHED
      TCP    127.0.0.1:41764        127.0.0.1:445          ESTABLISHED
      TCP    127.0.0.1:41767        127.0.0.1:445          ESTABLISHED
      TCP    192.168.16.17:445      192.168.16.87:1098     ESTABLISHED
      TCP    192.168.16.17:18055    192.168.16.24:445      ESTABLISHED
      TCP    192.168.16.17:20678    192.168.16.24:445      ESTABLISHED
      UDP    0.0.0.0:445            *:*
    

    这里唯一连接的主机是 192.168.16.87。到 192.168.16.24 的连接是出站的。所有其他连接都是本地连接。

    • 0
  9. petrus
    2010-07-13T15:43:32+08:002010-07-13T15:43:32+08:00

    我记得 Windows 中有一个图形工具可以检查使用过的共享和锁定的文件。

    它应该在“计算机管理”下的“系统工具”中(〜从法语翻译...),名称为“共享文件夹”。

    • 0
  10. mbrownnyc
    2011-10-04T10:58:40+08:002011-10-04T10:58:40+08:00

    我知道这已经很老了,但是 ADSI 提供了 WinNT:// 接口,它允许您访问 LANMANSERVER 服务并查询已经在“共享文件夹”mmc 管理单元中公开的属性。我目前正在研究一种将主机和用户链接到打开文件的方法。

    • 0

相关问题

  • 在域加入时将“工作站管理员”添加到本地管理员组

  • 如何轻松地将 DFS 共享移动到新驱动器?

  • 服务器 2003 R2 上的 Cisco VPN 客户端

  • 通过 VPN 更改 Active Directory 密码

  • 如何从 ISA 服务器后面安装 magento 扩展?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve