我正在使用的代码
net use K: \\<ServerName>\C$\Share /user:<domain>\<userName> '<password>'
克:是已安装的驱动器
分享是服务器中与用户名和密码共享的文件夹名称
我得到的错误是
System error 5 has occurred.
Access is denied.
我认为错误是因为远程服务器的 445 端口已关闭。因为我确信我提供的凭据正确。
答案1
如果您可以控制远程服务器并且它是 Windows 服务器,请尝试从远程服务器上的提升的(以管理员身份运行)命令提示符运行以下命令:
netsh a s a state off
不要让它处于这种状态,因为它会关闭防火墙完全地以便您进行测试。然后net use
在客户端上再次尝试您的命令。如果这有效,那么就是防火墙问题。重新打开防火墙:
netsh a s a state on
然后通过添加适当的规则(针对 TCP 445)或更改网络配置文件来解决防火墙问题。
其他答案建议TCP port 139
,但对于 SMB,仅当您通过其 NETBIOS 名称访问计算机时才需要这样做。即使使用 SMB 协议,它也用于名称解析。事实上,在这种情况下,您需要TCP ports 137-139
打开。实际的共享访问是通过TCP port 445
(自 Windows 2000 以来!)完成的,如果您只通过 IP 访问计算机,那么这就是唯一要使用的端口。
但是,按照我的建议暂时关闭防火墙将会告诉您是否是端口/防火墙问题。
答案2
这可能与 Windows 2012 服务器上与旧 NAS 相关的 SID 压缩有关 - 但这是否会对您造成伤害取决于您的特定配置。我在 DC(2012R2)上安装了特定更新后偶然发现了它,之后我无法访问旧 Thecus NAS 上的 SMB 共享。没有 kerberos 身份验证(使用 klist 命令检查)。以下是解决方案:https://support.microsoft.com/en-us/help/2774190/resource-sid-compression-in-windows-server-2012-may-cause-authorization-problems-on-devices-that-do-not-support-resource-sid-compression
答案3
作为净使用分别在端口 445、139 或 80 上使用 SMB、Netbios 或 WebDAV 协议根据网络供应商订单,我没有看到任何选项你怎么能运行净使用不同的端口。
Technet 上也没有关于以下内容的信息:https://technet.microsoft.com/en-us/library/gg651155(v=ws.11).aspx
正如你所得到的访问被拒绝我建议您根据您尝试访问的用户检查 CIFS 的设置权限。
答案4
如果出现access denied
错误,这意味着远程服务器明确拒绝授予您访问权限。但要做到这一点,首先必须建立网络连接。
这不是网络问题。