Installation de Microsoft Deployment Toolkit (MDT)

mdt-logoAu cours de mes fonctions, j’ai eu à mettre en place un Microsoft Deployment Toolkit (MDT).
Ce n’est pas quelque chose de particulièrement difficile. Par contre, l’outil, lui, est super intéressant. On fait un peu ce que l’on veut avec.

Cette doc est un léger tuto sur l’installation de la MDT 2013 update 2 sur un serveur (blade lame) Windows server 2016.

Les prérequis

7-zip
Windows 10 ADK
Microsoft Report Viewer 2008 SP1 Redistributable

7-zip

7-zip permet de décompresser les fichiers d’installation de pilotes et drivers afin d’être injectés dans la base de drivers gérés par la MDT.

Installation de Windows 10 ADK

On procède à l’installation de Windows 10 ADK.

On choisit le chemin par défaut ou on peut choisir de télécharger les paquets pour les installer sur une autre machine.
mdt09Capture

On choisit de participer à la collecte d’information de Microsoft ou non. Ne vous leurrez pas, que vous le vouliez ou non, Microsoft fait tout de même sa collecte mais « à l’insu de votre plein gré ».

mdt10Capture

On accepte le contrat de Licence, les GCU…

mdt11Capture

On sélectionne les fonctionnalités à installer.

Je n’installe pas les outils de compatibilité des applications. Pourquoi? Parce que je suis informaticien et gestionnaire de parc. Je suis l’évolution matériel et logicielle. Si un chercheur ne veut pas être dans le train de l’évolution, il reste sur le quai avec son paquet (son ordinateur impossible à maintenir).

mdt12Capture

Lorsque l’on a répondu à tout cela. Windows 10 ADK s’installe.

mdt13Capture

Windows 10 ADK, à l’issue de l’installation, propose de lancer un guide prise en main. A vous de choisir.

mdt14Capture

Nota Bene

Depuis la version de windows 10 1809, WinPE est devenu un add-on à télécharger en sus de Windows 10 ADK. L’Add-on s’appelle WinPE add-on for ADK, version 1809

Installation de System Center 2012r2 Configuration Toolkit

L’installation se fait ainsi :

mdt_install005

On install le tout :

mdt_install006

Par défaut, les logs se trouvent du côté client (la machine sur laquelle on déploie windows). Il est, aussi, possible de configurer les paramètres de déploiement pour que la MDT les stocke aussi sur le serveur.

Le moyen le plus simple pour afficher les fichiers logs consiste à utiliser « Configuration Manager Trace » (CMTrace), qui est dans le paquet « System Center 2012 R2 Configuration Manager Toolkit » google search download System Center 2012 R2 Configuration Manager Toolkit

On trouve dans ce « System Center 2012 R2 Configuration Manager Toolkit » :

  • DP Job Manager – permet le dépannage et la gestion des travaux de distribution de contenu vers les points de distribution. Ceci requière System Center 2012 R2 Configuration Manager ou plus.
  • Collection Evaluation Viewer – vous assiste dans le dépannage sur l’évaluation des collections en voyant les détails par collection. Nécessite System Center 2012 R2 Configuration Manager ou plus.
  • Content Library Explorer – vous aide à dépanner les problèmes en voyant le contenu de la librairie de contenu. Nécessite System Center 2012 R2 Configuration Manager ou plus.
  • Client Spy est un outil d’aide au dépannage des problèmes concernant la télédistribution d’application, l’inventaire, le contrôle d’application sur les clients ConfigMgr 2012.
  • Policy Spy** permet de voir la stratégie (policy) et aide à dépanner le système de stratégie sur les clients ConfigMgr.
  • Security Configuration Wizard Template** est un assistant permettant de générer une configuration de sécurité et de réduire la surface d’attaque du serveur. Cette fonctionnalité utilise des mécanismes présents dans Windows Server 2008 R2 ou plus.
  • Send Schedule Tool** est un outil utilisé pour lancer une programmation sur un client ou une évaluation pour une ligne de base. Il est utilisable de manière locale ou à distance.
  • Power Viewer Tool** permet de voir l’état de la fonctionnalité de gestion de l’énergie sur les clients ConfigMgr.
  • Deployment Monitoring Tool** est une interface graphique permettant de dépanner les déploiements d’applications, de mises à jour ou de lignes de base sur les clients ConfigMgr 2012.
  • Run Metering Summarization Tool** permet de lancer la tâche de récapitulation des métriques pour analyser les données du contrôle d’usage logiciel.
  • Role Based Administration Modeling and Auditing Tool**. Cet outil aide les administrateurs à modéliser et auditer les configurations de sécurité (RBA).
  • Wakeup Spy – Cet outil montre le traffic réseau et des informations basiques sur létat du client ConfigMgr wake up. Nécessite System Center 2012 SP1 Configuration Manager ou plus.
  • Content Library Transfer** permet le déplacement de la librairie de contenu d’un disque à un autre.
  • Content Ownership Transfer** – Cet outil réassigne les packages orphelins à un site ConfigMgr.

Installation de Microsoft Report Viewer 2008 SP1 Redistributable

Il existe une possibilité de reporting.
Il faut, cependant, un pré-requis à avoir.
Installer .NET Framework 3.5, s’il n’est pas déjà installé.

Pour vérifier s’il est installé ou non, dans une fenêtre powerShell, tapez ceci :

(Get-WindowsFeature -Name Net-Framework-Core).installed

Si la valeur retournée est « False » c’est que Framework 3.5 n’est pas installé, si la valeur est « True« , la fonctionnalité est déjà installée.

Si vous devez l’installer, exécutez cette commande dans une fenêtre PS :

Install-WindowsFeature -Name Net-Framework-Core

Puis. Installez Microsoft Report Viewer 2008 SP1 Redistributable

Installation de Microsoft Deployment Toolkit

On installe le fichier d’installation :
mdt_install007

Dans mon install, j’ai choisi le lecteur D: parce qu’il a plus d’espace disque.

On installe tout.

mdt_install008

Activation du monitoring des taches/Tasks

Sélectionnez le « Deploymentshare » dont vous voulez avoir le monitoring.

mdt-monitoring000

Clickez sur Proprités dans « Actions ».

mdt-monitoring001

Puis clickez sur l’onglet « Monitoring » et ensuite cochez la case « Enable monitoring for this deployment share »

mdt-monitoring002

Lorsque le monitoring est activé. Le serveur écrit les logs dans C:\Temp si il existe.

Pour plus de visibilité, il est nécessaire de changer le répertoire de log.

Par exemple, pour loguer les warnings dans un fichier sur un autre lecteur que C:

Le plus simple est d’éditer le fichier avec le blocnote/notepad
:\Program Files\Microsoft Deployment Toolkit\Monitor\microsoft.bdd.monitorservice.exe.config

wh000Capture

A la ligne 12, changer

<source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">

Par

<source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true">

A la ligne 14, changer

<add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\temp\WCF.log" />

Par

<add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="D:\Monitoring\WCF.log" />

 

 

Pour que cela soit actif, il faut, bien sûr que le répertoire D:\Monitoring existe.

Journalisation

La MDT utilise des fichiers log pendant le déploiement de systèmes.

Par défaut, les logs se trouvent du côté client. Il est possible de configurer les paramètres de déploiement pour que la MDT les stocke aussi sur le serveur.

Le moyen le plus simple pour afficher les fichiers logs consiste à utiliser « Configuration Manager Trace » (CMTrace), qui est dans le paquet « System Center 2012 R2 Configuration Manager Toolkit »
|google search download System Center 2012 R2 Configuration Manager Toolkit

Ajout des rôles

Après l’installation de la console MDT, il faut procéder à l’ajout des rôles suivants :

* Serveur DHCP
* Services de déploiement Windows

mdt-setup001

Ainsi que la fonctionnalité suivante :

* Compression différentielle à distance

mdt-setup002

Réseau

La machine qui héberge la console a besoin de 2 connexions réseau.

* une connexion sur un réseau où elle pourra accéder aux mises à jours Windows update et aux add-ons Windows 10 compliants.

* Une connexion sur un réseau privé, réseau sur lequel les machines clientes pourront « booter » et obtenir l’installation de Windows 10.

Created with GIMP

Les fichiers CustomSettings.ini et BootStrap.ini

Les deux prinicipaux fichiers de configuration sont CustomSettings.ini et BootStrap.ini

Ces deux fichiers se trouvent dans le répertoire DeploymentShare.

Dans notre cas dans D:\DeploymentShare\Control

Voir le contenu des fichiers CustomSettings.ini et Bootstrap.ini

CustomSettings.ini

[Settings]
Priority=Default
Properties=MyCustomProperty
 
[Default]
OSInstall=Y
OSDComputername=PC-#Left("%SerialNumber%",7)#
; OSDComputername=PC-#Left("%SerialNumber%",7)#
; Cette commande permet de générer un nom de machine 
; et celle-ci récupére le service tag de l'ordinateur
;-----------------------------------------------------
 
SkipCapture=NO
SkipAdminPassword=YES
AdminPassword=P@sswOrd 
SkipProductKey=YES
; cette commande permet de ne pas afficher la demande de product key
 
SkipComputerBackup=NO
SkipBitLocker=NO
SLShare=\\BORTASQU\MDTMonitoring
SLShareDynamicLogging=\\BORTASQU\MDTMonitoring
WSUSServer=http://NEGHVAR.deployadmin.com:8530
EventService=http://BORTASQU/MDTMonitoring:9800
 
;-----------------
; USMT
;-----------------
SkipUserData=Yes
;-----------------------
; User State Migration avec un partage réseaux (network share)
; UserDataLocation=NETWORK
; UDShare=\\SRV01\MigData$
; UDDir=%OSDComputerName%
;-----------------------
 
_SMSTSORGNAME=Deployadmin
UserDataLocation=NONE
DoCapture=YES
 
TimeZoneName=Romance Standard Time 
TimeZone=105
HideShell=YES
FinishAction=SHUTDOWN
DoNotCreateExtraPartition=YES
ApplyGPOPack=NO
SkipComputerName=YES
SkipDomainMembership=YES
JoinDomain=deployadmin.com 
DomainAdmin=dahar-master
DomainAdminDomain=deployadmin
DomainAdminPassword=P@sswOrd
SkipUserData=YES
SkipLocaleSelection=YES
SkipTaskSequence=YES
SkipTimeZone=YES
SkipApplications=YES
SkipSummary=YES
SkipRoles=YES
SkipFinalSummary=YES
UDShare=\\BORTASQU\migdata$
UserDataLocation=AUTO
USMTMigFiles001=MigApp.xml
USMTFiles002=MigUser.xml 

Bootstrap.ini

[Settings]
Priority=Default
 
[Default]
DeployRoot=\\BORTASQU\DeploymentShare$

Le fichier unattend.xml

On peut trouver un autre exemple de fichier unattend.xml

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
            <ImageInstall>
                <OSImage>
                    <WillShowUI>OnError</WillShowUI>
                    <InstallTo>
                        <DiskID>0</DiskID>
                        <PartitionID>1</PartitionID>
                    </InstallTo>
                    <InstallFrom>
                        <Path>.\Operating Systems\Windows 10 Pro x64\Sources\install.wim</Path>
                        <MetaData>
                            <Key>/IMAGE/INDEX</Key>
                            <Value>1</Value>
                        </MetaData>
                    </InstallFrom>
                </OSImage>
            </ImageInstall>
            <ComplianceCheck>
                <DisplayReport>OnError</DisplayReport>
            </ComplianceCheck>
            <UserData>
                <AcceptEula>true</AcceptEula>
                <ProductKey>
                    <Key></Key>
                </ProductKey>
            </UserData>
        </component>
        <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SetupUILanguage>
                <UILanguage>fr-FR</UILanguage>
            </SetupUILanguage>
            <InputLocale>040c:0000040c</InputLocale>
            <SystemLocale>fr-FR</SystemLocale>
            <UILanguage>fr-FR</UILanguage>
            <UserLocale>fr-FR</UserLocale>
        </component>
    </settings>
    <settings pass="generalize">
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <DoNotCleanTaskBar>true</DoNotCleanTaskBar>
        </component>
    </settings>
    <settings pass="specialize">
        <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
            <Identification>
                <Credentials>
                    <Username></Username>
                    <Domain></Domain>
                    <Password></Password>
                </Credentials>
                <JoinDomain></JoinDomain>
                <JoinWorkgroup></JoinWorkgroup>
                <MachineObjectOU></MachineObjectOU>
            </Identification>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
            <ComputerName></ComputerName>
            <ProductKey></ProductKey>
            <RegisteredOrganization>limsi</RegisteredOrganization>
            <RegisteredOwner>lstaff</RegisteredOwner>
            <DoNotCleanTaskBar>true</DoNotCleanTaskBar>
            <TimeZone>Romance Standard Time</TimeZone>
        </component>
        <component name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <Home_Page>about:blank</Home_Page>
        </component>
        <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" 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">
                    <Description>EnableAdmin</Description>
                    <Order>1</Order>
                    <Path>cmd /c net user Administrator /active:yes</Path>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Description>UnfilterAdministratorToken</Description>
                    <Order>2</Order>
                    <Path>cmd /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken /t REG_DWORD /d 0 /f</Path>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Description>disable user account page</Description>
                    <Order>3</Order>
                    <Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Description>disable async RunOnce</Description>
                    <Order>4</Order>
                    <Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer /v AsyncRunOnce /t REG_DWORD /d 0 /f</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>040c:0000040c</InputLocale>
            <SystemLocale>fr-FR</SystemLocale>
            <UILanguage>fr-FR</UILanguage>
            <UserLocale>fr-FR</UserLocale>
        </component>
        <component name="Microsoft-Windows-TapiSetup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <TapiConfigured>0</TapiConfigured>
            <TapiUnattendLocation>
                <AreaCode>""</AreaCode>
                <CountryOrRegion>1</CountryOrRegion>
                <LongDistanceAccess>9</LongDistanceAccess>
                <OutsideAccess>9</OutsideAccess>
                <PulseOrToneDialing>1</PulseOrToneDialing>
                <DisableCallWaiting>""</DisableCallWaiting>
                <InternationalCarrierCode>""</InternationalCarrierCode>
                <LongDistanceCarrierCode>""</LongDistanceCarrierCode>
                <Name>Default</Name>
            </TapiUnattendLocation>
        </component>
        <component name="Microsoft-Windows-SystemRestore-Main" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <DisableSR>1</DisableSR>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
            <UserAccounts>
                <AdministratorPassword>
                    <Value>WQAnAGEAMQBHAHAAbABEAFcAQQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcgBQAGEAcwBzAHcAbwByAGQA</Value>
                    <PlainText>false</PlainText>
                </AdministratorPassword>
            </UserAccounts>
            <AutoLogon>
                <Enabled>true</Enabled>
                <Username>lstaff</Username>
                <Domain>.</Domain>
                <Password>
                    <Value>WQAnAGEAMQBHAHAAbABEAFcAUABhAHMAcwB3AG8AcgBkAA==</Value>
                    <PlainText>false</PlainText>
                </Password>
                <LogonCount>999</LogonCount>
            </AutoLogon>
            <Display>
                <ColorDepth></ColorDepth>
                <HorizontalResolution></HorizontalResolution>
                <RefreshRate></RefreshRate>
                <VerticalResolution></VerticalResolution>
            </Display>
            <FirstLogonCommands>
                <SynchronousCommand wcm:action="add">
                    <CommandLine>wscript.exe %SystemDrive%\LTIBootstrap.vbs</CommandLine>
                    <Description>Lite Touch new OS</Description>
                    <Order>1</Order>
                </SynchronousCommand>
            </FirstLogonCommands>
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <NetworkLocation>Work</NetworkLocation>
                <ProtectYourPC>3</ProtectYourPC>
                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <SkipUserOOBE>true</SkipUserOOBE>
                <SkipMachineOOBE>true</SkipMachineOOBE>
                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
            </OOBE>
            <RegisteredOrganization>limsi</RegisteredOrganization>
            <RegisteredOwner>lstaff</RegisteredOwner>
            <TimeZone>105</TimeZone>
        </component>
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>040c:0000040c</InputLocale>
            <SystemLocale>fr-FR</SystemLocale>
            <UILanguage>fr-FR</UILanguage>
            <UserLocale>fr-FR</UserLocale>
        </component>
    </settings>
    <settings pass="offlineServicing">
        <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <DriverPaths>
                <PathAndCredentials wcm:keyValue="1" wcm:action="add">
                    <Path>\Drivers</Path>
                </PathAndCredentials>
            </DriverPaths>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="catalog://tarkin/deploymentshare$/operating systems/windows 10 pro x64/sources/install_windows 10 pro.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

Les drivers/pilotes pour Windows l’installation de Windows 10

Il y a plusieurs méthodes pour intégrer les drivers pour Windows 10 dans la console MDT.

En voici deux :

Méthode 1 : capture de drivers sur machines existantes

**Une méthode lorsque l’on dispose déjà des machines avec tous leurs drivers d’installés**

Prendre une machine avec pour OS Windows 10 et un powershell (minimum 2.0)

Ouvrir une fenêtre Powershell (non x86 mais x64) en mode administrateur.
Dans la fenêtre Powershell.
Saisir cette commande et répondre par « T »

Set-ExecutionPolicy Unrestricted

Puis saisir cette commande où  » est le chemin où sera sauvegardé les pilotes.

Export-WindowsDriver –OnLine –Destination

Dans la console MDT, dans « Out-of-Box Drivers, dans le menu « Actions », importer les drivers.

mdt-drivers001

Puis spécifier le répertoire source

mdt-drivers002

mdt-drivers003

Cliquez « NEXT ». La console fait le travail toute seule (checking, sorting, finding duplicate files, and so on).

Méthode 2 : extraire les drivers des fichiers d’installation

**Une méthode lorsque l’on dispose des executables d’installation des drivers. **

Publicités
Cet article, publié dans Active Directory, AD DS, Adds, CustomSettings.ini, déploiement, Deploiement, Deployment, links, MDT 2013, Migration, Powershel, PowerShell, Server 2016, Tips, Windows 10, Windows Server, est tagué , , , , , , , , , , , , , , , . Ajoutez ce permalien à vos favoris.

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s