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中
測試遠程桌面是是否正常