使用PowerShell快速部署Win12R2虚拟化桌面
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的所有功能。
在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
当我们已经导入了专门为远程桌面服务RemoteDestop cmdlet后。接下来就是使用powershell命令来部署基于会话的远程桌面服务器。在Windows Server 2012 R2中远程桌面服务中有两种方式部署。一种是基于角色快速部署安装,将所有的角色和功能都安装在同一台主机中,另一种是标准部署,将RemoteDestop中的角色分别部署到不同的主机中,在图形化界面中,我们会使用安装向导来安装所有必需的角色,而不是手动安装和配置所有的个别角色。
首先,我们来安装基于会话的桌面快速部署,在此示例中我们会模拟一个快速部署的环境,在一台服务器上安装部署(RD 会话主机、RD连接代理和RD WebAccess)所有的角色,在基于会话的桌面快速部署中,我们主要使用命令New-SessionDeployment。可以通过New-SessionDeployment –help来查看此命令的语法。
语法:New-SessionDeployment [-ConnectionBroker]
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
在执行命令后,我们就可以看到采取了哪些步骤在进行配置,并可以看到配置的进展情况,由于命令中包含了三个角色组建,按照命令的顺序会依次安装。
开始,系统会收集和验证一些信息和设置。
接下来,系统会安装RD连接代理服务器。
接下来,系统会安装RD Web访问服务器。
接下来就是安装最后一项,准备安装RD会话主机角色服务,在安装RD会话主机角色服务的过程中是需要重新启动的,可以在powershell中可以看到其进程。
安装的最后一步就是将这些角色相关联,角色服务安装后,系统会进行一些自动的配置。
PowerShell 安装程序完成后我们可以打开服务器管理器控制台在目标机器上,我们看到远程桌面服务选项卡,在实际安装了三个角色。
如果将角色同时安装在一台主机上时,在安装开始的时候,提示错误,在powershell中显示无法重新启动本地服务器,当出现这个问题时,不是因为管理员的权限不够,而是因为你在目标服务器上运行了powershell部署命令,安装过程中是需要重新启动RD会话角色服务器的,所以在安装过程中无法关闭和停止powershell的运行,要解决这个问题,需要在远程服务器上运行这些命令,以便在目标服务器可以重新启动。
三、使用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,首先我们看下此命令的语法:
语法:New-RDVirtualDesktopDeployment [-ConnectionBroker]
命令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
在执行命令后,我们就可以看到采取了哪些步骤在进行配置,并可以看到配置的进展情况,由于命令中包含了三个角色组建,按照命令的顺序会依次安装。
开始,系统会收集和验证一些信息和设置。
接下来就是安装RD代理连接。
接下来,系统会安装RD Web访问服务器。
接下来就是安装最后一项,准备安装RD虚拟主机角色服务,在安装RD虚拟主机角色服务的过程中是需要重新启动的,可以在powershell中可以看到其进程。
当虚拟化主机重启以后,接下来就是安装的最后一步,将这些角色相关联,角色服务安装后,系统会进行一些自动的配置。接下来系统会自动配置RD连接代理服务器。
接下来是在配置RD Web访问服务器。
最后一步就是配置虚拟化主机。
owerShell 安装程序完成后我们可以打开服务器管理器控制台在目标机器上,我们看到远程桌面服务选项卡,在实际安装了三个角色。
在虚拟化主机中,会安装Hyper-V角色,并建立默认的交换机,外部的交换机RDS Virtual采用外部连接方式,
如果将角色同时安装在一台主机上时,在安装开始的时候,提示错误,在powershell中显示无法重新启动本地服务器,由于安装过程中是需要重新启动RD会话角色服务器的,所以在安装过程中无法关闭和停止powershell的运行,要解决这个问题,需要在远程服务器上运行这些命令,以便在目标服务器可以重新启动。
五、使用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中还有大量的命令来进行管理和安装远程桌面服务。