Automatizace procesu nasazení pomocí MDT - soubory bootstrap.ini a customsettings.ini

Ondřej Výšek
14 minuty, 47 sekundy
4

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
    * Zadání uživatelského pověření ![](image_37dd67b866b9e121d023b211e46c7fd8.png?lightbox)
      * 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
    * Specifikace produktového klíče ![](image_bbe3f974e2b871ec6b7ccfcc2d8ec97b.png?lightbox)
      * 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
    * Název počítače ![](image_bd79f0c2f8b4976993a610a40089d6d9.png?lightbox)
      * Zadání parametrů: OSDComputerName=NazevPocitace (lze také použít proměnné např. %ASSETTAG% či %SERIALNUMBER%)   * Přeskočení obrazovky: SkipComputerName=YES
    * Volba připojení k doméně ![](image_dfa94f2461b6c22500f85661119b23db.png?lightbox)
      * 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
    * Volba zálohy uživatelských dat ![](image_49e0a3db5bc50a0fea0137c8624d4759.png?lightbox)
      * Zadání parametrů: UserDataLocation=NONE * Přeskočení obrazovky: SkipUserData=YES
    * Jazykové nastavení a klávesnice ![](image_f8e856690496863be5eb5add2f07f011.png?lightbox)
      * Zadání parametrů: UILanguage=cs-CZ UserLocale=cs-CZ KeyboardLocale=0405:00000405 * Přeskočení obrazovky: SkipLocaleSelection=YES
    * Nastavení časové zóny ![](image_337cbca8845b5aa33501f2a685a7f75e.png?lightbox)
      * Zadání parametrů: TimeZone=095 TimeZoneName=Central European Standard Time * Přeskočení obrazovky: SkipTimeZone=YES
    * Administrátorské heslo ![](image_4a5c8ee2bfe7d1453029d0bf45e36c94.png?lightbox)
      * Zadání parametrů: AdminPassword=HesloUzivatele * Přeskočení obrazovky: SkipAdminPassword=YES
    * Nastavení BitLocker ![](image_463628199f2b4ae662337719d5b486ba.png?lightbox)
      * 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
    * Finální sumarizace ![](image_80f461b224ef00afe6c13c126db783ac.png?lightbox)
      * 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}

Autor: Ondřej Výšek

Ondřej je Microsoft MVP od roku 2004, v roce 2008 založil komunitní web optimalizovane-it.cz. Za svou IT karieru, jenž započala v roce 1993 prošel celou řadou pozic, od konzultanta, přes architekt, až po vytváření vizí a strategií zákazníků. V prostředích, ve kterých pomáhal byly desítky, ale i stovky tisíc uživatelů a systémů. V posledních letech se zabývá především cloudovými technologiemi Microsoft 365 a Azure ve společnosti KPCS CZ.

Následující článek Předchozí článek