AzurePack经过测试支持的独立虚拟机来宾系统有:【非官方确认】
今天对WindowsServer2003R2SP2x86模版进行了测试,惊喜的是,配合SCVMM2012R2能够完美支持,主要问题有:
1、自动化问题,由于环境中未开启连接虚拟机控制台功能,所以要通过脚本,开启远程桌面
2、应答文件制作,2003的应答文件与2008以上操作系统方式不一样,下面文中将会提到
首先安装一台WindowsServer2003R2SP2x86虚拟机,安装过程略,搞IT的都会。
加载WindowsServer2003安装光盘,导航到X:\SUPPORT\TOOLS
找到DEPLOY.CAB,双击,提取所有文件到C盘sysprep,在C盘根目录建立sysprep目录
打开Setupmgr,按照向导创建一个SYSPREP应答文件
选择SYSPREP安装
选择相对应的操作系统版本
选择全自动安装
最后就是需要交互的字段需要填写,单位什么的
我真的字段有:名称和单位,时区,产品密钥,计算机名选择自动产生计算机名
接下来重要的字段,管理员密码,这里默认就行,因为要与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中
测试远程桌面是是否正常
转载于:https://blog.51cto.com/472783/1438935