传统上,如果要构建虚拟桌面基础结构给终端用户使用,一般有两种选择:可以为每个用户提供单独的虚拟机,或者要求用户使用基于服务器的桌面。这里就存在着用户使用习惯和费用的平衡问题了,如果为了保证用户使用习惯和避免可能存在的软件兼容性的问题,Windows 10的虚拟桌面会是最好的选择,但这样就无法通过底层共用计算资源来节省费用。另一方面,如果需要部署一整套完整的虚拟桌面环境给到终端用户,可能需要几周的时间来准备虚拟桌面的架构,应用发布等。
而现在,Windows虚拟桌面(WVD)能够给用户提供出色的虚拟化 Windows 和 Microsoft Office365 Pro Plus 体验外,还通过内置的安全和管理功能减少 IT 在规划过程中的时间以及资本的开销。只需几分钟,即可部署和扩展大量 Windows 桌面,同时可以选择预装了Microsoft 365相关应用的镜像,用户可以从几乎任何设备访问这些桌面。
区别于传统的自建的虚拟桌面集群,其管理节点的搭建和可用性都由微软代为托管,您只需按需在Azure订阅中搭建WVD的资源池,以及应用的发布和管理,就能够将桌面发布给终端用户。
特别在这个特殊的时期,大家都在家办公的期间,很多国内的跨国企业都对使用WVD非常感兴趣,不仅可以保证移动办公中的安全管控,还可以大大提高使用全球版Microsoft 365的性能,再大的文件都能享受秒级别的Onedrive和Sharepoint的下载速度。
然而苦于他们所使用的global azure的tenant可能不同于他们日常使用的Microsoft 365的tenant,无法去利用他们已有的Windows的license。因此本实验就针对这个场景,通过一个独立的global azure的tenant来配置环境,让另一个Microsoft 365的tenant使用WVD的资源。
准备:
本文中会通过两个阶段的工作来完成WVD资源池的部署。
首先跟大家一起来配置WVD的tenant部分和Azure。这个在这次的实验环境中比较关键,即在Azure订阅所在的AAD与实际使用WVD桌面的Office 365的AAD(与本地的AD同步的状态)不相同的情况下,如何进行配置。阶段一可以拆解为以下几个步骤:
- 配置Azure的tenant
- 建立AAD
- 和本地的AD进行集成
- 在AzureAD中配置对应用户所需的admin的权限
- 配置WVD的tenant
另外这里也整理了配置WVD中所需要的角色,便于在实际情况中提前跟所对应的AAD的global Admin进行沟通:
Azure(Global administrator) – 给Azure门户配置对应的资源。
Office 365(Azure Active Directory admin) – 配置和管理用户访问WVD。
Windows Virtual Desktop Tenant Creator – 配置和管理WVD Tenant的一些具体的配置,这个角色室在配置过程中来手动指定的
Virtual machine admin – 在创建好WVD Tenant以后,用于在Azure订阅中拉起资源用的。
实验使用tenant:
Microsoft 365的tenant,其中LeeGu@howtodo.onmicrosoft.com为此tenant的global admin,创建于云端;
AD同步上来的用户,其中leeonprem@howtodo.onmicrosoft.com为此AD域的域管理员;
Azure的tenant,这里使用了个人的邮箱注册的一个azure trial account,默认域名为”邮箱的前缀+onmicrosoft.com”。
当然在开始之前,我们首先要确保Office 365 tenant中的用户具备使用WVD的license。再测试环境建立完毕后(搭建本地的AD与Microsoft 365 AAD做sync),接下来我们开始配置WVD的tenant:
首先到https://rdweb.wvd.microsoft.com把Microsoft 365对应的AAD的域ID进行注册,这是为了之后的WVD的用户能够去登录使用。等于是做rdweb服务器的配置。
这里需要把server和client app都进行Tenant的注册,这样用户在客户端登录以后,就在后续的使用中不必重复被要求登录了。
接着需要在Microsoft 365的AAD中把Windows Virtual Desktop这个应用注册到其允许的企业应用程序中,点击目录中的“企业应用程序”:
把添加Windows Virtual DesktopApp到Microsoft 365的AAD中:
接着需要把WVD中的tenant creator这个角色分配给Microsoft 365的global admin,即这里的LeeGu这个用户:
注意注册为tenant creator的角色必须满足以下条件:
a) 该用户来自于你想要创建的WVD Tenant这个域中的用户(即此处的howtodo.onmicrosoft.com)
b) 该用户必须是该域中的global admin
c) 该用户必须是工作或学校账户(work or schoolaccount),不可以是来宾用户或者是微软账户
这里因为后续创建是Azure中的用户的操作,所有给与Azure的用户这个tenant creator的权限,这个角色就是后续WVD tenant的管理员:
之后用这个角色在Powershell中登录,用于创建一个WVD的tenant,这次需要安装用于WVD的模块:
这里需要注意的是,Windows VirtualDesktop module不是基于.Net Core搭建的,因此在macOS,或者Linux,或者Azure Cloud Shell 都不能运行这个module,因此这里我在本机的Powershell中安装这个模组。
这里再添加 RDS account到broker中的时候,会需要做次校验,这里就填入刚才被赋予Tenant Creator权限的那个用户LeeGu。
然后我们需要创建对应的WVD tenant,注意这里输入的是目录ID(Directory ID),而不是租户ID(Tenant ID):
到这个阶段位置,我们就完成了阶段一的工作,即在微软的云端RDS PaaS 服务中注册了一个WVD的tenant,下一阶段我们需要部署WVD的资源池,这里就需要切换到准备好的Azure订阅:
- 在Azure市场中找到Windows Virtual Desktop这个应用
- 按步骤配置WindowsVirtual Desktop资源池(关键步骤)
- 将应用通过对应的应用组发布给特定的用户
首先在应用市场中找到这个服务:
点击创建后,就进去到第一步,创建对应的资源组。
这里在配置pooled还是personal的时候,需要考虑的问题在于,对于pooled的方式,底层资源是共享给所有的连接上来的用户的,所有没有一个用户会是local admin,因此无法自由的安装应用。这里把Pooled里的用户都一个个添加进去。
需要注意的是,虽然当然我登录的Azure订阅的目录是我使用的个人邮箱注册的域名,但配置页面中填写的桌面用户是来自于Microsoft 365的域。
接下来需要对应场景选择需要的虚拟机,这里只需要选择选定大致的使用度以及用户数,就会自动选择推荐的机型和机型数量。对于一台D4v3的虚拟机,中度使用的情况下,可以支持16个用户在一台D4s v3的机器上。
在做Virtual Machine setting的时候,注意这一步:
这里需要注意AD Domain UPN的输入,这里指的是后期需要把虚拟机加入域的用户,类似是domainuser的权限,需要注意这个用户不能enableMFA。如果是本地和云端打通的情况,这里需要填写的是domainadmin的用户,即AD中的leeonprem这个用户。
填入:
对于本地单林多域的场景,云端只有部分地区的用户使用WVD,可通过选择Yes来指定到特定的OU:
对于需要利用本地AD进行验证的场景,这里要注意的是,对于之后创建的VM选择的Vnet需要具有联通到本地AD进行通讯的条件,不然之后的登录会卡在这步。
接下来需要指定RDS Owner,这里需要选择在之前注册的tenant中的某个用户,所以对应到的可以是客户在local OU的IT负责人的UPN,同样的,这个用户目前不支持MFA,所以如果企业并不能够解除MFA,这里推荐单独创建一个service principal用于管理。
本实验中,先使用GlobalAdmin LeeG进行配置,后续也可以通过powershell命令的方式把RDS Owner的这个权限指定给比如Local OU的IT的用户,便于后续的管理。
这个步骤所填的信息需要和之前powershell中创建的RDSTenant匹配:
最后,validation 通过以后部署:
部署完成:
之后就拿最早在第一步中添加到Default Desktop User中的用户登录网站aka.ms/wvdweb:
成功登录:
整个实验中,借用了一个独立的global azure的订阅,Howtodo.onmicrosoft.com域中的用户(已配备Windows订阅)就可以快速得到配备Microsoft 365软件的Windows 10 桌面,享受极致的办公体验。