上一篇 如何建立Azure RemoteApp服务 说明如何使用内建的映像档建立基本的RemoteApp服务,当想要布署自己的应用程式,并调整需要的设定和语系,就必须使用客制的映像档,

   

必要的环境条件:

1. 可以建立VM的作业系统环境,建议直接使用Server 2008 R2或更新的作业系统,使用Hyper-V来建立。

2. Azure订阅的帐号,并申请核准RemoteApp服务 http://azure.microsoft.com/en-us/services/remoteapp/

3. Windows Server 2012 R2的ISO安装档案

4. 需要布署的应用程式安装档案

   

注意事项:

1. Azure只能支援VHD格式的虚拟硬碟和第一世代的虚拟机器

2. 必须停用Encrypting File System (EFS)

3. 建议先将Remote Desktop Session Host (RDSH) 角色安装完成,再来布署应用程式

   

步骤一:在Hyper-V建立适合上传的VHD档案

   

1. 新增一个虚拟机器,这个画面只有环境是Server 2012 R2和Windows 8.1上才会看到的画面,如果制作的环境和我一样,切记一定要选择 [ 第1代 ] ,选择制作错误只能从头再来。

   

2. 在新增虚拟硬碟上建议选择 [ 稍后连结虚拟硬碟 ] ,原因是如果系统是Server 2012或Windows 8以上的系统,预设会建立VHDX格式的虚拟硬碟,但Azure只支援旧版格式VHD,如果建立错误也可以使用Hyper-V的 [ 编辑磁碟 ] 工具做转换。

   

3. 建立新的虚拟硬碟,请记得选择VHD

   

4. 选择磁碟类型 [ 动态扩充 ] ,选择固定大小VHD上传太花时间

   

5. 安装Windows Server 2012 R2后,先新增角色勾选 [ 远端桌面服务 ] (Remote Desktop Services)

   

6. 在功能上展开 [ 使用者介面与基础结构 ] (User Interfaces and Infrastructure) 并勾选 [ 桌面体验 ] (Desktop Experience)

   

7. 在角色服务勾选 [ 远端桌面工作阶段主机 ] (Remote Desktop Session Host)

8. 确认开始安装,安装完毕再来布署使用的应用程式,避免造成应用程式相容性的问题,造成无法正常发布

   

9. 安装完应用程式,还需要再确认一个地方

C:\ProgramData\Microsoft\Windows\Start Menu\

因为最后会进行sysprep系统封装,会将所有使用者帐号删除,如果捷径是存放在User Profile下,当上传到Azure时会无法自动出现在发布清单中,必须使用路径指定的方式,而且图示会变成统一的远端桌面图示,不是该应用程式专属的icon,以我实作经验例如:记事本notepad、Internet Explorer和第三方软体,都必须手动建立捷径到这个位置。

   

10. 如果安装的应用程式执行时需要执行UAC的验证动作,可以透过本机群组原则修改以下Policy的设定,关闭UAC的功能,透过Azure的RemoteApp目前没有办法去调整使用权限,所有的使用者都只有一般使用者权限,连Azure管理者帐号也不例外。

使用者帐户控制: 允许 UIAccess 应用程式不使用安全桌面来提示提升权限。

已启用

使用者帐户控制: 使用内建的 Administrator 帐户的管理员核准模式

已启用

使用者帐户控制: 在管理员核准模式,系统管理员之提升权限提示的行为

提升权限而不提示

使用者帐户控制: 开启管理员核准模式

已停用

使用者帐户控制: 侦测应用程式安装,并提示提升权限

已停用

使用者帐户控制: 将档案及登录写入失败虚拟化并储存至每一使用者位置

已启用

使用者帐户控制: 提示提升权限时切换到安全桌面

已停用

使用者帐户控制: 仅针对已签署与验证过的可执行档,提升其权限

已停用

使用者帐户控制: 仅针对在安全位置安装的 UIAccess 应用程式,提升其权限

已停用

使用者帐户控制: 标准使用者之提高权限提示的行为

自动拒绝提升权限要求

   

11.再来关闭Encrypting File System (EFS),使用系统管理员身分执行cmd,

输入指令 [ Fsutil behavior set disableencryption 1 ] ,并重新启动电脑

   

12. 检查%windir%\Panther\资料夹下,如果有Unattend.xml档案,建议将该档案重新命名Unattend.old,避免后续上传映像档时发生问题

   

13. 最后执行系统封装,使用系统管理员身分执行cmd,输入指令

[ C:\Windows\System32\sysprep\sysprep.exe /generalize /oobe /shutdown ]

   

步骤二:取得上传指令

   

1. 在Azure管理介面上,点选 [ REMOTEAPP ] ,再点选 [ TEMPLATE IMAGES ] ,再点选下方的 [ UPLOAD ]

   

2. 输入Template Image的名称和上传地区

   

3. 取得执行指令和上传的Powershell档案

   

步骤三:透过Microsoft Azure PowerShell上传Template Image

   

1. 安装Microsoft Azure PowerShell 进入网址 http://azure.microsoft.com/en-us/downloads/ 点选Command-line tools下的Windows PowerShell进行下载安装

   

2. 安装完毕以系统管理员身分执行Microsoft Azure PowerShell

   

3. 输入 [ Add-AzureAccount ] 并使用Azure订阅的帐号登入

   

4. 出现Azure的订阅资讯

   

5. 输入 [ Get-AzurePublishSettingsFile ] 透过网页取得设定档案,下载的档案副档名是publishsettings

   

6. 输入 [ Import-AzurePublishSettingsFile <PathToFile> ] ,记得路径要用双引号框起来

   

7. 切换到下载的Upload-AzureRemoteAppTemplateImage.ps1储存位置路径,并贴上网页上取得的执行指令,再来会自动跳出档案总管,选择步骤一所制作的VHD档案,会先计算VHD档案的MD5并开始上传动作

   

8. 上传完毕新增新的RemoteApp,先选择Template Image上传的地区,就会出现自行上传的Template Image

   

9. 布署完毕,再设定要发布的应用程式

   

参考资料:

How to create a custom template image for RemoteApp

   

相关文章