Automatizace procesu nasazení pomocí MDT - soubory bootstrap.ini a customsettings.ini
Tak jak pravděpodobně víte, Microsoft Deployment Kit 2010 (MDT 2010) slouží pro automatizaci procesu nasazení či migrace operačního systému. MDT neautomatizuje pouze vlastní instalaci operačního systému, ale i procesy probíhající před instalací, jako je příprava počítače, záloha, vytvoření master image, migrace dat a také akce probíhající po instalaci operačního systému, jako jsou instalace aplikací, vrácení migrovaných dat, povolení BitLocker,… Pro to, aby MDT mohl řídit tyto procesy využívá několika skriptů, které je možné konfigurovat pomocí 2 ini souborů - bootstrap.ini a customsettings.ini. Oba tyto soubory jsou uloženy v %DeploymentShare%\Control.
Bootstrap.ini
slouží pro definici toho, co se má dít, nežli se MDT připojí na distribuční sdílení. Tento ini soubor je umístěný v souboru boot.wim a je spouštěný v případě, kdy instalace startuje z WDS, CD, USB. Pokud je proces spuštěný z běžícího systému, pak se tento soubor nepoužívá. Pokud tento soubor aktualizujete, je nutné znovu vygenerovat boot soubory pomocí “Update Deployment Share”. Výchozí obsah souboru je:
1: [Settings]
2: Priority=Default
3:
4: [Default]
5: DeployRoot=\\ONDREJV-PC\DeploymentShare$
CustomSettings.ini
slouží pro definici úkolů, které se mají dít před spuštěním sekvence úloh a instalací operačního systému a také to, co se má stát po úplném ukončení procesu nasazení / migrace operačního systému. Zjednodušeně by se dalo říci, že tento soubor automatizuje průvodce, pomocí kterého se připravuje počítač před instalací.
Popis fází procesu MDT
Informace, které jsou zadávány v rámci původců mohou být automatizovány v souborech bootstrap.ini a customsettings.ini. Nejjednodušší cestou jak modifikovat parametry v customsettings.ini je projít celého průvodce a před spuštěním vlastní instalace OS parametry přepsat z průvodce do souboru customsettings.ini. Výchozí obsah obou souborů je vytvořen ve chvíli vytváření nového distribučního sdílení, dbejte přesně informací, které zadáváte. Obvyklou chybou bývá nezvolení parametru “Allow to capture image” což v souboru nastaví SkipCapture=YES a není možné provést capture referenčního image, ani provést zálohu image před instalací.
Parametry, které jsou zapsány v customsettings.ini modifikují chování MDT jak při spuštění z boot media (kde předcházel soubor bootstrap.ini), tak i přímým spuštěním z běžícího operačního systému skriptem LiteTouch.wsf.
Výchozí obsah souboru je:
1: [Settings]
2: Priority=Default
3: Properties=MyCustomProperty
4:
5: [Default]
6: OSInstall=Y
7: SkipAppsOnUpgrade=YES
8: SkipCapture=YES
9: SkipAdminPassword=YES
10: SkipProductKey=YES
ini soubory, parametry a jejich nastavení
v uvozovkách uvedeny možnosti, kterých parametr může nabýt. Parametry je možné rozdělit na 2 skupiny - konfigurační parametry a parametry, které způsobí přeskočení určitých obrazovek v průvodci MDT.
Základní parametry pro bootstrap.ini
konfigurační parametry
-
DeployRoot - (\servername\share) - nastavení UNC cesty k distribučnímu sdílení. Pokud změníte server nebo název distribučního sdílení, cesta se mění zde.
-
UserID - (login uživatele) - přihlašovací jméno uživatele, který se bude přihlašovat do AD a přistupovat na deploymentshare a přidávat počítač do domény
-
UserDomain - (domain) - doména pro uživatele, který se bude přihlašovat
-
UserPassword - (heslo) - heslo v textové podobě, pomocí kterého se uživatel bude přihlašovat.
- KeyboardLocale (ID klávesnice ve tvaru cs-CZ nebo 0405:00000405) - klávesnice, která bude použita v této fázi MDT.
Parametry pro přeskočení určitých sekcí
-
SkipBDDWelcome - (YES/NO) - přeskočit uvítací okno MDT průvodce
Význam v bootstrap.ini
Takto připravený bootstrap.ini zajistí automatické přihlášení k distribučnímu sdílení a spuštění dalších částí MDT.
1: [Settings]
2: Priority=Default
3:
4: [Default]
5: DeployRoot=\\ONDREJV-PC\DeploymentShare$
6: UserID=ondrejv
7: UserDomain=test.local
8: UserPassword=MyP@ss
9: SkipBDDWelcome=YES
Základní parametry pro customsettings.ini
Konfigurační parametry
-
SLShareDynamicLogging - (UNC cesta) - Cesta pro centrální logování na server.
-
OSInstall - (YES/Y/NO) - indikuje instalaci operačního systému.
-
ComputerName - (název počítače) - název počítače.
-
OSDComputerName - (název počítače) - název počítače při použití SMS/SCCM.
-
Home_Page - (www.stranka.cz) - domovská stránka prohlížeče.
-
JoinDomain - (Název domény) - Název domény ke které připojit počítač - nepoužívejte při použití JoinWorkgroup.
-
JoinWorkGroup - (Název pracovní skupiny) - Pracovní skupina do které bude připojen počítač. Není možné kombinovat s JoinDomain, je mandatorní při capture počítače.
-
DomainAdmin - (domain\username nebo username@domain.local) - název uživatelského účtu pro připojení do domény. Pokud není použito, použije se pověření z bootstrap.ini.
-
DomainAdminDomain - (název domény) - doména do které patří uživatel. Pokud DomainAdmin obsahuje doménu, musí být prázdné.
-
DomainAdminPassword - (heslo) - heslo pro uživatele.
-
MachineObjectOU - (OU=moje pocitace,DC=domena,DC=local) - DN pro organizační jednotku, kam má být zařazen počítač. Pokud není zadáno, zařadí se do výchozí OU.
-
AdminPassword - (heslo) - heslo lokálního administrátora.
-
OrgName - (název organizace) - organizace registrovaná v operačním systému.
-
FullName - (název uživatele) - registrovaný uživatel v operačním systému.
-
TimeZone - (název časové zóny) - pouze pro Windows XP, formát např. PST=004.
-
TimeZoneName - (název časové zóny) - pro ČR “Central Europe Standard Time”.
-
TaskSequenceID - (ID sekvence) - sekvence, která bude automaticky zvolena.
-
KeyboardLocale - (cz-CZ nebo 0409:00000409) - definice klávesnice. Výchozí je nastavení dle OS.
-
KeyboardLocalePE - (cz-CZ nebo 0409:00000409) - definice klávesnice pouze pro Windows PE. Výchozí je nastavení dle OS.
-
InputLocale - (0409:00000409) - pouze pro Windows XP, definice klávesnice.
-
SystemLocale - (0409:00000409) - pouze pro Windows XP, definice systémového jazykového nastavení.
-
UserLocale - (0409:00000409) - výchozí jazykové nastavení pro první přihlášení uživatele. Výchozí je nastavení OS.
-
UILanguage - (cs-CZ) - výchozí nastavení jazyka před přihlášením uživatele. Výchozí je dle jazyka OS.
-
BackupShare - (\server\sdileni) - síťové sdílení, kde budou zálohována uživatelská data, případně celý image OS.
-
BackupDir - (\server\sdileni\adresar) - adresář, kde má být uložena záloha uživatelských dat.
-
BackupDrive - (ALL) - disky, které mají být zahrnuty do zálohy, výchozí je disk 0 partition 1.
-
UserDataLocation - (\server\sdileni\adresar nebo NONE) - úplná cesta k datům uživatele, která mají být obnovena.
-
DoCapture - (YES/NO) - provést capture referenčního image.
-
ProductKey - (xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx) - produktový klíč MAK.
-
OverrideProductKey- (xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx) - produktový klíč MAK, který má být aplikovaný po ukončení instalace operačního systému.
-
DoNotCreateExtraPartition - (YES/NO) - nevytvářet systémovou 30MB partition. Vhodné např v případě, kdy se nebude implementovat BitLocker.
-
FinishAction - (SHUTDOWN, REBOOT, LOGOFF) - finální akce provedena po ukončení průvodce LiteTouch.
-
BdeInstallSuppress - (YES/NO) - provést pokus o aktivaci / povolení BitLocker.
-
WipeDisk - (TRUE/FALSE) - smaže disk instalovaného počítače.
Parametry pro přeskočení určitých sekcí
-
SkipSummary - (YES/NO) - přeskočit zobrazení sumarizace informací před spuštěním instalace operačního systému.
-
SkipFinalSummary - (YES/NO) - přeskočit sumarizaci na úplném konci instalačního procesu.
-
SkipWizard - (YES/NO) - přeskočí kompletního průvodce. Použijte, pokud nechcete přeskakovat jednotlivé stránky.
-
SkipCapture - (YES/NO) - přeskočí dialog s dotazem na provedení capture (sejmutí) image na existujícím počítači a provedení kompletní zálohy počítače.
-
SkipAdminPassword - (YES/NO) - přeskočí dialog s nastavením hesla pro lokálního administrátora.
-
SkipApplications - (YES/NO) - přeskočí dialog s výběrem aplikací, které mají být instalovány. Je možné stránku přeskočit a aplikace explicitně definovat v sekvenci úloh.
-
SkipComputerBackup - (YES/NO) - přeskočí stránku s konfigurací kompletní zálohy počítače.
-
SkipDomainMembership - (YES/NO) - přeskočí stránku s připojením počítače do domény.
-
SkipComputerName - (YES/NO) - přeskočí stránku s názvem počítače.
-
SkipUserData - (YES/NO) - přeskočí stránku s definicí přenesení uživatelských dat.
-
SkipPackageDisplay - (YES/NO) - přeskočí stránku s volbou instalace balíčků pro OS - jazykové balíčky.
-
SkipLocaleSelection - (YES/NO) - přeskočí stránku s nastavením jazyka a klávesnice.
-
SkipProductKey - (YES/NO) - přeskočí stránku s definicí produktového / aktivačního klíče.
-
SkipTimeZone - (YES/NO) - přeskočí stránku s nastavením časové zóny.
-
SkipTaskSequence - (YES/NO) - přeskočí stránku s volbou sekvence úloh, která má být spuštěna. Pokud používáte pouze jednu sekvenci, může být stránka přeskočena, pokud využíváte více sekvencí, stránku ponechte zobrazenou.
-
SkipBuild - (YES/NO) - přeskočí volbu operačního systému (již se nevyužívá, definice operačního systému je uvedena v definici sekvence úloh).
-
SkipBitLocker - (YES/NO) - přeskočí konfiguraci BitLocker.
-
SkipBitLockerDetails - (YES/NO) - přeskočí detailní nastavení BitLocker. Pokud použijete SkipBitLocker, nastavte toto také na YES.
- SkipDestinationDisk - (YES/NO) - v případě, že jsou přítomny existující partition, průvodce se dotazuje kam má být OS nasazený. Tento parametr přeskočí tuto možnost.
Další parametry jsou víceméně určené pro využití ve spojení s databází a budou doplněny později. Všechny tyto parametry je možné zadat přímo do CustomSettings.ini, kde budou použity globálně pro všechny počítače/uživatele,… Nicméně je možné využít tyto parametry ve spojení s databází a dynamicky měnit nastavení dle specifikací v databázi. Na toto využití se podíváme v některém z dalších článků.
Dále v článku
popis jednotlivých obrazovek průvodce MDT, hodnoty, které se nastavují, konfigurace hodnost v průvodci a automatizace průvodce. Také popsán customsettings.ini, který kompletně automatizuje proces nasazení.
{reg}
Automatizace průvodce MDT
tak jak jsem uvedl výše, průvodce MDT je možné rozdělit do celkem 3 částí:
-
průvodce před přihlášením k deployment share a načtení souboru CustomSettings.ini - řízeno pomocí BootStrap.ini
-
průvodce přípravou počítače před spuštěním sekvence úloh - řízeno CustomSettings.ini
- průvodce po dokončení sekvence úloh, zobrazení finální sumarizace - řízeno CustomSettings.ini
Pojďme projít jednotlivými sekcemi a provést automatizaci
Sekce první - BootStrap.ini
-
* Uvítací obrazovka MDT
![](image_923e6ac3118ebd310efaf81b4c44142c.png?lightbox)
-
* Pro přeskočení nastavit parametr SkipBDDWelcome=YES
-
* Pro zadání parametrů nastavit:
UserID=JménoUživatele
UserPassword=HesloUživatele
UserDomain=NetBIOS nebo DN domény
Po zadání parametrů do BootStrap.ini je nutné aktualizovat DeploymentShare. Také je možné kombinovat parametry, které se týkají uživatele a hesla, je např. možné předvyplnit pouze doménu a dotazovat se na uživatele a heslo (což se využívá při různých oprávněních různých uživatelů, při nasazení) nebo přednastavit jméno a doménu uživatele a dotazovat se pouze na hleslo. Tak dojde pokaždé k autorizaci uživatele. Je možné také vytvořit speciálního uživatele, který bude používaný pouze pro nasazení počítačů, se silným heslem a s oprávněními na pouze specifickou organizační jednotku v AD.
Sekce druhá - CustomSettings.ini
Jak bylo také napsáno výše, soubor CustomSettings.ini je předpřipraven při vytvoření distribučního sdílení, pojďme smazat obsah souboru tak, aby se nám zobrazily všechny obrazovky průvodce. Připomínám, že průvodce se liší podle toho, jak byl spuštěn, tedy pokud je spuštěný z WindowsPE a pravděpodobně se jedná o čistou instalaci nebo zdali byl spuštěn z běžícího operačního systému a jedná se nejspíše o upgrade. Postup níže se týká čisté instalace. Soubor bude tedy vypadat takto:
1: [Settings]
2: Priority=Default
3:
4: [Default]
5: OSInstall=Y
6: SkipAppsOnUpgrade=YES
7: SkipCapture=YES
8: DeploymentType=NewComputer
9: SLShareDynamicLogging=\\onvy-nodea\DeploymentShare$\log\%OSDComputerName%
10: WipeDisk=TRUE
Takto připravený soubor Nezobrazí Balíčky při upgrade počítače, nebude nabízet capture referenčního image, nasazení bude nový počítač, logování bude probíhat na centrální server do adresáře se jménem počítače a před instalací bude smazán disk.
Nyní k jednotlivým obrazovkám průvodce
-
* Výběr sekvence úloh, která má být vykonána
![](image_f05195ac2a2ab0fb17ba497e10cb093b.png?lightbox)
-
* Zadání parametrů:
TaskSequenceID=xx (číslo ID zjistíte v rozhraní MDT, resp jej zadáváte při vytváření sekvence)
* Přeskočení obrazovky:
SkipTaskSequence=YES
-
* Zadání parametrů:
při použití KMS serveru není nutné, pokud máte MAK, je možné specifikovat v ProductKey, lepší varianta je zadat do odpovědního souboru.
* Přeskočení obrazovky:
SkipProductKey=YES
-
* Zadání parametrů:
OSDComputerName=NazevPocitace (lze také použít proměnné např. %ASSETTAG% či %SERIALNUMBER%)
* Přeskočení obrazovky:
SkipComputerName=YES
-
* Zadání parametrů:
JoinDomain=NetBIOS nebo DN AD
MachineObjectOU=DN (např. OU=pocitace,DC=domena,DC=local) - nepovinné
DomainAdmin=Doména\UživatelskeJmeno
DomainAdminPassword=HesloUživatele
* Přeskočení obrazovky:
SkipDomainMembership=YES
-
* Zadání parametrů:
UserDataLocation=NONE
* Přeskočení obrazovky:
SkipUserData=YES
-
* Zadání parametrů:
UILanguage=cs-CZ
UserLocale=cs-CZ
KeyboardLocale=0405:00000405
* Přeskočení obrazovky:
SkipLocaleSelection=YES
-
* Zadání parametrů:
TimeZone=095
TimeZoneName=Central European Standard Time
* Přeskočení obrazovky:
SkipTimeZone=YES
-
* Zadání parametrů:
AdminPassword=HesloUzivatele
* Přeskočení obrazovky:
SkipAdminPassword=YES
-
* Zadání parametrů
BdeInstallSuppress=YES (v případě, že BitLocker není instalován. Pokud je instalován a konfigurován, pak další parametry)
* Přeskočení obrazovky
SkipBitLocker=YES
-
* Přeskočení obrazovky:
SkipSummary=YES
Sekce třetí - CustomSettings.ini
Zde je defakto pouze jediný dialog, který sumarizuje celý proces.
Nastavení přeskočení je provedeno pomocí SkipFinalSummary na YES.
Dále je také vhodné nastavit FinishAction na REBOOT či LOGOFF tak, aby po dokončení instalace došlo k odhlášení či restartu počítače. Pokud je ponechána výchozí akce, zůstane přihlášený lokální administrátor, což nemusí být vhodné.
Ukázkový CustomSettings.ini pro automatizaci celého procesu instalace
Finální CustomSettings.ini by mohlo vypadat například takto:
1: [Settings]
2: Priority=Default
3:
4: [Default]
5: OSInstall=Y
6: SkipAppsOnUpgrade=YES
7: SkipCapture=YES
8: DeploymentType=NewComputer
9: SLShareDynamicLogging=\\onvy-nodea\DeploymentShare$\log\%OSDComputerName%
10: WipeDisk=TRUE
11:
12: SkipTaskSequence=YES
13: TaskSequenceID=5
14:
15: SkipProductKey=YES
16:
17: SkipComputerName=YES
18: OSDComputerName=MujPocitac
19:
20: SkipDomainMembership=YES
21: JoinDomain=showroom
22: DomainAdmin=showroom\ondrejv
23: DomainAdminPassword=Technet3358
24: MachineObjectOU=OU=deployment,DC=showroom,DC=local
25:
26: SkipUserData=YES
27: UserDataLocation=NONE
28:
29: SkipLocaleSelection=YES
30: UILanguage=cs-CZ
31: UserLocale=cs-CZ
32: KyboardLocale=0405:00000405
33:
34: SkipTimeZone=YES
35: TimeZone=095
36: TimeZoneName=Central European Standard Time
37:
38: SkipAdminPassword=YES
39: AdminPassword=Admin..
40:
41: SkipBitLocker=YES
42: BdeInstallSuppress=YES
43:
44: SkipSummary=YES
45:
46: SkipFinalSummary=YES
47: FinalAction=REBOOT
Je nutno podotknout, že takto připravená akce sice automatizuje kompletní nasazení, ale například není možné zvolit sekvenci úloh, či název počítače. Je možné zvolit například parametr OSDComputerName pomocí %SERIALNUMBER%, %ASSETTAG%, případně předvyplnit název počítače a dialog průvodce nepřeskakovat. Další možností je pak kombinace s databází, kde mohou být informace pro konkrétní počítače připravené. Na spolupráci s databází se podíváme v dalším článku.
{/reg}