AzurePack通过测试支持的独立虚拟机来宾系统有:【非官方确认】
shell
今天对WindowsServer2003R2SP2x86模版进行了测试,惊喜的是,配合SCVMM2012R2可以完美支持,主要问题有:tcp
一、自动化问题,因为环境中未开启链接虚拟机控制台功能,因此要经过脚本,开启远程桌面ide
二、应答文件制做,2003的应答文件与2008以上操做系统方式不同,下面文中将会提到测试
首先安装一台WindowsServer2003R2SP2x86虚拟机,安装过程略,搞IT的都会。spa
加载WindowsServer2003安装光盘,导航到X:\SUPPORT\TOOLS操作系统
找到DEPLOY.CAB,双击,提取全部文件到C盘sysprep,在C盘根目录创建sysprep目录xml
打开Setupmgr,按照向导建立一个SYSPREP应答文件blog
选择SYSPREP安装
ip
选择相对应的操做系统版本
ci
选择全自动安装
最后就是须要交互的字段须要填写,单位什么的
我真的字段有:名称和单位,时区,产品密钥,计算机名选择自动产生计算机名
接下来重要的字段,管理员密码,这里默认就行,由于要与SCVMM进行交互,可由SCVMM用户建立虚拟机的时候提供,因此是默认
在区域设置、语言中改成中国,除非你用得是其它国家语言
附加命令这里要注意,系统从新封装3389远程是关闭的,这会致使用户经过AzurePack申请2003虚拟机后,没法经过远程桌面进行链接,除非你的AzurePack环境中部署了RDGateway,能够链接到虚拟机控制台,因此这里须要作一个VBS脚本,经过脚本开启远程桌面。
脚本以下:【脚本转自http://yangye.blog.51cto.com/922715/390334表示感谢】
将以上脚本作成vbs文件,放复制到操做系统SYSTEM32目录下,好比脚本名称为:te.bvs
On Error Resume Next
'检查Terminal Services服务
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colRunningServices = objWMIService.ExecQuery ("Select * from Win32_Service where Name='TermService'")
For Each objService in colRunningServices
If not objService.StartMode = "Manual" Then
objService.ChangeStartMode("Manual")
If objService.State = "Stopped" Then
objService.StartService()
End If
End If
Next
'打开远程桌面
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_TerminalServiceSetting")
For Each objItem in colItems
errResult = objItem.SetAllowTSConnections(1) 'Enable
Next
'添加3389到防火墙例外
set oShell = WScript.CreateObject("WScript.shell")
oShell.run "cmd.exe /c netsh firewall add portopening tcp 3389 RemoteDestop",0,true
set oShell=nothing
在附件命令中打入如下命令:
下一步完成sysprep.ini文件的建立,系统默认将ini文件放在如下目录,接下来就是把它放到SCVMM中使用
完成应答文件的建立,就剩下从新封装操做系统了,运行SYSPREP应用,从新封装并关机。
将2003虚拟机的VHD拷贝到SCVMM库中,并创建虚拟机
模版建立完毕后,发布到AzurePack中
测试远程桌面是是否正常