Installer adksetup.exe :
Puis
Installer adkwinpesetup.exe :
Puis
Installer Microsoft Shared Computer Toolkit 2013 (8456) - (MDT)
https://docs.microsoft.com/en-us/mem/configmgr/mdt/release-notes
Puis
Installer Le correctif de bug Window System Image Manager (WSIM)
https://docs.microsoft.com/en-us/windows-hardware/get-started/what-s-new-in-kits-and-tools#windows-system-image-manager-known-issue
https://docs.microsoft.com/en-us/windows-hardware/get-started/what-s-new-in-kits-and-tools
v2004 - 20H2
https://oofhours.com/2020/06/03/mdt-build-8456-needs-an-update-for-windows-10-2004/
https://microsofttouch.fr/default/b/js/posts/mdt-une-mise-a-jour-de-mdt-8456-pour-supporter-l-adk-de-windows-10-2004#:~:text=Microsoft%20vient%20de%20publier%20un,d%C3%A9ploiement%20de%20syst%C3%A8mes%20d'exploitation.
https://gal.vin/2020/03/25/build-and-capture-windows-10-2004-20h1-reference-image/
https://www.youtube.com/watch?v=-hWQbYToDjA
https://askme4tech.com/how-prepare-mdt-place-upgrade-windows-10-2004
https://docs.microsoft.com/fr-fr/windows-hardware/get-started/adk-install
https://docs.microsoft.com/fr-fr/windows/deployment/deploy-whats-new
Win11
https://oofhours.com/2021/07/06/using-the-windows-11-adk-with-mdt/
Ouvrir Deployment Workbench
MDT Wizard Studio
A télécharger pour éditer les fenêtres de déploiement future :
https://github.com/DeploymentArtist/SWP1
Ces répertoires contiennent les informations suivantes:
$OEM$: Ce répertoire est utilisé pour certaines installation sans assistance (unattended), concernant les anciens systèmes d’exploitations (Windows XP/2003 par exemple)
Applications: Ce répertoire contiendra les sources des installations des applications que vous ajouterez à votre installation.
Boot: Ce répertoire contient les images WIM et ISO WinPE de démarrage, c’est ici qu’il faudra récupérer le CD de démarrage permettant d’accéder au partage depuis le poste à installer
Captures: Ce répertoire est autorisé en écriture et recevra les captures effectuée par MDT (ce sujet sera abordé dans un article ultérieur)
Control: Ce répertoire contient tous les fichiers de configuration utilisé pour personnalisé votre installation, c’est principalement un ensemble de fichier XM (d’où la nécessité d’avoir MSXML installé sur le poste)
Operating Systems: Il contient toutes les sources d’installation des systèmes d’exploitations que vous aurez ajouté à MDT.
Out-of-Box Drivers: A l’intérieur de ce répertoires sont copié tous les pilotes ajouté à MDT et utilisé par votre installation.
Packages: Ce répertoire est utilisé pour stocké les patchs de sécurité et les packs de langues que vous aurez ajouté dans MDT.
Scripts: Ce répertoire est le « noyau » d’exécution de MDT, il contient tous les scripts exécuté lors du déploiement.
Tools: Ce répertoire contient les outils supplémentaire (comme USMT) ajouté à MDT.
Servicing:
Templates:
USMT: Ce répertoire n’a pas d’utilité dans notre cas. Il est utilisé pour gérer USMT (User State Migration Tool) qui permet la conservation d’une partie ou de tout les paramètres utilisateur. Comme nous sommes en train de réaliser une installation de Windows, notre cas ne s’applique pas.
Dans le monde du déploiement de Windows, on peut dire qu’il existe 3 types d’images :
Personnellement, j’utilise avec MDT des images de type Thin et je pousse l’installation des logiciels et mises à jour Windows en utilisant des tâches dans la séquence de déploiement. Cette solution permet de mettre à jour régulièrement l’image Windows et les logiciels sans avoir besoin de refaire une image de référence tous les ans par exemple.
cd D:
dism /Get-WimInfo /WimFile:D:/sources/install.esd
dism /export-image /SourceImageFile:D:\sources\install.esd /SourceIndex:6 /DestinationImageFile:C:\sources\install.wim /Compress:max /CheckIntegrity
Il ne vous reste plus qu'à l'intégrer à votre WDS ou a l'utiliser pour MDT et à déployer Windows !
Windows_10_Pro_FR_x64_1903 ou Windows_10_Pro_FR_x64_1909 ect ...
Dans l’assistance, vous avez trois choix:
Extraire les fichiers suivantes situés dans install.wim de ISO install Win10 :
BCP47Langs.dll BCP47mrm.dll
Puis copier dans \Windows\system32\ de WinPE.wim en suivant la procédure http://wiki.srvserveur.com/prive/windows/microsoft-deployment-toolkit#modif_winpe_iso
BCP47Langs.dll BCP47mrm.dll
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-mount-and-customize
Copie de ISO WinPE :
Montage de ISO WinPE :
Dism /Mount-Image /ImageFile:"C:\Temp\Export\winpe.wim" /index:1 /MountDir:"C:\Temp\Mount\Current"
Export de ISO WinPE modifié :
Dism /Unmount-Image /MountDir:"C:\Temp\Mount\Current" /commit
http://www.msnloop.com/creer-une-cle-uefi-pour-mdt-2013/
L'utilisation de RUFUS sera le meilleur moyen et le plus rapide
Mode GPT et UEFI
NetKVM/ - Virtio network driver viostor/ - Virtio block driver vioscsi/ - Virtio Small Computer System Interface (SCSI) driver viorng/ - Virtio RNG driver vioser/ - Virtio serial driver Balloon/ - Virtio memory balloon driver qxl/ - QXL graphics driver for Windows 7 and earlier. (build virtio-win-0.1.103-1 and later) qxldod/ - QXL graphics driver for Windows 8 and later. (build virtio-win-0.1.103-2 and later) pvpanic/ - QEMU pvpanic device driver (build virtio-win-0.1.103-2 and later) guest-agent/ - QEMU Guest Agent 32bit and 64bit MSI installers qemupciserial/ - QEMU PCI serial device driver *.vfd VFD floppy images for using during install of Windows XP
Outils permettant le test et la modification des fenêtres de déploiement :
https://www.supinfo.com/articles/single/5884-microsoft-deployment-toolkit
Partie Modification des variables dynamiques
MDT Wizard Studio
A télécharger pour éditer les fenêtres de déploiement :
https://github.com/DeploymentArtist/SWP1
(Méthode choisie pour mon MDT grâce à son intégration parfaite dans les fenêtres de déploiement WinPE)
Aperçu de la fenêtre du choix du disk :
Editer le fichier “DeployWiz_Definition_ENU.xml” situé dans :
\\192.168.10.30\DeploymentShare$\Scripts\
Ajouter le code suivant :
<Pane id="TargetDisk" reference="DeployWiz_TargetDisk.xml"> </Pane>
Créer le fichier “DeployWiz_TargetDisk.vbs” :
' // *************************************************************************** ' // File: DeployWiz_TargetDisk.vbs ' // ' // Version: 6.3.8456.1000 ' // ' // Purpose: Script methods used for the Target Disk UI ' // ' // *************************************************************************** 'This function is used to populate the select box Function Disk_Initialization Dim oOption2 strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colDisks = objWMIService.ExecQuery ("SELECT * FROM Win32_DiskDrive") For each objDisks in colDisks Set oOption2 = document.createElement("OPTION") oOption2.Text = objDisks.Index oOption2.Value = objDisks.Index TargetDisk.Add(oOption2) 'Wscript.Echo "Volume: "& vbTab & objQuota.Index 'Wscript.Echo "User: "& vbTab & objQuota.Model Next End function 'This function is used to convert bytes into useful readable size Function ConvertSize(byteSize) dim Size Size = byteSize Do While InStr(Size,",") 'Remove commas from size CommaLocate = InStr(Size,",") Size = Mid(Size,1,CommaLocate - 1) & _ Mid(Size,CommaLocate + 1,Len(Size) - CommaLocate) Loop Suffix = " Bytes" If Size >= 1024 Then suffix = " KB" If Size >= 1048576 Then suffix = " MB" If Size >= 1073741824 Then suffix = " GB" If Size >= 1099511627776 Then suffix = " TB" Select Case Suffix Case " KB" Size = Round(Size / 1024, 1) Case " MB" Size = Round(Size / 1048576, 1) Case " GB" Size = Round(Size / 1073741824, 1) Case " TB" Size = Round(Size / 1099511627776, 1) End Select ConvertSize = Size & Suffix End Function 'this function is used to show disk info about a selected disk Function ShowDiskInfo strSelectedIndex = "" ' Check all the Options of the ListBox For i = 0 to (TargetDisk.Options.Length - 1) ' Check if the Current Option is Selected If (TargetDisk.Options(i).Selected) Then ' Collect only the Selected Values strSelectedIndex = strSelectedIndex & TargetDisk.Options(i).Value & vbCrLf End If Next strComputer = "." Dim sMsg Dim sDiskSize Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colDiskInfo = objWMIService.ExecQuery ("SELECT * FROM Win32_DiskDrive WHERE Index=" & strSelectedIndex) For each objDiskInfo in colDiskInfo sDiskSize = ConvertSize(objDiskInfo.Size) sMsg = "Disk Index: " & strSelectedIndex & vbCrLf & "Disk Size: " & sDiskSize & vbCrLf & "Disk Model: " & objDiskInfo.Model & vbCrLf & "Disk Serial Number: " & objDiskInfo.SerialNumber Msgbox(sMsg) Next End function 'this function sets the variable in MDT for the deployment Function SetTargetDisk strTargetDiskIndex = "" ' Check all the Options of the ListBox For i = 0 to (TargetDisk.Options.Length - 1) ' Check if the Current Option is Selected If (TargetDisk.Options(i).Selected) Then ' Collect only the Selected Values strTargetDiskIndex = strTargetDiskIndex & TargetDisk.Options(i).Value & vbCrLf End If Next oEnvironment.Item("OSDDiskIndex") = strTargetDiskIndex End Function
Puis créer le fichier “DeployWiz_TargetDisk.xml” :
<?xml version="1.0" encoding="utf-8"?> <!-- ' // *************************************************************************** ' // ' // Copyright (c) Microsoft Corporation. All rights reserved. ' // ' // Microsoft Deployment Toolkit Solution Accelerator ' // ' // File: DeployWiz_Definition_ENU.wsf ' // ' // Version: 6.3.8456.1000 ' // ' // Purpose: Main Client Deployment Wizard Defintion File ' // ' // *************************************************************************** --> <Wizard> <Global> <CustomScript>DeployWiz_TargetDisk.vbs</CustomScript> </Global> <Pane id="SelectTargetDIsk" title="Target Disk"> <Initialization><![CDATA[ Disk_Initialization ]]></Initialization> <Body><![CDATA[ <!-- Use the H1 Style for titles at the top of the page --> <H1>Specify the target disk for use in the deployment process.</H1> <table> <tr><td colspan=2> <H4>Target Disk</H4> </td></tr> <tr valign=top> <td width="80px"> <img src="SD_HDD.png"> </td> <td width="100%"> <p>Select the target disk for deployment: </br> <SELECT NAME="TargetDisk" class=WideEdit language="vbscript" onchange="SetTargetDisk" > </SELECT> </p> <button style="background: inherit; background-image: url(SD_Help.png); width: 300px; height: 50px; border: 0px; font: 20px; font-weight: bold;" id="btnDiskInfo" title="View information about the selected disk." onclick="ShowDiskInfo" ondblclick="ShowDiskInfo">Click for show disk information</button> <input type=hidden NAME="UserLocale" class=WideEdit /> <input type=hidden NAME="KeyboardLocale" class=WideEdit /> </td> </tr> <tr><td colspan=2> <br> </td></tr> <tr valign=top> </tr> </table> ]]></Body> </Pane> </Wizard>
Vous devrez ajouter les composants suivants à votre image de démarrage:
Windows PowerShell (WinPE-PowerShell)
Windows PowerShell (WinPE-StorageWMI)
Microsoft .Net (WinPE Dot3Svc)
Mise en place :
powershell.exe -STA -NoProfile -ExecutionPolicy Bypass -File %SCRIPTROOT%\Choose_Disk_WPF_GUI\ChooseDiskWPF.ps1
Commande pour Check if there’s more than one Hard Disk à insérer.
PowerShell.exe -NoProfile -Command "If ((Get-Disk | Where-Object -FilterScript {$_.Bustype -ne 'USB'}).Count -gt 1) {$TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment;$TSEnv.Value('MoreThanOneHD') = $true}"
Avant installation des applications (Script) permettant l'installation/désinstallation/autre nécessaire pour l'installation complète de chaque application, il est nécessaire d’exécuter une commande désactivant la restriction d’exécution de script sur le system grâce à une tache (commande ci-dessous) cette commande est à modifier légèrement à la fin de l'installation pour restreindre de nouveau l’exécution de script sur le poste client.
PowerShell.exe -Command "& {set-executionpolicy Unrestricted -Force}"
Quiet install command :
cmd.exe /c Install_7z.cmd
Working directory :
.\Applications\7-zip-1900
Quiet install command :
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\AddAppRunOnce\AddAppRunOnce_PowerShell.ps1'"
Working directory :
C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\7-zip-1900\Install_7z.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Ccleaner-5.60.0.7307\Install_Ccleaner.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
cmd.exe /c Install_DirectX.cmd .\Applications\DirectX
cmd.exe /c Install_FileZilla.cmd .\Applications\FilezillaClient
cmd.exe /c Install_Java8x86.cmd .\Applications\Java8-32Bits-8.0.2210.11
cmd.exe /c Install_Java8x64.cmd .\Applications\Java8-64Bits-8.0.2210.11
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Notepad++-7.71\Install_NotepadPlusPlus.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Notepad++-7.71\Install_Recuva.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\SystemExplorer-7.0.0\Install_SystemExplorer.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
cmd.exe /c Install_TeamSpeak3.cmd .\Applications\TeamSpeak3-3.3.0
cmd.exe /c Install_TeamViewer.cmd .\Applications\TeamViewer-14.4.2669.0
cmd.exe /c Install_VLC.cmd .\Applications\VLC-3.0.7.1
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\VNC-Viewer-6.19.715\Install_VNCViewer.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
cmd.exe /c Install_WinRar.cmd .\Applications\WinRar-5.71
cmd.exe /c Install_Brave.cmd .\Applications\Brave
cmd.exe /c Install_GoogleChrome.cmd .\Applications\Google-Chrome-75.0.3770.142
cmd.exe /c Install_Firefox.cmd .\Applications\Mozilla-Firefox-68.0.1
cmd.exe /c Install_Opera.cmd .\Applications\Opera-62.0.3331.99
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\CPU-Z\Install_CPU-Z.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\CrystalDiskInfo\Install_CrystalDiskInfo.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\CrystalDiskMark\Install_CrystalDiskMark.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
cmd.exe /c Install_Defraggler.cmd .\Applications\Defraggler
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\DesktopOK\Install_DesktopOK.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\FilezillaServer\Install_FileZillaServer.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
cmd.exe /c Install_InternetDownloadManager.cmd .\Applications\InternetDownloadManager
cmd.exe /c Install_mRemoteNG.cmd .\Applications\mRemoteNG-1.76.20.24615
cmd.exe /c Install_Putty.cmd .\Applications\Putty-0.72
cmd.exe /c Install_QNAPQsyncClient.cmd .\Applications\QNAPQsyncClient
cmd.exe /c Install_RemoteDesktopManager.cmd .\Applications\RemoteDesktopManagerEnterprise
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\UltraISO\Install_UltraISO.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
cmd.exe /c Install_Wireshark.cmd .\Applications\Wireshark-3.0.3
cmd.exe /c Install_YaTQA.cmd .\Applications\YaTQA
cmd.exe /c Install_Steam.cmd .\Applications\Steam-2.10.91.91
cmd.exe /c Install_Uplay.cmd .\Applications\Uplay-92.0.6280.0
cmd.exe /c Install_Gimp.cmd .\Applications\Gimp
cmd.exe /c Install_OBSStudio.cmd .\Applications\OBS-Studio-23.2.1
cmd.exe /c Install_PaintDotNet.cmd .\Applications\PaintDotNet-4.2
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\PhotoFiltre\Install_PhotoFiltre.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\AddAppRunOnce\AddAppRunOnce_PowerShell.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\DeleteEdgeWelcome\InstallEdgeWelcome.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
cmd.exe /c DisableCtrlAltSupprStartup.cmd .\Applications\DisableCtrlAltSupprStartup
cmd.exe /c DisableLockScreenStartup.cmd .\Applications\DisableLockScreenStartup
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\DisableRecentHistory\DisableRecentHistory_PowerShell.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
cmd.exe /c DisableSteamStartup.cmd .\Applications\DisableSteamStartup
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\EnableRDPWin10\EnableRDP_PowerShell.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\EnableShowHiddenFiles\EnableShowHiddenFiles_PowerShell.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\EnableShowHiddenFilesSystem\EnableShowHiddenFilesSystem_PowerShell.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\EnableShowKnownFileExt\EnableShowKnownFileExt_PowerShell.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\NetFx3\Install_NetFX3.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\ResetWindowsSearch\ResetWindowsSearch_PowerShell.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\MenuPerso\MenuPerso.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -AppsOnly" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1'" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -OneDrive -Xbox" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -OneDrive -Xbox -Cortana" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -OneDrive -Xbox -Cortana -Phone" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -OneDrive -Xbox -Phone" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -SettingsOnly" C:\Windows\System32\WindowsPowerShell\v1.0
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -Xbox -Phone" C:\Windows\System32\WindowsPowerShell\v1.0
@echo off cls echo -------------------------------------------------------- echo . echo . echo . Installing App - Please Wait echo . This window will close once installed REM Silent install for 64-bit if defined ProgramFiles(x86) ( "%~dp0rcsetup153.exe" /S ) if defined ProgramFiles(x86) exit REM Silent install for 32-bit "%~dp0rcsetup153.exe" /S :: Wait for 20 seconds ping -n 20 127.0.0.1 > NUL exit
# Script install App MDT # ----------- Modifier variable apres cette ligne ----------- # ------------- Modify variable after this line ------------- $NameApp = "App" $Installer32 = "App.exe" $Installer64 = "App.exe" $arguments = "/S" $uninstaller32or64 = "App\Uninstall.exe" $argumentsUninstall = "/S" $Global:IsMsi = "0" #IsMsi = "0" or "1" # --------------- Ne rien modifier apres cette ligne --------------- # ------------- Do not modify anything after this line ------------- $scriptPath = split-path -parent $MyInvocation.MyCommand.Definition $Global:IsCopyNeed = "0" # $CopyNeed = "0" or "1" $SourceConfig = "$scriptPath\ConfigApp" $DestinationConfig = "%AppData%\App" $Global:DestinationConfig = "%AppData%_or_ProgramFiles\App" $StartJob1 = "1" # $StartJob = "0" or "1" $NameJob = "StopApp" $ProcName = "AppProcName" Write-Host "Debut installation $NameApp" -ForegroundColor Green function CopyFilesToFolder ($fromFolder, $toFolder) { # Make sure the destination folder exists If(!(Test-Path $toFolder)){New-Item $toFolder -ItemType Directory -Force|Out-null} # Copy source folder contents to destination folder recursively Copy-Item "$fromFolder\*" -Destination "$toFolder" -recurse -force } function StartJob1PowerShell($NameJob1, $ProcName1) { Start-Job -Name "$NameJob1" -ScriptBlock { while($true) { Get-Process | where {$_.ProcessName -like "$using:ProcName1"} | Stop-Process; Start-Sleep -Seconds 10 } } -ArgumentList $ProcName1 } # Uninstall Write-Host "Uninstall $NameApp" -ForegroundColor Cyan If ((Test-Path "${env:ProgramFiles(x86)}\$uninstaller32or64" -PathType Leaf) -or (Test-Path "${Env:ProgramFiles}\$uninstaller32or64" -PathType Leaf)) { If (Test-Path "${env:ProgramFiles(x86)}\$uninstaller32or64" -PathType Leaf) { Write-Host "TEST Desinstallation $NameApp ProgramFilesX86" -ForegroundColor Magenta If ($StartJob1 -eq "1"){ StartJob1PowerShell "$NameJob" "$ProcName"} $executableSupprFinal = "${env:ProgramFiles(x86)}\$uninstaller32or64" start-process $executableSupprFinal $argumentsUninstall -PassThru -Verb RunAs -Wait #-NoNewWindow Write-Host "Desinstallation $NameApp reussi" -ForegroundColor Yellow } elseif (Test-Path "${Env:ProgramFiles}\$uninstaller32or64" -PathType Leaf) { Write-Host "TEST Desinstallation $NameApp ProgramFiles" -ForegroundColor Magenta If ($StartJob1 -eq "1"){ StartJob1PowerShell "$NameJob" "$ProcName"} $executableSupprFinal = "${env:ProgramFiles}\$uninstaller32or64" start-process $executableSupprFinal $argumentsUninstall -PassThru -Verb RunAs -Wait #-NoNewWindow Write-Host "Desinstallation $NameApp reussi" -ForegroundColor Yellow } else { Write-Host "Desinstaller $NameApp introuvable" -ForegroundColor Red } } else { Write-Host "$NameApp NON presente" -ForegroundColor Green } # Suppression du Job créer If ($StartJob1 -eq "1") { If ( [bool](get-job -Name $NameJob -ea silentlycontinue) ) { Remove-Job -Name $NameJob -Force } Start-Sleep -Seconds 5 } # Install Write-Host "Installation $NameApp" -ForegroundColor Cyan If (Test-Path "${env:ProgramFiles(x86)}") { If ($StartJob1 -eq "1"){ StartJob1PowerShell "$NameJob" "$ProcName"} $Installer = $Installer64 $DestinationConfig = "${env:ProgramFiles}\$DestinationConfig" $InstallerFinal = "$scriptPath\$Installer" If ($IsMsi -eq "1") { start-process msiexec.exe -ArgumentList '/i',$InstallerFinal,$arguments -PassThru -Verb RunAs -Wait #-NoNewWindow } Else { start-process $InstallerFinal $arguments -PassThru -Verb RunAs -Wait #-NoNewWindow } } Else { If ($StartJob1 -eq "1"){ StartJob1PowerShell "$NameJob" "$ProcName"} $Installer = $Installer32 $DestinationConfig = "${env:ProgramFiles(x86)}\$DestinationConfig" $InstallerFinal = "$scriptPath\$Installer" If ($IsMsi -eq "1") { start-process msiexec.exe -ArgumentList '/i',$InstallerFinal,$arguments -PassThru -Verb RunAs -Wait #-NoNewWindow } Else { start-process $InstallerFinal $arguments -PassThru -Verb RunAs -Wait #-NoNewWindow } } # Suppression du Job créer If ($StartJob1 -eq "1") { If ( [bool](get-job -Name $NameJob -ea silentlycontinue) ) { Remove-Job -Name $NameJob -Force } Start-Sleep -Seconds 5 } # Copy Config Item from Deployroot If ($IsCopyNeed -eq "1") { Start-Sleep -Seconds 2 Write-Host "Copie auxiliere $NameApp" -ForegroundColor Cyan CopyFilesToFolder "$SourceConfig" "$DestinationConfig" } Write-Host "Fin install $NameApp" -ForegroundColor Green
En premier nous allons exporter la configuration des associations extension des fichiers sur notre machines témoin.
dism /online /export-DefaultAppAssociations:C:\Users\%username%\Desktop\DefaultAppAssociations.xml
Maintenant nous allons modifier légèrement la commande de base de l'import pour l'intégrer dans l'une des taches d'une TaskSequence de notre serveur MDT.
Pour rappelle la commande de base pour l'import est (exemple ci-dessous) :
dism /online /import-DefaultAppAssociations:C:\Users\%username%\Desktop\DefaultAppAssociations.xml
Créer les dossiers suivant dans Out-of-Box Drivers :
Exemple de get wmic
C:\WINDOWS\system32>wmic computersystem get model,name,manufacturer,systemtype Manufacturer Model Name SystemType Dell Inc. Latitude E7450 WINCMD-PC2 x64-based PC
%make%\%model% Dell Inc.\Latitude E7450
%make% = Dell Inc. %model% = Latitude E7450
Autres exemple :
wmic baseboard get product,Manufacturer
http://techgenix.com/Deploying-Windows-7-Part26/
https://emeneye.wordpress.com/2013/01/14/injecting-drivers-based-on-target-computer-model/
http://www.msnloop.com/gestion-des-pilotes-avec-mdt-2013-update-1/
https://www.ronnipedersen.com/wmi-query/
http://www.microsoft-desktop.com/2014/03/mdt-gestion-des-drivers-via-make-model/
https://web.sas.upenn.edu/jasonrw/2016/09/25/mdt-and-drivers/
https://nas.wuibaille.fr/wordpress/tuto-installation-et-mise-en-oeuvre-de-mdt/9/
https://deploymentresearch.com/mdt-2013-lite-touch-driver-management/
https://blogs.technet.microsoft.com/canitpro/2012/04/23/grer-les-drivers-dans-mdt-2010-partie-1-les-drivers-fournis-sous-forme-dapplication/
Out-Of-Box Folders
Operating System
Make
Model
Model…
Make…
Operating System…
Out-of-Box drivers
OS Architecture
Marque du poste
Modèle du poste
Modèle du poste
Marque du poste
Modèle...
OS Architecture
Ajouter une étape Set Task Sequence Variable avec DriverGroup001 et sur Windows 10 x64\%Model%
ou
Si un seul model :
Ajouter une étape Set Task Sequence Variable avec DriverGroup001 et sur Windows 10 x64\%make%
—
Créer une nouvelle tache dans la task Sequence souhaitée au niveau de la partie Preinstall :
Permet de récupérer valeur par une fenêtre CMD :
wmic path win32_ComputerSystem get Model
Dans WMI namespace indiquer ceci :
root\cimv2
Dans WQL query indiquer ceci :
SELECT * FROM Win32_ComputerSystem WHERE Model LIKE '%Latitude E6410%'
Par exemple dans une config ordinateur personnalisée le Model de l'ordinateur n’apparaît pas car il n'est pas un model unique du marché dans ce cas nous allons utiliser une autres Classe WMI pour déterminer le Model de carte mère par exemple et indiquer à la séquence de taches d'injecter les drivers spécifiques que nous auront préalablement spécifier en créant un profil spécifique.
Suivre la meme procedure que précedemment dans Injection drivers automatisé mais à la fin indiquer les conditions ci dessous a la place des conditions précédentes.
Dans WMI namespace indiquer ceci :
root\cimv2
Dans WQL query indiquer ceci :
SELECT * FROM Win32_BaseBoard WHERE Product LIKE '%RAMPAGE V EDITION 10%'
Autres exemple de pilote spécifique :
Exemple de commande servant a déterminer la carte video utilisée :
wmic path win32_VideoController get name
query SELECT * FROM Win32_Videocontroller WHERE Name LIKE '%GeForce%'
Installation silecieuse a tester :
Extract the driver avec 7zip par exemple
setup.exe -noeula -clean -noreboot /s setup.exe -s -clean -noreboot
Exemple:
Select * FROM Win32_ComputerSystem WHERE Manufacturer LIKE "%Dell%" AND Model LIKE "%E6510%"
Le symbole % permet de faire une recherche sur les caracteres suivant et précedent.
Si vous etes dans une machine virtuelle avec VMware, pour faire votre test.
Select * FROM Win32_ComputerSystem WHERE Manufacturer LIKE "%VMware%" AND Model LIKE "%VMware%"
Les éléments du tuto sont tirés directement du super site :
http://www.systanddeploy.com/2018/02/powershell-tool-software-center-for-mdt.html
https://www.youtube.com/watch?v=ZIRjsWQ-9yc&feature=emb_logo
https://www.youtube.com/watch?v=ztPhZve9Zkc&feature=emb_logo
Copiez les fichiers situés dans Copy in your Deployment Share\In Scripts dans le dossier Scripts de votre partage de déploiement MDT.
Copiez les fichiers situés dans Copy on Client\On C à la racine de C:\
Copiez les fichiers situés dans Copy on Client\On desktop sur le bureau utilisateur.
http://www.systanddeploy.com/2019/01/create-your-own-mdt-finishaction.html
Cette étape va permettre d'indiquer au MDT et à la séquence de tache de ne rien effectuer comme action après avoir appuyer sur le BOUTON “Terminer”
Sub NothingToDo_Reboot ' Add/Edit by Vincent1890 Dim o, oOS ' Executer un script powershell ' Copy logs and system files ' oShell.Run("powershell.exe -noexit -windowstyle hidden -file NothingToDo_Reboot_Actions.ps1") ' Reboot If oEnv("SystemDrive") = "X:" then ' Nothing to do, exiting will reboot Else ' Set oOS = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true") ' For Each o in oOS ' o.Win32Shutdown(6) ' Next End if End Sub
Select Case UCase(sFinishAction) Case "SHUTDOWN" Shutdown Case "CUSTOMFINISHNOTHINGTODO" NothingToDo_Reboot Case "RESTART", "REBOOT" Reboot Case "LOGOFF" Logoff End Select
Créez une nouvelle séquence de tâches configurée comme ci-dessous:
Les élément a ajouter/sélectionner ci-dessous doivent être absolument respecté a la lettre
ID : CATALOG Name : Catalog Installation Type : séquence de tâches personnalisée
PowerShell.exe -Command "& {set-executionpolicy Unrestricted -Force}"
et
PowerShell.exe -Command "& {set-executionpolicy Restricted -Force}"
Lorsqu'une application est ajoutée par l'outil, il ajoute automatiquement des clés de registre. De cette façon, il les détectera la prochaine fois.
Il créer une clé regedit si celle ci n'est pas deja créer :
HKLM\Software\MDT_Catalog\Applications
Dans cette clé, chaque application installée créera une clé en utilisant le nom situé dans Applications.xml, voir ci-dessous.
Il créera également deux chaînes comme ci-dessous pour chaque application installée
Les problèmes ci dessus ne gène en rien l'utilisation et l'installation des applications ajouter au serveur MDT, les élément indiquer sont juste des optimisation de l'application PowerShell qui pourrait être ajouté/rectifié dans le future.
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?!S)\p{L}'} |
Select PSChildName, Version, Release
or
cd "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP" ls
Set-ExecutionPolicy Bypass
Install-Module -Name VcRedist
Import-Module -Name VcRedist
New-Item -Path C:\Temp\VcRedist -ItemType Directory
Get-VcList | Save-VcRedist -Path C:\Temp\VcRedist
$VcList = Get-VcList
Install-VcRedist -Path C:\Temp\VcRedist -VcList (Get-VcList) -Silent
$VcList = Get-VcList
Import-VcMdtApp -VcList $VcList -Path C:\Temp\VcRedist -MdtPath \\192.168.10.30\DeploymentShare$ -Language fr-FR -Silent
New-VcMdtBundle -MdtPath \\192.168.10.30\DeploymentShare$ -Language fr-FR
Ou trouver les logs MDT pendant et aprés le déploiement
Les logs MDT ne se trouvent pas au même emplacement en fonction des étapes
Avant le diskpart =⇒ X:\MININT\SMSOSD\OSDLOGS
Après le diskpart =⇒ C:\MININT\SMSOSD\OSDLOGS
Apres le déploiement =⇒ %WINDIR%\TEMP\DeploymentLogs
la lecture des fichiers de Logs se fera avec cmtrace ou trace32
| Description | Path |
|---|---|
| Deployent tasks log process | %SystemDrive%\MININT\SMSOSD\OSDLOGS\BDD.log |
| Deployment task sequencer log | %SystemDrive%\Users\ADMINI~1\AppData\Local\Temp\SMSTSLOG\SMSTS.LOG |
| Domain join log | %SystemDrive%\Windows\DEBUG\NETSETUP.LOG |
| Windows 7 setup log | %SystemDrive%\Windows\Panther\setupact.LOG |
| Windows 7 unattend log | %SystemDrive%\Windows\Panther\UnattendGC\setupact.LOG |
| Deployent tasks log process in an other folder | %SystemDrive%\Windows\TEMP\DeploymentLogs\BDD.LOG |
| Deployment task sequencer log in an other folder | %SystemDrive%\Windows\TEMP\SMSTSLog\SMSTS.LOG |
Other log files you may want to look for:
ZTIApplications.log – When troubleshooting application installs
ZTIDrivers.log – When troubleshooting MDT Driver injection
ZTIDomainJoin.log – When troubleshooting joining the domain
https://www.youtube.com/watch?v=-hWQbYToDjA
https://gal.vin/posts/build-and-capture-windows-10-2004-20h1-reference-image/
https://docs.microsoft.com/en-us/mem/configmgr/mdt/release-notes
https://docs.microsoft.com/fr-fr/mem/configmgr/mdt/
https://docs.microsoft.com/fr-fr/windows/deployment/deploy-windows-mdt/create-a-windows-10-reference-image
https://docs.microsoft.com/fr-fr/windows/deployment/deploy-windows-mdt/prepare-for-windows-deployment-with-mdt
https://deployadmin.com/2019/04/24/installation-de-microsoft-deployment-toolkit-mdt/
http://www.msnloop.com/les-logs-lies-a-linstallation-de-windows/
https://www.google.com/search?q=installation+et+la+configuration+de+base+d%27un+MDT&oq=installation+et+la+configuration+de+base+d%27un+MDT&aqs=chrome..69i57&sourceid=chrome&ie=UTF-8
http://www.msnloop.com/windows-10/
https://www.it-connect.fr/presentation-de-winpe/
https://docs.microsoft.com/fr-fr/windows/deployment/deploy-windows-mdt/deploy-windows-10-with-the-microsoft-deployment-toolkit
https://docs.microsoft.com/en-us/sccm/mdt/
https://helpcenter-cebox.wisper.io/docs/utilisation-de-lite-touch-pour-linstallation-de-vos-masters-mdt
http://www.msnloop.com/windows-10/
http://www.msnloop.com/installation-et-configuration-de-mdt-2013-update-1/
http://www.msnloop.com/deployer-windows-10-avec-mdt-2013-update-1/
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/add-multilingual-support-to-windows-setup
https://blog.infeeny.com/2019/01/28/mdt-nouvelle-version-disponible/
https://www.it-connect.fr/mdt-techniques-de-gestion-de-la-base-de-donnees/
https://www.it-connect.fr/mdt-introspection-des-sequences-de-taches/
https://www.it-connect.fr/mdt-creer-une-cle-usb-litetouch-bootable/
https://www.it-connect.fr/mdt-realiser-une-installation-autonome-a-partir-dun-media/
https://www.it-connect.fr/overview-mdt-wds-winpe/
https://www.it-connect.fr/custpe-realiser-un-dual-boot-winpe-ltiwindows/
https://www.it-connect.fr/configuration-avancee-de-mdt-2013/
https://www.it-connect.fr/windows-10-nouveautes-sur-le-deploiement/
https://openclassrooms.com/fr/courses/2356306-prenez-en-main-windows-server
https://openclassrooms.com/fr/courses/1733521-installez-et-deployez-windows-10
https://www.vkernel.ro/blog/creating-an-offline-mdt-deployment-media
https://www.supinfo.com/articles/single/7608-deployer-une-image-windows-10-avec-wds-mdt-2013
https://docs.microsoft.com/fr-fr/windows/deployment/deploy-windows-mdt/get-started-with-the-microsoft-deployment-toolkit
https://www.microsoft.com/en-us/download/details.aspx?id=54259
https://www.askme4tech.com/building-custom-windows-iso-mdt-2013
https://www.petri.com/deploy-windows-10-using-mdt-wds-part-1-create-mdt-deployment-share
https://docs.microsoft.com/fr-fr/windows-hardware/get-started/adk-install#winADK
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-add-packages--optional-components-reference
https://www.supinfo.com/articles/single/5884-microsoft-deployment-toolkit
http://www.systanddeploy.com/2018/01/mdt-ps-wizard-all-mdt-wizards-in-one.html
https://labo-microsoft.supinfo.com/articles/mdt_2010_-_initiation/2/
https://win10.guru/windows-deployment-with-mdt-part-5-add-disks-and-partitions/
https://www.it-connect.fr/gestion-des-applications-dans-mdt/
https://www.it-connect.fr/mdt-integration-dapplications/
https://www.manageengine.com/products/desktop-central/software-installation/windows-software.html
https://www.it-connect.fr/gestion-des-applications-dans-mdt/
https://deploymentresearch.com/building-the-perfect-windows-server-2019-reference-image/
https://github.com/DeploymentResearch/DRFiles/blob/master/Scripts/Install-MicrosoftVisualC%2B%2Bx86x64.wsf
https://www.toutwindows.com/ws2019-installation/
https://docs.microsoft.com/fr-fr/windows/configuration/configure-windows-10-taskbar
https://docs.microsoft.com/fr-fr/windows/configuration/start-layout-xml-desktop
https://nathanblasac.com/deploy-a-custom-start-layout-configuration-policy-via-intune-windows-10-1809-a4ed72875c08
https://blog.piservices.fr/post/2013/06/06/Installation-de-Windows-(x64)-sur-une-partition-GPT
https://emeneye.wordpress.com/2017/04/25/automate-the-process-of-building-and-capturing-a-windows-10-1703-reference-image-building-the-task-sequence/
https://rdr-it.com/convertir-un-fichier-esd-en-wim/
https://www.powershellgallery.com/packages?q=Tags%3A%22MDT%22
https://www.powershellgallery.com/packages/LatestUpdate/3.0.171
https://www.experteam.fr/mdt-monitoring-deployment-success-error-mail-notification
https://www.pdq.com/blog/secure-password-with-powershell-encrypting-credentials-part-2/
https://interworks.com/blog/trhymer/2013/07/08/powershell-how-encrypt-and-store-credentials-securely-use-automation-scripts/
https://mdtguy.wordpress.com/2018/01/19/installing-adobe-acrobat-reader-dc-with-mdt/
https://blog.metsys.fr/powershell-et-le-monitoring-mdt/
https://deploymentbunny.com/2011/05/22/things-you-should-know-undocumented-properties-in-mdt-2010-update-1/
https://ecirtam.net/autoblogs/autoblogs/wwwitconnectfr_d5aed39c99b70ef3cb29dd221068f246f80c7098/?D%C3%A9buter-avec-MDT-2013
http://www.msnloop.com/deployer-des-applications-avec-mdt-2013/
http://www.msnloop.com/microsoft-edge-pour-les-entreprises-nouveautes-et-roadmap/
https://learning.rdr-it.com/course/deploiement-dimage-windows/
https://4sysops.com/archives/using-the-microsoft-deployment-toolkit-mdt-as-a-portable-application/
https://jm2k69.github.io/2017/07/Create-Master-MDT-Reference.html
https://docs.stealthpuppy.com/docs/vcredist/install
https://rdr-it.com/mdt-installation-configuration-microsoft-deployment-toolkit/
https://www.google.com/search?q=mdt+rst+driver+for+nvme&oq=MDT+RST+drivers+for+Nvme&sclient=gws-wiz-serp
https://rdr-it.com/dart-configuration-integration-mdt/
https://rdr-it.com/en/dart-configuration-and-integration-with-mdt/
https://execmgr.net/2016/02/02/dart-remote-control-winpe-the-nice-way/
https://deploymentresearch.com/adding-dart-to-configmgr-boot-images-and-starting-it-earlier-than-early/
https://docs.microsoft.com/fr-fr/archive/blogs/alex_semi/dart-remote-recovery-starts-too-late-in-your-osd-mdt-deployment-here-is-the-fix
https://winxperts4all.at/index.php/software/61-microsoft-deployment-tool-mdt/1146-mdt-2013-u2-built-in-apps-entfernen
https://stackoverflow.com/questions/19957161/add-type-load-assembly-from-network-unc-share-error-0x80131515
http://www.systanddeploy.com/2018/01/mdt-ps-wizard-all-mdt-wizards-in-one.html
https://gallery.technet.microsoft.com/MDT-PS-Wizard-4e6cf60b
https://gaby277.developpez.com/Tutoriels/utiliser-WinPE-pour-le-depannage/
http://www.msnloop.com/windows-adk-1903-est-disponible/
https://charbelnemnom.com/2017/10/how-to-create-a-custom-winpe-boot-image-with-powershell-support-powershell-deploy-windowsserver/
https://jayrbarrios.com/2019/10/07/creating-custom-windows-pe-from-adk-1903/
https://www.osdeploy.com/blog/winpe-10-1809-wpf-dramarama
https://www.virtuallyboring.com/deploy-configure-wsus-server-2012-r2/
https://emeneye.wordpress.com/2017/05/05/automate-the-process-of-building-and-capturing-a-windows-10-1703-reference-image-the-customsettings-ini-rules/
https://rdr-it.com/mdt-installer-mises-a-jour-wsus/
Variable à modifier pour selection : OSDisk ou OSDDiskIndex
Ensemble des 3 prochains liens est prometteur edit le 2019-12-11 :
https://social.technet.microsoft.com/Forums/en-US/7f8a272c-6306-4361-8b54-01837f25362e/add-custom-pane-to-select-disk-in-mdt-wizard?forum=mdt
http://www.systanddeploy.com/2016/07/understanding-mdt-wizards.html
http://www.systanddeploy.com/2016/08/create-your-own-mdt-wizard.html
Prometteur et jolie mais powershell donc integration je comprend pas edit le 2019-12-09 :
Choose a Disk to Install Windows on using WPF and PowerShell | Me, Myself and IT
https://emeneye.wordpress.com/2018/12/25/choose-a-disk-to-install-windows-on-using-wpf-and-powershell/
Autres a trier :
https://gallery.technet.microsoft.com/MDT-Wizard-Display-some-f44ce0b2
https://specopssoft.com/blog/multiple-drives-causes-a-deployment-error/
https://serverfault.com/questions/612932/mdt-choose-specific-partition-to-install-windows-on
https://serverfault.com/questions/825411/how-to-manually-select-a-specific-disk-in-the-udi-wizard-when-using-mdt-2013
https://archive.codeplex.com/?p=mdtwizardstudio
http://www.systanddeploy.com/2016/08/create-your-own-mdt-wizard.html
https://www.it-connect.fr/overview-mdt-wds-winpe/
https://www.it-connect.fr/deploiement-doffice-avec-office-deployment-tool-odt/
User driven installation (UDI) - Microsoft Deployment Toolkit | Microsoft Docs
https://docs.microsoft.com/en-us/configmgr/mdt/user-driven-installation-developers-guide?redirectedfrom=MSDN
Integrating UDI into your SCCM OSD Task Sequences - TechNet Articles - United States (English) - TechNet Wiki
https://social.technet.microsoft.com/wiki/contents/articles/25739.integrating-udi-into-your-sccm-osd-task-sequences.aspx
MDT 2012 Update 1: UDI “Build Your Own Pages” – Michael Niehaus' Windows and Office deployment ramblings
https://blogs.technet.microsoft.com/mniehaus/2012/08/01/mdt-2012-update-1-udi-build-your-own-pages/
elekgeek/MDT-Disk-Selector
https://github.com/elekgeek/MDT-Disk-Selector
Multiple Drives Causes a Deployment Error | Specops Software
https://specopssoft.com/blog/multiple-drives-causes-a-deployment-error/
Windows Deployment with MDT – Part 5: Add Disks and Partitions – Win10.Guru
https://win10.guru/windows-deployment-with-mdt-part-5-add-disks-and-partitions/
Script pour rendre ServiceUI.exe plus facile à utiliser pour les interfaces utilisateur personnalisées OSD - Les gars du déploiement
https://blogs.technet.microsoft.com/deploymentguys/2015/07/06/script-to-make-serviceui-exe-easier-to-use-for-osd-custom-user-interfaces/
Is there a way to add a task sequence to select a specific drive to format? : MDT
https://www.reddit.com/r/MDT/comments/9fvaqz/is_there_a_way_to_add_a_task_sequence_to_select_a/
Dynamically Select SSD Drive for OS Installation - Vacuum Breather
https://www.vacuumbreather.com/index.php/blog/item/72-dynamically-select-ssd-drive-for-os-installation
MDT - Choix du disque cible
https://social.technet.microsoft.com/Forums/fr-FR/61ef3881-a5f6-4a3e-ac36-9953a9ec89cc/mdt-choix-du-disque-cible?forum=win7fr
MDT Disk Partitioning
https://social.technet.microsoft.com/Forums/en-US/fe7a8e24-af1d-4f2a-b314-f4c3f2a3259a/mdt-disk-partitioning?forum=mdt
deploiement MdT 2010 : est ce possible de changer une variable de la Task sequence afin de conserver la partition data
https://social.technet.microsoft.com/Forums/fr-FR/bcd9441d-01f9-4951-8504-9fcdb7045fbe/deploiement-mdt-2010-est-ce-possible-de-changer-une-variable-de-la-task-sequence-afin-de-conserver?forum=win7fr
OSD - Live from the field my 'Best Practices' for Operating System Deployment - renshollanders.nl
http://renshollanders.nl/2014/01/osd-live-from-the-field-my-best-practices-for-operating-system-deployment/
select disk number mdt - Recherche Google
https://www.google.com/search?q=select+disk+number+mdt&oq=select+disk+number+mdt&aqs=chrome..69i57.13475j0j7&sourceid=chrome&ie=UTF-8
MDT Disk Selector - Recherche Google
https://www.google.com/search?sxsrf=ACYBGNTxir-0QZTTy5NpmThk9uIzEoyzqg%3A1575927288890&ei=-L3uXeWCNueBjLsPy5iosAs&q=MDT+Disk+Selector&oq=MDT+Disk+Selector
Choisissez un disque pour installer Windows en utilisant WPF et PowerShell | Moi, moi-même et l'informatique
https://emeneye.wordpress.com/2018/12/25/choose-a-disk-to-install-windows-on-using-wpf-and-powershell/#comment-2104
WinPE: Adding Windows PowerShell support to Windows PE | Microsoft Docs
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-adding-powershell-support-to-windows-pe
Creating Custom Windows PE from ADK 1903 | JDeployment
https://jayrbarrios.com/2019/10/07/creating-custom-windows-pe-from-adk-1903/
ZTISelectBootDisk.wsf | Keith's Consulting Blog
https://keithga.wordpress.com/2013/09/18/ztiselectbootdisk-wsf/
ZTISelectBootDisk.wsf nouveau avec BusType | Blog de consultation de Keith
https://keithga.wordpress.com/2017/10/10/ztiselectbootdisk-wsf-new-with-bustype/
https://sourceforge.net/projects/msi-installers/files/
https://blog.techygeekshome.info/2018/03/msi-installers-silent-distribution/
https://www.supinfo.com/articles/single/5873-deploiement-applications-avec-mdt-deployement-shares#idm46133027773216
http://leblogosd.wuibaille.fr/packages/
https://www.it-connect.fr/comment-supprimer-les-applications-pre-installees-sur-windows-10/
https://www.it-connect.fr/mdt-introspection-des-sequences-de-taches/
https://www.advancedinstaller.com/user-guide/msiexec.html
https://www.novatec-gmbh.de/en/blog/windows-silent-install-parameters/
Inno-Setup
https://jrsoftware.org/ishelp/index.php?topic=setupcmdline
NSIS
https://nsis.sourceforge.io/Docs/Chapter4.html#4.12
Sommaire
MDT 2013 – Présentation
Mettre en oeuvre le service PXE pour un bios UEFI
MDT 2013 – Installation (partie 1)
MDT 2013 – Installation (partie 2)
MDT 2013 – Installation (partie 3)
https://social.technet.microsoft.com/Forums/en-US/home?forum=mdt
https://social.technet.microsoft.com/Forums/en-US/home?forum=mdt
https://msendpointmgr.com/2016/02/29/install-visual-c-redistributable-applications-with-powershell-in-mdt/
https://www.powershellgallery.com/packages/VcRedist/2.0.183
https://github.com/aaronparker/VcRedist
https://docs.stealthpuppy.com/docs/vcredist/
https://stealthpuppy.com/vcredist-powershell-module/
https://mdtguy.wordpress.com/2013/04/10/time-is-money/
https://rdr-it.com/mdt-sauvegarde-profils-utilisateurs-usmt/
https://www.techrepublic.com/article/mdt-automating-deployments-using-customsettings-ini/
https://deploymentbunny.com/2012/04/21/back-to-basic-customsettings-ini-explained/
https://deploymentresearch.com/creating-custom-variables-in-mdt-2013/
http://www.osd-couture.com/2016/06/cmmdt-how-to-set-variable-list-in.html
https://www.reddit.com/r/MDT/comments/gn54wz/command_line_litetouchvbs_custom_variables/
https://www.techrepublic.com/article/microsoft-deployment-toolkit-advanced-settings-for-automating-deployments-using-bootstrap-ini/
https://gal.vin/2019/10/06/building-a-windows-10-1909-reference-image-with-mdt/
https://www.it-connect.fr/mise-a-niveau-vers-windows-10-via-mdt-2013-update-1/
https://www.nextofwindows.com/windows-10-1903-may-update-upgrade-via-mdt
https://messageops.com/in-place-windows-10-upgrade-via-mdt/
https://blog.metsys.fr/powershell-et-le-monitoring-mdt/
http://www.systanddeploy.com/2018/06/mdt-monitoring-web-with-bootstrap-part-1.html
http://www.systanddeploy.com/2018/06/mdt-monitoring-web-report-with.html
http://www.systanddeploy.com/2018/07/powershell-tool-mdt-light-monitor-new.html
http://www.systanddeploy.com/2017/03/mdt-monitoring-deployment-successerror.html
http://www.systanddeploy.com/2017/03/mdt-monitoring-wpf-deployment.html
En premier nous allons exporter la configuration des associations extension des fichiers sur notre machines témoin.
dism /online /export-DefaultAppAssociations:C:\Users\%username%\Desktop\DefaultAppAssociations.xml
Maintenant nous allons modifier légèrement la commande de base de l'import pour l'intégrer dans l'une des taches d'une TaskSequence de notre serveur MDT.
Pour rappelle la commande de base pour l'import est (exemple ci-dessous) :
dism /online /import-DefaultAppAssociations:C:\Users\%username%\Desktop\DefaultAppAssociations.xml
<WRAP half column>1...</WRAP> <WRAP half column>2...</WRAP>
https://www.it-connect.fr/installer-mdt-sur-windows-server-2022-pour-deployer-windows-11-22h2/
https://gal.vin/utils/mdt-setup/
https://gal.vin/posts/2022/deploy-windows-10-22h2/
https://gal.vin/posts/2022/sdio-and-mdt/
https://blog.wuibaille.fr/2023/05/cle-usb-uefi-avec-des-wim-go/
https://github.com/Digressive/MDT-Files
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-input-locales-for-windows-language-packs?view=windows-11
https://blog.wuibaille.fr/2024/05/how-to-delegate-rights-to-allow-a-user-account-to-join-computers-to-the-domain/