问题标签 [smb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
46304 浏览

windows - Windows 文件共享:为什么有时新创建的文件在一段时间内不可见?

我们面临着非常奇怪的问题,这让我们发疯了。有时,我们的文件共享 PC 上新创建的文件在一段时间内“不存在”。要重现问题,您应该至少拥有两台计算机,调用它们alphabeta. beta在PC ( )上创建文件共享\\beta\share\bug并从 PC 运行此 PowerShell 脚本alpha

启动此脚本后,您应该能够看到以下消息:

现在:打开cmd.exe并运行以下命令:

if exist \\beta\share\bug\foo.txt echo 1

在此之后大约 10 秒,您将看到以下消息:

我们发现该错误是由枚举正在创建新文件的共享目录引起的。在Python调用os.listdir('//beta/share/bug')以重现错误。在C#Directory.GetDirectories(@"\\beta\share\bug")。您甚至可以简单地通过 shell 导航到共享目录并调用lsdir.

发现错误Windows Server 2008 R2

请注意,您不能alpha在 Windows Explorer 中实时查看 PC 上的目录内容,因为如果您在 Explorer 中打开此目录,则不会出现错误!因此,请确保在尝试重现错误之前关闭所有此类窗口。每次脚本重新启动后,您应该手动从共享中删除所有已创建的文件(因为脚本相当愚蠢并且总是从 0.txt 开始)。

对于这个问题,我们目前有 2 个解决方法:

  1. 如果客户看到这种情况,它会在有问题的目录中创建一些临时文件 - 在这些文件神奇地出现之后。
  2. 禁用 SMB 2.0:http ://www.petri.co.il/how-to-disable-smb-2-on-windows-vista-or-server-2008.htm

有没有人发现过类似的问题并且可以解释它为什么会发生以及如何“正确修复”它?

谢谢

0 投票
5 回答
5823 浏览

c# - 从 asp.net 应用程序访问网络共享。在 Visual Studio 中工作,但在 IIS 中不工作,为什么?

我在 Intranet 中有一个网络共享,允许每个人(访客)进行写访问

所以,我在 c# 中编写了一个程序(mojoportal 模块,无论如何它是相同的,我认为),它在该路径中写入一些文件,并且在 Visual Studio 中效果很好。

现在,在 IIS 7.5 中使用相同的程序不起作用,我得到了这个异常:

System.Net.WebException:在 WebClient 请求期间发生异常。---> System.IO.IOException - 登录失败:未知用户名或密码错误。

好吧......因为每个人都可以访问 smb 共享,所以我不明白为什么它在 IIS 上不起作用......

代码是这样的:

它可以是什么?谢谢

0 投票
1 回答
1652 浏览

java - 如何使用 JCIFS 库有效地验证大量文件的存在?

我有一个读取数据库的进程来收集大约 200,000 个文件(并且还在增长)的服务器和路径信息。我使用 JCIFS 库来检查文件是否存在于指定位置,一次使用类似:

完成该过程需要几个小时。我试图找到一种方法来加快这个过程。需要验证的文件分布在 40 个目录中。每个目录可以包含几千个文件。SmbFile API有一个listFiles ()函数,它允许我打开一个目录并取回该文件夹中的SmbFile数组。我想知道我是否走在正确的轨道上,是否有人有更好的主意。谢谢!

0 投票
1 回答
896 浏览

log4j - 配置 Chainsaw 以通过网络共享从文件中读取日志

我需要通过 Windows 网络共享读取存储在远程位置的 Log4j 日志。

我尝试将该共享安装为 Windows 中的本地驱动器(L:,真是个幻想...),然后尝试LogFilePatternReceiver使用我知道的模式配置 Chainsaw 中的共享。

问题是,虽然我仍然能够从 Windows 读取文件,但我无法让 Chainsaw 开始监听日志。

Chainsaw 中的文件路径是file://l:/catalina.out,但我得到了

如果我尝试用 更改l:c:只是为了尝试,我会发现该文件不可用(因为它在 C: 上不存在)。

这个问题的可能解释是什么?L: 驱动器,即使是远程驱动器,也安装在 Windows 中,我可以通过 shell 访问它。

谢谢你。

0 投票
2 回答
793 浏览

linux - 用于从多台 Windows 机器复制文件的 Linux 脚本

尝试制作一个 bash 脚本时遇到问题,该脚本将从在 Windows 上挂载到该共享的连接的文件中读取 IP 地址和用户名,然后将任何文件类型复制到名为用户名的新文件夹中。目前它还不能正常工作,如果找不到 Windows 共享,它会创建数百个名为 *.ano 的文件夹。

请帮忙

文本文件:

bash脚本:

大家好,感谢您如此快速的回复,我已将代码更改如下,但仍然得到多个文件,我在这里做错了什么

0 投票
2 回答
937 浏览

php - 从 PHP 修改 smb.conf?

我需要通过 PHP 或 SSH(来自 PHP 的 ssh 链接)添加/删除 SAMBA 共享。

到目前为止,我发现的唯一解决方案是一个用于原始处理文件的类,我对它的可靠性不太信任。(http://www.phpclasses.org/package/1546-PHP-Parse-and-recreate-the-Samba-smb-conf-file.html)

你能推荐一种方法吗?

0 投票
2 回答
1182 浏览

passwords - 什么API可以用来远程修改windows账号信息?

哪些 API 可用于远程更改 Windows 帐户密码?假设我有适当的凭据来更改 Windows 帐户,我需要编写可以远程执行此操作的软件。

该软件将在 Linux 上运行,目前看来,SMB可能在这方面有一些功能,但我需要一个 API、库、代码,甚至是正确的关键词来帮助我弄清楚如何搜索解决方案或解决这个问题的方法。

我在 Linux 上找到了 Wmi客户端,但据我所知,它似乎存在问题

0 投票
3 回答
12005 浏览

ftp - 通过 Internet 共享文件 - WebDAV / SMB / FTP

我们正在开发一个基于 Web 的应用程序,它提供用户案例文件的存储库。希望用户能够从具有完整读写能力的 Web 浏览器访问这些内容。

对于我们的早期系统,它托管在带有 Windows 客户端的本地 Linux 服务器上,我们能够共享一个文件夹并使用 \\server\share_name\file.doc 类型的链接访问它。如果这些类型的链接包含在网页中(在 Internet Explorer 中)并单击在 MS Word 中打开的文件并可以直接保存到共享文件夹中。然而,这些类型的链接仅在 IE 中有效 - 而不是 FF 或 Chrome

现在转向我们下一代系统中基于互联网的解决方案,我们需要类似的功能。

我们正在考虑拥有一个 WebDAV(或 FTP/SFTP)共享并将每台客户端计算机上的本地驱动器映射到它以提供类似功能的想法。不过,这可能不适用于带有 \\server\share_name... 类型链接的 FF 或 Chrome。我们已经进行了简短的测试,并且 file:// 链接在打开文件后不提供写入功能。

作为最后的手段,我们将能够使用手动文件上传对话框,但这并不理想,需要额外的最终用户培训。

有没有人在这个领域有任何类似的经验和任何可能的解决方案/最佳实践。

0 投票
3 回答
1961 浏览

windows - 在 Windows 7 中断开共享时如何避免 12 秒延迟?

我正在制作一些使用 NetUseAdd 和 NetUseDel 函数来连接/断开以共享的实用程序。在 Windows 7 中,我注意到在调用 NetUseDel 和真正的断开连接之间经过了将近 12 秒。我进行了一些调查,发现 net use \server /del 也仅在 12 秒后断开连接。这是小脚本和 Wireshark 输出,对应于脚本的运行:

http://i.stack.imgur.com/5CyCw.png

设置 last tree connect smb 命令作为参考,我们可以看到,树断开延迟了 12 秒。

有谁知道如何减少这样的超时?

0 投票
3 回答
4915 浏览

php - 如何跨 SMB 挂载进行 PHP 复制

我有一个简单的脚本,它将文件从一个 SMB 挂载复制到另一个。源文件系统相同,但 Web 服务器不同。我正在使用 PHP 通过将文件复制到临时目录来处理文件,然后对其执行其他任务。此设置在某个时间点有效,但似乎不再正常工作。有人可以指出我正确的方向吗?

fstab 挂载

php代码

错误

文件夹权限(不是挂载,而是文件服务器上的源文件夹):