标签: network-share

如何处理 SMB 共享名称的区分大小写?

\\host.example.com\ShareName\Tail\Components
  |______________| |_______| |_____________|
        host         share        tail
Run Code Online (Sandbox Code Playgroud)

我可以在 UNC 路径的尾部组件上找到大量资源,并且我假设主机组件遵循区分大小写的 DNS 规则,但是共享名又如何呢?

当您仅连接到主机而不指定共享名称时,您要连接的实现可以向您发送正确的共享大小写。当您直接连接到共享时,情况将如何处理?

我只能在 Samba 手册中看到一行,说明“部分和参数名称不区分大小写”,这实际上并没有说明任何一种方式(部分名称用于创建共享,但与该共享的连接可以以不同的方式处理)。我在 Windows 共享文件夹帮助中看不到有关案例的提及。

这是否意味着共享名实际上不区分大小写,并且没有人想过将其明确化,或者有人可以向我指出文档吗?


编辑:

根据微软的SMB2规范

服务器必须按照 [MS-DTYP] 第 2.2.49 节中的指定解析缓冲区字段,以提取主机名和共享名组件。如果 Buffer 字段不是第 2.2.9 节中指定的格式,服务器必须使请求失败并返回 STATUS_INVALID_PARAMETER。否则,服务器必须提供从请求消息中解析的元组 <hostname, sharename> 以调用 [MS-SRVS] 第 3.1.6.8 节中指定的事件,通过解析服务器别名和评估共享范围来规范主机名。服务器必须使用<规范化主机名,共享名>在ShareList中查找共享。如果没有找到具有匹配的共享名称和服务器名称的共享,则服务器必须使请求失败并返回 STATUS_BAD_NETWORK_NAME。

因此,共享名没有标准化,而且我找不到任何表明合规实现必须不区分大小写地执行匹配的内容。

理想情况下,我正在寻找一些文档或来自在 Windows 和 Samba 之外的多种实现上测试过此问题的人的答案,讨论他们的发现。

network-share server-message-block

6
推荐指数
1
解决办法
4567
查看次数

用工作文件夹替换文件夹重定向

我目前正在建立一个实验室以熟悉 Microsoft 的新“工作文件夹”功能。我正在寻找一种放弃文件夹重定向和脱机文件的方法。

到目前为止,我有一个 Windows 7 客户端连接到我的服务器同步共享(必须安装一个额外的包)。此工作文件夹显示在Desktop => User => Work Folders下、Documents 下等。到目前为止一切顺利。

现在我想知道如何将所有用户文件夹(文档、下载、收藏夹等)移动到这个工作文件夹。是否有任何最佳实践或现实生活经验?

我在这里有点困惑......有人可以对此有所了解吗?提前致谢

[附录]

在我的实验室环境中效果很好的是应用 GPO 将文档、下载、...重定向到 C:\Users\%username%\Work Folders\Documents。我什至得到了性能的提升,因为 IOPS 只发生在本地,而不必通过网络传输。

我认为在这种情况下没有办法绕过文件夹重定向。

windows network-share home-directory folder-redirection windows-server-2012-r2

5
推荐指数
1
解决办法
4326
查看次数

在不丢失共享配置的情况下禁用 Windows 文件共享

背景

我们目前正在将旧应用从在 Windows Server 2003 上运行升级到在 Windows Server 2012 上运行。

用户和其他系统通过 HTTP(即用户访问网站)、FTP(从客户端设备同步数据的文件)和 Windows 共享(从没有 FTP 功能的设备同步数据的文件)与该系统进行通信。

要进行此迁移,我想禁用当前的实时系统并将用户重新指向新的系统。我想确保旧网站、FTP 和文件共享无法访问,因此任何人都没有机会与旧位置通信(即,如果他们以某种方式到达旧系统,我希望他们收到错误消息;所以我们知道存在问题而不是等待某人注意到由于(例如)文件在共享上排队而引起的完整性问题)。

但是,在迁移之后,我们将运行一些测试以了解是否一切正常。如果有问题,我们可能希望回滚到当前的解决方案 - 我希望这尽可能无痛且无风险。

对于 FTP:我将停止 FTP (FileZilla) 服务;意味着回滚我只需要启动这个服务,它会立即访问,没有任何额外的配置(例如重新创建用户和权限)。

对于 HTTP:我将停止 IISAdmin 和 W3Svc 服务;同上推理。

题:

有没有一种简单的方法可以在不丢失配置设置的情况下禁用 Windows Server 2003 上的网络共享(即在不更改这些共享/它们的配置的权限的情况下使 Windows 共享不可访问)?

windows-server-2003 windows-service configuration network-share

5
推荐指数
1
解决办法
4万
查看次数

陈旧的 NFS 句柄,但没有安装任何内容

我有一个 nfs 服务器 (192.168.1.180),它与我的 rapsberry pi (192.168.1.32) 共享一个目录。我以前有过这个工作。

最近,服务器出现故障 - 但客户端没有出现故障。在意识到发生了什么之后,我强制卸载了客户端挂载点并尝试重新挂载。现在我收到了一堆陈旧的 NFS 文件句柄错误。

这是我正在运行的命令:

xbian@xbian /etc/init.d $ sudo mount -v -t nfs 192.168.1.180:/mnt/media /media
mount.nfs: timeout set for Thu Feb 19 21:00:00 2015
mount.nfs: trying text-based options 'vers=4,addr=192.168.1.180,clientaddr=192.168.1.32'
mount.nfs: mount(2): Stale NFS file handle
mount.nfs: trying text-based options 'vers=4,addr=192.168.1.180,clientaddr=192.168.1.32'
mount.nfs: mount(2): Stale NFS file handle
mount.nfs: trying text-based options 'vers=4,addr=192.168.1.180,clientaddr=192.168.1.32'
mount.nfs: mount(2): Stale NFS file handle
Run Code Online (Sandbox Code Playgroud)
  • 挂载点不在 fstab 中
  • 我已经重启了服务器的 nfs-common 服务
  • 我已经明确地将目录取消共享到树莓派,重新启动,重新共享

我在这里不知所措。我似乎无法挂载我的 nfs 共享。

nfs mount network-share

5
推荐指数
1
解决办法
4426
查看次数

Windows 8.1 / 10 GPO 映射驱动器无法连接

更新:没有解决...

问题仍然存在,我也尝试了强化的 UNC 路径方法,但仍然没有运气。如果我遇到新的东西,我会继续更新这个线程。

更新并解决(希望如此)

似乎问题是由 Windows 10(和 8.1)中的“快速启动”选项触发的。甚至有一篇TechNet 文章描述了类似的东西。我通过注册表 GPO ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power\HiberbootEnabled, REG_DWORD 0x0 (0))停用了所有客户端的快速启动

现在,网络共享在启动和重新启动时被映射。我希望它保持这种状态。


在我的环境(具有三个 DC 的 Server 2012 R2 域,所有 GC)中,通过 GPP 映射的驱动器存在一些问题,但仅限于 Windows 8.1 和 Windows 10 客户端(已安装所有更新)。

GPP 映射 7 个驱动器,其中 4 个在主 DC 和文件服务器上,另外 3 个在 DFS 共享上。

如果 Win8.1/Win10 客户端连接,有时会出现驱动器,但大多数时候不会出现。如果我gpupdate /force通过命令行运行所有这些连接。当闲置一段时间后用户想要浏览共享(DFS 或文件服务器无关紧要)时,会弹出错误:

错误 0x80090006:无效签名

但是如果他们再次点击驱动器,一切都很好。我尝试了我能想象到的所有可能的修复方法,将 GPP 设置为在启动前等待网络,通过 将服务器上的自动断开时间设置为无限net config server /autodisconnect:-1,删除 GPP 并从头开始,检查并重新检查 sysvol 权限,但都无济于事。

客户端有时还会在事件日志中显示无法访问 …

network-share group-policy windows-8.1 windows-server-2012-r2 windows-10

5
推荐指数
1
解决办法
3万
查看次数

IIS 无法访问共享网络文件夹

对不起,如果这已经得到回答。但是我浏览了很多帖子,没有任何效果对我有用。

首先,我是IIS管理新手。我们在 IIS 8 中有一个应用程序,应用程序池在域帐户下配置(应用程序池-->高级设置-->身份)。我们网络内不同服务器中的共享文件夹,位于同一域中。

当我们使用同一个域账号登录IIS托管机器时,这个账号就可以浏览共享文件夹了。但是,Web 应用程序无法找到此路径。此外,如果我们在与 IIS 服务器相同的机器上设置一个共享文件夹,我们的 Web 应用程序就能够找到该位置。因此,只要它们都在同一服务器上,Web 应用程序就能够找到该位置。

此外,域帐户被授予访问共享文件夹的权限。

另外,我不确定如何获取更多日志。我看到日志设置在 C:\inetpub\logs\LogFiles\W3SVC1,但它没有关于这个问题的任何有价值的信息。

谢谢你。

iis network-share

5
推荐指数
1
解决办法
3万
查看次数

将 3TB 的 NTFS 文件从本地文件服务器移动到 Azure 服务器 - 传输的最佳方法是什么

我们正在将带有 2.7TB NTFS 文件的本地 Windows 文件服务器迁移到 Azure(我们有 100 mb/s VPN 站点到站点连接到 Azure)

人们会推荐什么最好的方式来传输我们的文件,同时保持 NTFS 权限不变?

我们可以在文件服务器上重新创建大约 20 个网络共享,但不想重新创建 300 多个用户的 NTFS 目录权限。

我们创建了一个 Azure 服务器并在本地服务器(一个 2008R2 Windows Server,在 VMware 中虚拟化了 3 个驱动器)之间设置了 DFS 文件复制,但是我们在让它工作时遇到了问题,它适用于少量文件但不起作用他们都。

有没有人使用 ez copy 或 Azure 导出服务(向 Azure 发送硬盘)这些方法中的任何一种都可以保持 NTFS 权限不变吗?

file-server network-share azure

5
推荐指数
1
解决办法
971
查看次数

如何在映射新驱动器之前清理旧连接?

我在 Windows Server 2008r2 上有一些脚本,可以使用有限的凭据访问其他服务器系统上的特定资源。如果某人或其他脚本也使用不同的凭据从此服务器访问了该系统并且没有注销,则脚本将失败并显示Error 1219 "The network folder specified is currently mapped using a different user name and password"

如何确保我的脚本在尝试映射新驱动器之前删除与该特定计算机的所有连接?

C:\> net use //server /d  
Run Code Online (Sandbox Code Playgroud)

本身不起作用。我可以跟进并net use看到驱动器仍然共享:

C:\> net use \\server /d
\\server was deleted successfully.


C:\> net use
New connections will be remembered.


Status       Local     Remote                    Network

-------------------------------------------------------------------------------
Disconnected           \\server\somedrive       Microsoft Windows Network
The command completed successfully.
Run Code Online (Sandbox Code Playgroud)

断开的驱动器仍然会导致相同的情况Error 1219

任何人都可以提出比删除该计算机上存在的所有共享的详尽列表更优雅的解决方案吗?

net use \\server\share1 /d
net use \\server\share2 /d
net use \\server\share3 /d
etc... …
Run Code Online (Sandbox Code Playgroud)

networking windows-server-2008 network-share

5
推荐指数
1
解决办法
1万
查看次数

关闭网络上的所有共享文件

我正在尝试通过 PowerShell 脚本关闭服务器共享文件夹中的所有打开文件。我发现以下脚本仅关闭一个驱动器 (F:) 上的文件,但是,该服务器有 3 个驱动器(F:\、G:\、H:),我想将它们全部关闭。

net files | 
    where   { $_.Contains( "F:\" ) } |
    foreach { $_.Split( ' ' )[0] }   |
    foreach { net file $_ /close }
Run Code Online (Sandbox Code Playgroud)

有没有办法将丢失的驱动器添加到这个脚本中,或者我必须为每个驱动器单独使用相同的脚本?

我试过{ $_.Contains( "F:\", "G:\", "H:\" ) }但没有用

感谢您的帮助!

powershell network-share shell-scripting

5
推荐指数
1
解决办法
1998
查看次数

Windows 域中的文件共享

您如何将单个用户(或几个用户)分配到共享子文件夹但限制其他用户?

我和我的公司遇到了我们当前文件共享环境的设置问题,但我们没有尝试解决问题,而是将在新平台上重建系统。这次我们想从头开始做。

但是,我们遇到的问题是如何摆脱分配单个用户访问文件夹的权限。我的理解是您将用户分配到(安全)组,然后将该组添加到 NTFS 权限。但是,我们有许多文件夹,我们需要在其中授予特定用户访问文件夹的权限,而不是该组中的用户。

如果我没有解释清楚,我深表歉意。我会尽量在回复中澄清。

ntfs network-share window-server-2012

5
推荐指数
3
解决办法
460
查看次数