08-Windows Server 2012 R2 会话远程桌面-标准部署-使用PowerShell进行部署2-1

马博峰

PowerShell一直是微软windows Server产品中重要的一部分,可以通过PowerShell来完成所有的服务器配置,甚至一些在图形界面下无法完成的事情。随着每一个新版本的微软产品或者服务中,都可以看到PowerShell与这些产品和服务紧密的结合,比起当初的PowerShell,在windows Server 2012 R2中,PowerShell 4.0更为强大,可以支持超过2400个PowerShell cmdlet命令,这是个庞大的数字,对于管理员来说,去记忆这么多的PowerShell cmdlet命令也非常困难,但是PowerShell cmdlet命令中大多数都是普通的计算机单词,即使记忆的不是那么深刻,在输入过程中可以使用Tab键进行补齐,如果遇到不会使用的语法,可以在参数后面家-help已获得详细的帮助。

一、PowerShell与Server Core

在这篇文章中,我们就来通过PowerShell来部署和管理远程桌面服务,展示PowerShell与Windows Server 2012 R2远程桌面的集成,我们将深入PowerShell命令,针对RDS场景(基于虚拟机或者是基于会话)进行配置和管理。

在使用PowerShell cmdlet命令来部署Remote Desktop Services之前,首先需要准备一些环境,情况如下表格:  

服务器名称

操作系统

IP设置

功能

AD-DC.mabofeng.com

Windows Server 2012 R2

192.168.1.100

域控制器

BD-RDS.mabofeng.com

Windows Server 2012 R2 Server core

192.168.1.110

远程桌面连接代理


由于Windows Server 2012 R2 采用的是Server core的安装模式,所以在所以的操作过程中,都必须使用powershell命令来进行管理和控制。采用Server core的安装模式有点有很多有点:

1、减少维护: 因为在Server Core版本中用户只是安装了必不可少的DHCP、文件、DNS以及活动目录这些基本的服务器角色,这样就比安装完整的Server 减少了维护系统所需的时间和精力。

2、减少***面:由于Server Core进行的是最小的安装动作,所以就保证了更少的应用程序运行在服务器上,这样无形中便减少了服务器受***的可能。

3、减轻管理: 因为更少的应用程序和服务被安装在基于Server Core的服务器上,就使得管理方面的开销也大大降低。

4、 降低硬件需求: Server Core的安装只需要大概800M的硬盘空间,快速安装则不到500M。

Server Core模式提供很多的优势,但是这些Server Core带来了优势,同时也带来了劣势,那就是如果使用Server Core模式的服务器,由于没有图形化的界面,对Windows管理员的技术水平具有高的要求,一般Windows初学者,不太习惯使用PowerShell来进行管理。如果习惯了图像化的操作的管理人员,依然可以使用Server Core模式进行部署服务器,可以使用服务器管理器远程进行管理,这样就可以管理Server Core模式的Windows Server的所有功能。

clip_image002

在Windows Server Core模式下,通过服务器配置页面,分别设置服务器的IP地址、将计算机加入到域环境中,并以域管理员的形式进行登录,并打开远程桌面,当设置完成后,最终激活Server Core模式下Windows。

二、使用powershell进行快速部署(RemoteApp)

在使用powershell的安装Remote desktop Server之前,首先让我们在Windows Server 2012R2中导入新的RemoteDestop 模块,使用命令为:

PS C:\Users\administrator.MABOFENG> import-module RemoteDesktop

clip_image004

当我们已经导入了专门为远程桌面服务RemoteDestop cmdlet后。接下来就是使用powershell命令来部署基于会话的远程桌面服务器。在Windows Server 2012 R2中远程桌面服务中有两种方式部署。一种是基于角色快速部署安装,将所有的角色和功能都安装在同一台主机中,另一种是标准部署,将RemoteDestop中的角色分别部署到不同的主机中,在图形化界面中,我们会使用安装向导来安装所有必需的角色,而不是手动安装和配置所有的个别角色。

首先,我们来安装基于会话的桌面快速部署,在此示例中我们会模拟一个快速部署的环境,在一台服务器上安装部署(RD 会话主机、RD连接代理和RD WebAccess)所有的角色,在基于会话的桌面快速部署中,我们主要使用命令New-SessionDeployment。可以通过New-SessionDeployment –help来查看此命令的语法。

clip_image006

语法:New-SessionDeployment [-ConnectionBroker] <String> [-SessionHost] <String[]> [[-WebAccessServer] <String>] [<CommonParameters>]

New-RDSessionDeployment cmdlet 将安装所需的虚拟桌面基础结构 (VDI) 来创建远程桌面服务 (RDS) ,是基于会话的远程桌面部署的角色服务。基于会话的部署允许用户连接到会话集合,其中包括已发布的 Windows Server 2012 R2 RemoteApp 程序和基于会话的桌面。

指定主机远程桌面连接代理 (RD 连接代理) 角色服务、 远程桌面 Web 访问 (RD Web 访问) 角色服务和一个或多个实例的远程桌面会话主机 (RD 会话主机) 角色服务的服务器的完全限定的域名 (FQDN)。

若要执行基于会话的桌面快速部署,我们运行下面的命令:

New-SessionDeployment -ConnectionBroker RDS.mabofeng.com -WebAccessServer RDS.mabofeng.com -SessionHost RDS.mabofeng.com

在执行命令后,我们就可以看到采取了哪些步骤在进行配置,并可以看到配置的进展情况,由于命令中包含了三个角色组建,按照命令的顺序会依次安装。

开始,系统会收集和验证一些信息和设置。

clip_image008

接下来,系统会安装RD连接代理服务器。

clip_image010

接下来,系统会安装RD Web访问服务器。

clip_image012

接下来就是安装最后一项,准备安装RD会话主机角色服务,在安装RD会话主机角色服务的过程中是需要重新启动的,可以在powershell中可以看到其进程。

clip_image014

安装的最后一步就是将这些角色相关联,角色服务安装后,系统会进行一些自动的配置。

clip_image016

PowerShell 安装程序完成后我们可以打开服务器管理器控制台在目标机器上,我们看到远程桌面服务选项卡,在实际安装了三个角色。

clip_image018

如果将角色同时安装在一台主机上时,在安装开始的时候,提示错误,在powershell中显示无法重新启动本地服务器,当出现这个问题时,不是因为管理员的权限不够,而是因为你在目标服务器上运行了powershell部署命令,安装过程中是需要重新启动RD会话角色服务器的,所以在安装过程中无法关闭和停止powershell的运行,要解决这个问题,需要在远程服务器上运行这些命令,以便在目标服务器可以重新启动。

clip_image020

三、使用powershell进行标准部署(RemoteApp)

除此简单部署之外,也可以使用powershell进行标准的部署,标准部署可以将RDS的角色分别部署到不同的主机中,其中也包括部署多个 RD 会话主机服务器,但是都是使用New-RDSessionDeployment。

例如1、在不同的主机上安装RDS角色服务,使用命令为:

PS C:\> New-RDSessionDeployment -ConnectionBroker "RDCB.mabofeng.com" -WebAccessServer "RDWA.mabofeng.com" -SessionHost "RDSH01.mabofeng.com"

此命令将在指定的服务器上安装远程桌面的角色服务。该命令将在名为 RDCB 的服务器上安装 RD 连接代理角色服务。在名为RDWA.mabofeng.com的服务器上安装 RD Web访问角色服务。在名为 RDSH01 的服务器上安装 RD 会话主机角色服务。

例如2、在不同的主机上安装RDS角色服务,包括多个RD会话主机服务器。使用命令为:PS C:\> New-RDSessionDeployment -ConnectionBroker "RDCB.mabofeng.com" -WebAccessServer "RDWA.mabofeng.com" -SessionHost @("RDSH01.mabofeng.com","RDSH02.mabofeng.com")

此命令将在指定的服务器上安装远程桌面的角色服务。该命令将在名为 RDCB 的服务器上安装 RD 连接代理角色服务。在名为 RDWA 的服务器上安装 RD Web 访问角色服务。该命令将 RD 会话主机角色服务安装在两个服务器上,命名为 RDSH01.mabofeng.com 和 RDSH02.mabofeng.com。

四、使用powershell进行快速部署(VDI)

除了使用powershell命令部署基于会话主机的RemoteApp服务,也可以部署基于虚拟机的远程桌面,要创建基于虚拟机部署的命令是New-RDVirtualDesktopDeployment,首先我们看下此命令的语法:

clip_image022

语法:New-RDVirtualDesktopDeployment [-ConnectionBroker] <String> [-WebAccessServer] <String> [-VirtualizationHost] <String[]> `-CreateVirtualSwitch` [ <CommonParameters>]

命令New-RDVirtualDesktopDeployment 是安装基于虚拟机的虚拟桌面 (VDI) ,基于虚拟机的虚拟桌面是需要独立的虚拟机,也就是说要在Windows Server 2012 R2 中安装Hyper-V角色。可以指定创建新的虚拟交换机参数,来创建一个共用的虚拟桌面集合,除了安装的角色服务。在使用powershell的安装Remote desktop Server之前,首先让我们在Windows Server 2012R2中导入新的RemoteDestop 模块,使用命令为:

PS C:\Users\administrator.MABOFENG> import-module RemoteDesktop

指定主机远程桌面连接代理 (RD 连接代理) 角色服务、 远程桌面 Web 访问 (RD Web 访问) 角色服务和一个或多个实例的远程桌面虚拟化主机 (RD虚拟化主机)角色服务的服务器的完全限定的域名 (FQDN)。

若要执行基于虚拟机的桌面快速部署,我们运行下面的命令:

New-RDVirtualDesktopDeployment -ConnectionBroker "rds.mabofeng.com" -WebAccessServer "rds.mabofeng.com" -VirtualizationHost "rds.mabofeng.com" -CreateVirtualSwitch

在执行命令后,我们就可以看到采取了哪些步骤在进行配置,并可以看到配置的进展情况,由于命令中包含了三个角色组建,按照命令的顺序会依次安装。

开始,系统会收集和验证一些信息和设置。

clip_image024

接下来就是安装RD代理连接。

clip_image026

接下来,系统会安装RD Web访问服务器。

clip_image028

接下来就是安装最后一项,准备安装RD虚拟主机角色服务,在安装RD虚拟主机角色服务的过程中是需要重新启动的,可以在powershell中可以看到其进程。

clip_image030

clip_image032

当虚拟化主机重启以后,接下来就是安装的最后一步,将这些角色相关联,角色服务安装后,系统会进行一些自动的配置。接下来系统会自动配置RD连接代理服务器。

clip_image034

接下来是在配置RD Web访问服务器。

clip_image036

最后一步就是配置虚拟化主机。

clip_image038

owerShell 安装程序完成后我们可以打开服务器管理器控制台在目标机器上,我们看到远程桌面服务选项卡,在实际安装了三个角色。

clip_image040

在虚拟化主机中,会安装Hyper-V角色,并建立默认的交换机,外部的交换机RDS Virtual采用外部连接方式,

clip_image042

如果将角色同时安装在一台主机上时,在安装开始的时候,提示错误,在powershell中显示无法重新启动本地服务器,由于安装过程中是需要重新启动RD会话角色服务器的,所以在安装过程中无法关闭和停止powershell的运行,要解决这个问题,需要在远程服务器上运行这些命令,以便在目标服务器可以重新启动。

clip_image044

五、使用powershell进行标准部署(VDI)

如果将虚拟桌面基础结构 (VDI) 角色功能分别安装在不同的服务器,则可以使用命令为:

PS C:\> New-RDVirtualDesktopDeployment -ConnectionBroker "rdcb.mabofeng.com" -WebAccessServer "rdwa.mabofeng.com" -VirtualizationHost "rdhv.mabofeng.com" –CreateVirtualSwitch

如果将虚拟桌面基础结构 (VDI) 角色功能分别安装在不同的服务器,并且创建虚拟化主机池,则可以使用命令为:

PS C:\> New-RDVirtualDesktopDeployment -ConnectionBroker "rdcb.mabofeng.com" -WebAccessServer "rdwa.mabofeng.com" -VirtualizationHost @("rdhv-1.mabofeng.com","rdhv-2.mabofeng.com")

从使用powershell的命令进行安装部署和管理远程桌面服务,这是Windows server 2012 R2中一大重要的功能,在本文中,我们只是看到了其中的一小部分,在powershell中还有大量的命令来进行管理和安装远程桌面服务。在接下来的博客中,我会继续以powershell的方式进行安装和配置RDS,感谢。