您好,登錄后才能下訂單哦!
背景:
1. 計(jì)劃使用SCVMM 2012 R2自動(dòng)部署win7 虛擬機(jī)模板,VM模板雖然已經(jīng)使用過很多次,但是客戶端版的OS和服務(wù)器端的OS版有一點(diǎn)不一樣,那就是客戶端版的操作系統(tǒng)會(huì)默認(rèn)禁用administrator 賬號(hào),然后必須新建一個(gè)管理員賬號(hào)。
2. 計(jì)劃使用SCVMM VM 模板中的應(yīng)答文件來用Unattend.xml 來默認(rèn)啟用一些設(shè)置(如防火墻默認(rèn)開通遠(yuǎn)程桌面,開啟默認(rèn)管理員并設(shè)置密碼),自動(dòng)登錄一次默認(rèn)管理員,然后執(zhí)行一些命令,如配置啟動(dòng)菜單(VM崩潰時(shí)好像會(huì)進(jìn)入恢復(fù)模式,這樣VM重啟時(shí)需要人工介入),其他配置一些服務(wù)之類的操作。
問題: SCVMM 里這個(gè)Win7的指定管理員賬號(hào)時(shí),不能使用administrator ,否則部署時(shí)會(huì)報(bào)錯(cuò)(10619,所提供的用戶名不是有效的該操作系統(tǒng)的本地管理員名稱)。
當(dāng)你配置其他的賬號(hào)名稱時(shí),SCVMM在unattend.xml 中生成一段OOBE階段的創(chuàng)建本地賬號(hào)的設(shè)置,如果使用administrator 那么會(huì)和現(xiàn)有的administrator 沖突吧(但是奇怪的是我在對(duì)server VM 的模板上都是這樣用的,只有client 版本的有這樣的問題)。
問題2:由于問題1 ,那么我這里建立的admin的賬號(hào),我希望在VM部署后自動(dòng)被刪掉。上圖的GUIRunonce的部分似乎可以做這個(gè)工作,但是問題在于GUIRunonce需要登錄一個(gè)賬號(hào),那么解決的話要自動(dòng)登錄默認(rèn)administrator賬號(hào)一次,然后執(zhí)行一些默認(rèn)命令如net user admin /del .
BUG 呈現(xiàn):雖然以上想法在原理上沒有問題,而且我也拿unattend.xml 直接在hyper-v VM 測(cè)試下了下沒有問題,但是在用SCVMM時(shí)卻出了BUG。
1. 現(xiàn)象1 ,如果你再unattend.xml 中配置了autologon ,而且配置了logoncount ,那么SCVMM最后生成合并的unattend.xml中,logonCount 會(huì)變成999次,意味著你必須還要其他手段來清除autologon,否則這個(gè)VM一直自動(dòng)登錄。
2.現(xiàn)象2,如果你再unattend.xml 中配置了autologon 而且同時(shí)在SCVMM 中指定了 GUIRunOnce命令,那么這個(gè)GUIRunOnce的命令在最后合成的unattend.xml 變成空白,就算你不在SCVMM的GUIRunOnce窗口中配這些命令,而是直接寫在應(yīng)答文件里,SCVMM 最后合并時(shí)也會(huì)把這些命令給變成空的。
下面是問題XML,而且在微軟的論壇中也有人提到這個(gè)BUG,似乎年代很久遠(yuǎn)了,但是我最新的2012 r2 的版本還是問題依舊。
https://social.technet.microsoft.com/Forums/systemcenter/en-US/de874b1b-bd93-4746-a138-22422ff3717c/unattendxml-parsingmerging-issue-with-scvmm-2012-r2?forum=virtualmachinemanager
思考及解決:
1. 如果是autologon 導(dǎo)致的BUG,那么能否繞過這個(gè)部分,不用登錄賬號(hào)執(zhí)行命令。有的,windows 部署完在第一次登錄賬號(hào)前,可以配置一個(gè)自定義腳本來執(zhí)行命令,腳本名稱固定為setupComplete.cmd,腳本路徑在%WINDIR%\Setup\Scripts\SetupComplete.cmd, 我們只需要?jiǎng)?chuàng)建修改這個(gè)腳本即可了。
參考:
https://technet.microsoft.com/en-us/library/cc766314(v=ws.10).aspx
成品SCVMM 中用的Unattend.xml(針對(duì)32位win7),64位的win7 ,修改下processorArchitecture="x86" 中的x86 位x64,就可以了:
備注信息:XML中的產(chǎn)品序列號(hào)為KMS Client Key。默認(rèn)開啟遠(yuǎn)程桌面及遠(yuǎn)程桌面對(duì)應(yīng)的防火墻。默認(rèn)啟用administrator 賬號(hào),administrator 賬號(hào)的密碼部分是加密后的值,你可以在windows system image manager 中來更改加密的密碼(輸入的時(shí)候明文,寫出的是加密的密文)
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ComputerName>*</ComputerName>
<RegisteredOwner></RegisteredOwner>
<ShowWindowsLive>false</ShowWindowsLive>
<RegisteredOrganization></RegisteredOrganization>
<ProductKey>FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4</ProductKey>
</component>
<component name="Microsoft-Windows-TerminalServices-LocalSessionManager" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fDenyTSConnections>false</fDenyTSConnections>
</component>
<component name="Microsoft-Windows-TerminalServices-RDP-WinStationExtensions" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SecurityLayer>1</SecurityLayer>
<UserAuthentication>0</UserAuthentication>
</component>
<component name="Networking-MPSSVC-Svc" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<FirewallGroups>
<FirewallGroup wcm:action="add" wcm:keyValue="RemoteDesktop">
<Active>true</Active>
<Group>@FirewallAPI.dll,-28752</Group>
<Profile>all</Profile>
</FirewallGroup>
</FirewallGroups>
</component>
<component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Identification>
<JoinWorkgroup>WORKGROUP</JoinWorkgroup>
</Identification>
</component>
<component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>net user administrator /active:yes</Path>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<ProtectYourPC>1</ProtectYourPC>
<NetworkLocation>Work</NetworkLocation>
</OOBE>
<RegisteredOrganization>microsoft</RegisteredOrganization>
<RegisteredOwner>microsoft</RegisteredOwner>
<TimeZone>China Standard Time</TimeZone>
<UserAccounts>
<AdministratorPassword>
<Value>Password Here ==</Value>
<PlainText>false</PlainText>
</AdministratorPassword>
</UserAccounts>
</component>
<component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UserLocale>zh-CN</UserLocale>
<UILanguageFallback></UILanguageFallback>
<UILanguage>zh-CN</UILanguage>
<SystemLocale>zh-CN</SystemLocale>
<InputLocale>0804:00000804</InputLocale>
</component>
</settings>
</unattend>
成品 setupComplete.cmd:
@echo off
net user admin /del
bcdedit /set {default} recoveryenabled No
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。