在 Windows 上装载 SMB Azure文件共享

适用于: ✔️ SMB 文件共享

Azure 文件存储是Microsoft易于使用的云文件系统。 本文介绍如何在Windows和Windows Server上装载 SMB Azure文件共享。

Windows SMB 支持和Azure 文件存储功能

下表显示了 Windows 对于安装 Azure 文件共享时支持的 SMB 版本、SMB 多通道1和 SMB 通道加密的支持。 使用此表来确定访问Azure文件共享的客户端操作系统的功能支持和安全要求。 建议为Windows版本使用最新的 KB。

Windows 版本 SMB 版本 SMB 多通道(仅限 SSD) 最大 SMB 通道加密
Windows Server 2025 SMB 3.1.1 AES-256-GCM
Windows 11 版本 24H2 SMB 3.1.1 AES-256-GCM
Windows 11版本 23H2 SMB 3.1.1 AES-256-GCM
Windows 11版本 22H2 SMB 3.1.1 AES-256-GCM
Windows 10版本22H2 SMB 3.1.1 AES-128-GCM
Windows Server 2022 SMB 3.1.1 AES-256-GCM
Windows 11版本 21H2 SMB 3.1.1 AES-256-GCM
Windows 10版本 21H2 SMB 3.1.1 AES-128-GCM
Windows 10版本 21H1 SMB 3.1.1 是,具有 KB5003690 或更新的版本 AES-128-GCM
Windows Server 版本 20H2 SMB 3.1.1 是,具有 KB5003690 或更新的版本 AES-128-GCM
Windows 10版本 20H2 SMB 3.1.1 是,具有 KB5003690 或更新的版本 AES-128-GCM
Windows Server 版本 2004 SMB 3.1.1 是,具有 KB5003690 或更新的版本 AES-128-GCM
Windows 10 版本 2004 SMB 3.1.1 是,具有 KB5003690 或更新的版本 AES-128-GCM
Windows Server 2019 SMB 3.1.1 是,具有 KB5003703 或更新的版本 AES-128-GCM
Windows 10版本 1809 SMB 3.1.1 是,具有 KB5003703 或更新的版本 AES-128-GCM
Windows Server 2016 SMB 3.1.1 是,具有 KB5004238 或更高版本并且应用了注册表项 AES-128-GCM
Windows 10版本 1607 SMB 3.1.1 是,具有 KB5004238 或更高版本并且应用了注册表项 AES-128-GCM
Windows 10版本 1507 SMB 3.1.1 是,拥有 KB5004249 或更新版本且应用了注册表项 AES-128-GCM
Windows Server 2012 R22 SMB 3.0 AES-128-CCM
Windows Server 20122 SMB 3.0 AES-128-CCM
Windows 8.13 SMB 3.0 AES-128-CCM
Windows Server 2008 R23 SMB 2.1 不支持
Windows 73 SMB 2.1 不支持

1Azure 文件存储仅支持 SSD 文件共享上的 SMB 多通道

2 Microsoft对 Windows Server 2012 和 Windows Server 2012 R2 的支持已结束。 只能通过 扩展安全更新(ESU)计划购买对安全更新的其他支持。

3Microsoft对 Windows 7、Windows 8 和 Windows Server 2008 R2 的支持已结束。 我们强烈建议迁移离开这些操作系统。

确保端口 445 已打开

SMB 协议要求打开 TCP 端口 445。 如果端口 445 被阻止,连接将失败。 若要检查防火墙或 ISP 是否阻止端口 445,请使用 Test-NetConnection PowerShell cmdlet。 有关详细信息,请参阅端口 445 被阻止

如果要在不打开端口 445 的情况下通过 SMB 从 Azure 外部装载 Azure 文件共享,则可以使用点到站点 VPN

若要通过托管在Azure区域外部的公共终结点(例如本地或位于其他Azure区域中)使用Azure文件共享,OS 必须支持 SMB 3.x。 仅支持 SMB 2.1 的旧版Windows无法通过公共终结点装载Azure文件共享。

使用基于标识的身份验证

若要提高安全性和访问控制,请配置 基于标识的身份验证 并使客户端加入域。 使用此身份验证方法,可以使用Active Directory或Microsoft Entra标识来访问文件共享,而不是使用存储帐户密钥。

在使用基于标识的身份验证装载Azure文件共享之前,请完成以下步骤:

  • 为存储帐户配置标识源:Active Directory 域服务(AD DS)、Microsoft Entra Kerberos 或Microsoft Entra 域服务。
  • 分配共享级别权限配置目录和文件级权限。 请记住,共享级角色分配可能需要一些时间才能生效。
  • 如果你要从之前使用存储帐户密钥连接到该文件共享的客户端挂载该文件共享,请确保先卸载该共享并删除存储帐户密钥的永久性凭据。 有关如何在使用 AD DS 或Microsoft Entra凭据初始化新连接之前删除缓存的凭据和删除现有 SMB 连接的说明,请参阅此过程
  • 如果标识源是 AD DS 或 Microsoft Entra Kerberos,则混合客户端必须与Active Directory建立不受阻碍的网络连接。 如果计算机或 VM 位于由Active Directory托管的网络之外,则需要启用 VPN 才能访问Active Directory进行身份验证。
  • 使用您已授予权限的 Active Directory 或 Entra 身份凭据登录客户端。

如果遇到问题,请参阅 无法使用 AD 凭据装载Azure文件共享

在Windows中使用Azure文件共享

若要将Azure文件共享用于Windows,必须装载它,这意味着为其分配驱动器号或装入点路径,或者通过其 UNC 路径对其进行访问。 目前,不支持挂载Azure文件共享的共享访问签名(SAS)令牌。

注意

提升和迁移依赖于SMB文件共享的业务线(LOB)应用程序的常用模式是使用Azure文件共享,替代在Azure虚拟机(VM)中运行专用Windows文件服务器。 成功迁移 LOB 应用程序以使用Azure文件共享的一个重要考虑因素是,许多应用程序在具有有限系统权限的专用服务帐户的上下文下运行,而不是 VM 的管理帐户。 因此,您必须确保在服务账户的上下文中,而非在管理账户中,装载和保存 Azure 文件共享的凭据。

装载Azure文件共享

可以使用 Azure 门户或Azure PowerShell在 Windows 上装载 SMB Azure 文件共享。

若要使用 Azure 门户装载Azure文件共享,请执行以下步骤:

  1. 登录到 Azure 门户

  2. 转到包含要装载的文件共享的存储帐户。

  3. 选择“文件共享”。

  4. 选择要装载的文件共享。

    文件共享面板的屏幕截图,其中文件共享被突出显示。

  5. 选择“连接” 。

    文件共享的“连接”图标的屏幕截图。

  6. 选择要将共享装载到的驱动器号。

  7. Authentication 方法下,选择 Active Directory 或 Microsoft Entra。 如果看到未为存储帐户配置基于标识的身份验证的消息,请使用 基于标识的身份验证概述中所述的方法之一对其进行配置,然后再次尝试装载共享。

  8. 选择“ 显示脚本 ”,然后复制提供的脚本。

    连接面板的屏幕截图,其中突出显示了脚本中的复制按钮。

  9. 将脚本粘贴到要装载文件共享的主机上的 shell 中,然后运行它。

你现在已装载了Azure文件共享。

使用 Windows 命令行装载Azure文件共享

还可以从Windows提示符使用 net use 命令装载文件共享。

从已加入域的 VM 装载文件共享

若要从已加入域的 VM 装载文件共享,请从Windows命令提示符运行以下命令。 将占位符值(包括括号)替换为你自己的值。

net use Z: \\<YourStorageAccountName>.file.core.chinacloudapi.cn\<FileShareName>

将文件共享装载到未加入域的 VM 或已加入其他 AD 域的 VM

如果您的存储账户的标识源为本地 AD DS,则未加入任何域的 VM 或已加入与存储账户所属域不同的 AD 域的 VM 可以访问 Azure 文件共享,前提是它们与 AD 域控制器之间具有畅通的网络连接并提供明确的凭据。 访问文件共享的用户必须在加入存储帐户的 AD 域中具有标识和凭据。

如果存储帐户的标识源是 Microsoft Entra 域服务,则客户端必须具备与 Microsoft Entra 域服务 的域控制器的无障碍网络连接,这需要配置站点到站点或点到站点的VPN连接。 访问文件共享的用户必须在由Microsoft Entra 域服务管理的域中拥有一个Microsoft Entra标识,该标识是从Microsoft Entra ID同步到Microsoft Entra 域服务的。

若要从未加入域的 VM 挂载文件共享,请使用表示法 username@domainFQDN(其中 domainFQDN 是完全限定的域名),使客户端能够联系域控制器以请求和获取 Kerberos 票证。 通过在 Active Directory PowerShell 中运行 ,可以获取 (Get-ADDomain).Dnsroot 的值。

例如:

net use Z: \\<YourStorageAccountName>.file.core.chinacloudapi.cn\<FileShareName> /user:<username@domainFQDN>

如果存储帐户的标识源是 Microsoft Entra 域服务,还可以提供凭据,例如 DOMAINNAME\username,其中 DOMAINNAME 是 Microsoft Entra 域服务 中的域,username 是 Microsoft Entra 域服务 中标识的用户名:

net use Z: \\<YourStorageAccountName>.file.core.chinacloudapi.cn\<FileShareName> /user:<DOMAINNAME\username>

Azure门户提供了一个 PowerShell 脚本,可用于使用存储帐户密钥将文件共享直接装载到主机。 但是,出于安全原因,请使用基于标识的身份验证,而不是存储帐户密钥。 如果必须使用存储帐户密钥,请按照 装载说明进行作,但在 “身份验证”方法下,选择 “存储帐户密钥”。

存储帐户密钥是用于存储帐户的管理员密钥,包括对你要访问的文件共享中所有文件和文件夹的管理员权限,以及对所有文件共享和其他包含在存储帐户中的存储资源(Blob、队列、表等)的权限。 可以在 Azure 门户 中,通过导航到存储帐户并选择 Security + 网络>访问密钥 来找到存储帐户密钥,或者可以使用 Get-AzStorageAccountKey PowerShell cmdlet。

使用文件资源管理器装载Azure文件共享

  1. 若要打开文件资源管理器,请从“开始”菜单打开,或者按 Win+E 快捷方式。

  2. 进入窗口左侧的“此电脑”。 此操作将更改功能区中可用的菜单。 在 “计算机” 菜单下,选择“ 映射网络驱动器”。

    “映射网络驱动器”下拉菜单的屏幕截图。

  3. 选择驱动器号并输入Azure文件共享的 UNC 路径。 UNC 路径格式为 \\<storageAccountName>.file.core.chinacloudapi.cn\<fileShareName>。 例如:\\anexampleaccountname.file.core.chinacloudapi.cn\file-share-name。 选中“使用不同凭据进行连接”复选框。 选择“完成”。

    “映射网络驱动器”对话框的屏幕截图。

  4. 选择“更多选项>使用其他帐户”。 在“电子邮件地址”下,使用存储帐户名称,并使用存储帐户密钥作为密码。 选择“确定”。

    选择使用不同帐户的网络凭据对话框的屏幕截图。

  5. 根据需要使用Azure文件共享。

    Screenshot 显示Azure文件共享现已装载。

  6. 准备好卸载Azure文件共享时,右键单击文件资源管理器中Network 位置下的共享条目,然后选择Disconnect

注意

Azure 文件存储 不支持从非域连接的 VM 或通过 Windows 文件资源管理器加入其他域的 VM 的用户和组进行 SID 转换为 UPN。 如果要通过Windows文件资源管理器查看文件/目录所有者或查看/修改 NTFS 权限,则只能从已加入域的 VM 执行此操作。

通过其 UNC 路径访问Azure文件共享

无需将 Azure 文件共享挂载到驱动器号即可使用。 可以使用 UNC 路径直接访问Azure文件共享。 在文件资源管理器中输入以下路径,并确保将 storageaccountname 替换为存储帐户名,并将 myfileshare 替换为文件共享名称:

\\storageaccountname.file.core.chinacloudapi.cn\myfileshare

系统会提示你使用网络凭据登录。 使用在其中创建了存储帐户和文件共享的Azure订阅登录。 如果未提示输入凭据,请使用以下命令添加凭据:

cmdkey /add:StorageAccountName.file.core.chinacloudapi.cn /user:localhost\StorageAccountName /pass:StorageAccountKey

使用自定义域名挂载文件共享

如果不想使用后缀file.core.chinacloudapi.cn装载Azure文件共享,可以修改与Azure文件共享关联的存储帐户名称后缀,然后添加规范名称(CNAME)记录,以将新后缀路由到存储帐户的终结点。 以下说明仅适用于单林 AD 环境。 若要了解如何配置具有两个或更多林的 AD 环境,请参阅 使用具有多个 Active Directory 林的 Azure 文件存储

重要

如果将自定义域名用于 Active Directory 域服务 (AD DS),请务必将存储帐户的 Kerberos 加密类型升级为 AES-256。

注意

Azure 文件存储仅支持使用存储帐户名称作为域前缀来配置 CNAME。 如果不想将存储帐户名称用作前缀,请考虑使用 DFS 命名空间

在此示例中,你有Active Directory域 onpremad1.com,并且有一个名为 mystorageaccount 的存储帐户,其中包含 SMB Azure文件共享。 首先,修改存储帐户的 SPN 后缀,以将 mystorageaccount.onpremad1.com 映射到 mystorageaccount.file.core.chinacloudapi.cn

可以使用 net use \\mystorageaccount.onpremad1.com 装载文件共享,因为 onpremad1 中的客户端知道搜索 onpremad1.com 查找该存储帐户的适当资源。

若要使用此方法,请完成以下步骤:

  1. 为存储帐户配置基于标识的身份验证。 如果要对混合标识进行身份验证,则必须将 AD 用户帐户同步到Microsoft Entra ID。

  2. 使用 setspn 该工具修改存储帐户的 SPN。 可以通过运行以下 Active Directory PowerShell 命令找到 <DomainDnsRoot>(Get-AdDomain).DnsRoot

    setspn -s cifs/<storage-account-name>.<DomainDnsRoot> <storage-account-name>
    
  3. 使用 Active Directory DNS 管理器添加 CNAME 条目。 如果使用专用终结点,请添加 CNAME 条目以映射到专用终结点名称。

    1. 打开Active Directory DNS 管理器。
    2. 转到您的域(例如 onpremad1.com)。
    3. 转到“正向查找区域”。
    4. 选择与你的域同名的节点(例如 onpremad1.com)并右键单击“新建别名(CNAME)”。
    5. 对于别名,请输入存储帐户名称。
    6. 对于完全限定的域名(FQDN),请输入 <storage-account-name>.<domain-name>,例如 mystorageaccount.onpremad1.com。 FQDN 的主机名部分必须与存储帐户名称匹配。 如果主机名与存储帐户名称不匹配,装载将失败,并出现访问被拒绝错误。
    7. 对于目标主机 FQDN,请输入 <storage-account-name>.file.core.chinacloudapi.cn
    8. 选择“确定”。

现在可以使用 storageaccount.domainname.com 装载文件共享。

后续步骤

如需了解更多信息,请参阅以下文章: