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