本文介绍如何使用规范名称(CNAME)解决访问服务器消息块(SMB)服务器时出现的问题。
现象
假设出现了下面这种情景:
- 你有一个 SMB 文件服务器,例如基于 Windows Server 的计算机或网络连接存储(NAS)。
- 服务器具有可以使用其 NetBIOS 名称、域名系统(DNS)完全限定域名(FQDN)和别名(CNAME)访问的文件和资源。
- 你有一个运行 Windows 10、Windows 11、Windows Server 2016 或更高版本的 Windows Server 的客户端。
- 在客户端上,可以使用 NetBIOS 名称或 FQDN 访问应用程序或用户帐户的 SMB 共享。
在此方案中,使用 CNAME 通过运行以下命令之一来访问 SMB 共享时,该命令将失败。
\\CNAME.contoso.com\share_name\\CNAME\share_nameNET USE * \\CNAME\share_nameNET USE * \\CNAME.contoso.com\share_nameNew-PSDrive -Name "x" -PSProvider "FileSystem" -Root "\\CNAME\share_name" -PersistNew-PSDrive -Name "x" -PSProvider "FileSystem" -Root "\\CNAME.contoso.com\share_name" -Persist
你可能会收到类似于以下示例之一的错误消息:
\CNAME.contoso.com\share_name不可访问。 你可能没有使用此网络资源的权限。 请联系此服务器的管理员,了解你是否具有访问权限。
帐户限制阻止此用户登录。 例如:不允许使用空白密码,登录时间有限,或者已强制实施策略限制。
\CNAME.contoso.com\share_name不可访问。 你可能没有使用此网络资源的权限。 请联系此服务器的管理员,了解你是否具有访问权限。
登录失败:目标帐户名称不正确。
原因
出现此问题的原因可能是以下之一:
- 配置问题或 SMB 服务器服务强化问题。
- 文件共享服务器的 DNS 别名 (CNAME) 记录的服务主体名称 (SPN) 缺失。
解决方法
若要解决此问题,请避免使用 DNS CNAME 来配置文件服务器的备用名称。 而是使用 netdom 命令定义别名来配置它:
Netdom computername <ComputerOriginalName> /add:<Alias>
有关详细信息,请参阅 使用计算机名称别名代替 DNS CNAME 记录。