====== Microsoft Deployment Toolkit (MDT) ======
{{:public:windows:mdt:process-install-800x176.png?600|}}
===== Installation basée sur MDT v8456 =====
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]] \\
===== Dossier Reseau =====
__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. \\
===== Ajout d’un système d’exploitation =====
==== Type image SE importé ====
**Dans le monde du déploiement de Windows, on peut dire qu’il existe 3 types d’images :**
* **Thin image** : appelée image mince en français, celle-ci ne contient que le système d’exploitation, elle est souvent issus de l’ISO Windows ou capturer depuis un poste de référence avec les mises à jour Windows. Elle présente l’avantage d’être plus légère et rapide à déployer mais nécessite l’installation de logiciels par un autre moyen (GPO, scripts, outils tiers, MDT …).
* **Thick image** : appelée image lourde en français, elle contient le système d’exploitation ainsi que l’ensemble des logiciels nécessaires, cette image est plus grande en termes de taille mais permet une mise en service plus rapide du poste lors de déploiement. Le principal inconvénient est que l’image doit être refaite à chaque mise à jour ou changement de logiciel.
* **Hybrid image** : c’est un compromis entre les deux qui va contenir par exemples l’antivirus, firefox, office …
\\
//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.//
==== Convertir install.esd to install.wim ====
* Commencez par monter l'image ISO sur votre machine puis dans powershell entrer la commande suivante en prenant soin de **modifier la lettre du lecteur ici "D"** par la bonne lettre.
cd D:
* Ensuite, pour afficher la liste des images disponibles dans votre fichier, utilisez la commande ci-dessous avec DISM, en adaptant si besoin le chemin vers le fichier ESD :
dism /Get-WimInfo /WimFile:D:/sources/install.esd
* Par exemple, pour extraire l'image xxxxxxx, ce qui correspond à l'index n°6 ça serra :
dism /export-image /SourceImageFile:D:\sources\install.esd /SourceIndex:6 /DestinationImageFile:C:\sources\install.wim /Compress:max /CheckIntegrity
* Lorsque l'opération est terminée, vous obtiendrez un fichier WIM à l'emplacement de destination indiqué. \\
Il ne vous reste plus qu'à l'intégrer à votre WDS ou a l'utiliser pour MDT et à déployer Windows ! \\
\\
==== Import Image Win10 dans Operating System ====
* Extraire l'ISO d'origine de Windows \\
* Supprimer le fichier **install.esd** dans le dossier extrait __**.\sources\**__ \\
* Copier dans le dossier __**.\sources\**__ le fichier **install.win** précédemment converti a partir de **install.esd** dans l'étape **[[http://wiki.srvserveur.com/prive/windows/microsoft-deployment-toolkit#convertir_installesd_to_installwim | Convertir install.esd to install.wim]]** \\
* Re-créer un fichier ISO avec les modifications \\
* Monter la nouvelle iso sur la machine MDT
* Clic droit sur le dossier souhaité dans MDT puis **Import Operating System** sélectionner le lecteur sur lequel le montage à été fait. \\
* Nommer l'import :
Windows_10_Pro_FR_x64_1903
ou
Windows_10_Pro_FR_x64_1909
ect ...
=== Ajout du SE ===
**Dans l’assistance, vous avez trois choix:** \\
* **Full set of source files**: Cette option est utilisé pour l’ajout d’un CD/DVD d’installation standard (i.e. celui de Microsoft) de Windows, il gère toutes les versions de Windows (Serveur comme station de travail) depuis Windows XP (je n’ai jamais testé Windows 200 mais il est possible que cela fonctionne). C’est l’option que nous utiliserons ici. \\
* **Custom image file**: Cette option est utilisée si vous avez réaliser une image WIM sysprepée (c’est important) d’un poste que vous utiliserez en tant que Master. \\
* **Windows Deployment Services images**: Cette option est utilisée si vous souhaitez héberger vos images sur un serveur WDS (Windows Deployment Service). Ces images peuvent être des captures WDS. \\
===== WinPE ISO =====
==== Ajout de Powershell et addons dans WinPE ISO ====
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
==== Modif WinPE ISO ====
[[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
==== Création USB WinPE (ISO) ====
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
===== Drivers Virtio ISO =====
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
===== Ajout/Modification fenêtre de déploiement =====
=== Outils ===
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]] \\
\\
==== Ajouter CHOIX DU DISK 1ere Possibilités avec fichier vbs ====
(Méthode choisie pour mon MDT grâce à son intégration parfaite dans les fenêtres de déploiement WinPE) \\
[[https://social.technet.microsoft.com/Forums/en-US/7f8a272c-6306-4361-8b54-01837f25362e/add-custom-pane-to-select-disk-in-mdt-wizard?forum=mdt]] \\
**Aperçu de la fenêtre du choix du disk :** \\
{{:public:windows:mdt:target-disk-mdt.png?400|}}
Editer le fichier "**DeployWiz_Definition_ENU.xml**" situé dans : \\
\\192.168.10.30\DeploymentShare$\Scripts\
Ajouter le code suivant : \\
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**" : \\
DeployWiz_TargetDisk.vbs
Specify the target disk for use in the deployment process.
Target Disk
Select the target disk for deployment:
]]>
==== Ajouter CHOIX DU DISK 2ème Possibilité interface WPF and PowerShell ====
Sources : https://emeneye.wordpress.com/2018/12/25/choose-a-disk-to-install-windows-on-using-wpf-and-powershell/
=== Conditions préalables ===
**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 :** \\
* Téléchargez la solution et extrayez le fichier zip
* Créer un fichier **Run_PS_Wizard.ps1** éditer le en entrant la commande suivante :
powershell.exe -STA -NoProfile -ExecutionPolicy Bypass -File %SCRIPTROOT%\Choose_Disk_WPF_GUI\ChooseDiskWPF.ps1
* Dans votre séquence de tâches, ajoutez les taches suivantes.
* Run Command Line
* Avec comme nom : **ExecutionPolicy Unrestricted**
* Dans Command line : **PowerShell.exe -Command "& {set-executionpolicy Unrestricted -Force}"**
* Run Command Line
* Avec comme nom : **Copy PowerShell.exe.config**
* Dans Command line : **xcopy "%DEPLOYROOT%\MDT_PS_Wizard\PowerShell.exe.config" "X:\Windows\System32\WindowsPowerShell\v1.0\" /Y**
* Ajouter un **Group** situé **avant les étapes de partitionnement:**
* Avec comme nom : **Choose Disk**
* Run Command Line
* Avec comme nom : **Check if there’s more than one Hard Disk**
* Dans Command line : **Entrer la commande située dessous**
* Run PowerShell Script
* Avec comme nom : **Run Choose Disk to Install OS**
* Dans PowerShell script : **%DEPLOYROOT%\Choose_Disk_WPF_GUI\Run_PS_Wizard.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}"
\\
===== Application =====
==== Pré-install application ====
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}"
==== Exemple utilisation ====
=== CMD : Start script pour application ===
**Quiet install command :**
cmd.exe /c Install_7z.cmd
**Working directory :** \\
.\Applications\7-zip-1900
=== PowerShell : Start script pour application ===
**Quiet install command :**
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\AddAppRunOnce\AddAppRunOnce_PowerShell.ps1'"
**Working directory :** \\
C:\Windows\System32\WindowsPowerShell\v1.0
==== Application de base ====
=== 7-zip 1900 ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\7-zip-1900\Install_7z.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Ccleaner 5.60.0.7307 ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Ccleaner-5.60.0.7307\Install_Ccleaner.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== DirectX ===
cmd.exe /c Install_DirectX.cmd
.\Applications\DirectX
=== Filezilla ===
cmd.exe /c Install_FileZilla.cmd
.\Applications\FilezillaClient
=== Java8-32Bits 8.0.2210.11 ===
cmd.exe /c Install_Java8x86.cmd
.\Applications\Java8-32Bits-8.0.2210.11
=== Java8-64Bits 8.0.2210.11 ===
cmd.exe /c Install_Java8x64.cmd
.\Applications\Java8-64Bits-8.0.2210.11
=== Notepad++ 7.71 ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Notepad++-7.71\Install_NotepadPlusPlus.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Recuva 1.53 ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Notepad++-7.71\Install_Recuva.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== SystemExplorer 7.0.0 ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\SystemExplorer-7.0.0\Install_SystemExplorer.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== TeamSpeak3 3.3.0 ===
cmd.exe /c Install_TeamSpeak3.cmd
.\Applications\TeamSpeak3-3.3.0
=== TeamViewer 14.4.2669.0 ===
cmd.exe /c Install_TeamViewer.cmd
.\Applications\TeamViewer-14.4.2669.0
=== VLC 3.0.7.1 ===
cmd.exe /c Install_VLC.cmd
.\Applications\VLC-3.0.7.1
=== VNC-Viewer 6.19.715 ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\VNC-Viewer-6.19.715\Install_VNCViewer.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== WinRar 5.71 ===
cmd.exe /c Install_WinRar.cmd
.\Applications\WinRar-5.71
----
==== Navigateurs ====
=== Brave ===
cmd.exe /c Install_Brave.cmd
.\Applications\Brave
=== Google Chrome 75.0.3770.142 ===
cmd.exe /c Install_GoogleChrome.cmd
.\Applications\Google-Chrome-75.0.3770.142
=== Mozilla Firefox 68.0.1 ===
cmd.exe /c Install_Firefox.cmd
.\Applications\Mozilla-Firefox-68.0.1
=== Opera 62.0.3331.99 ===
cmd.exe /c Install_Opera.cmd
.\Applications\Opera-62.0.3331.99
----
==== Specifiques ====
=== CPU-Z ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\CPU-Z\Install_CPU-Z.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== CrystalDiskInfo ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\CrystalDiskInfo\Install_CrystalDiskInfo.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== CrystalDiskMark ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\CrystalDiskMark\Install_CrystalDiskMark.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Defraggler ===
cmd.exe /c Install_Defraggler.cmd
.\Applications\Defraggler
=== DesktopOK ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\DesktopOK\Install_DesktopOK.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== FilezillaServer ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\FilezillaServer\Install_FileZillaServer.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== InternetDownloadManager ===
cmd.exe /c Install_InternetDownloadManager.cmd
.\Applications\InternetDownloadManager
=== mRemoteNG 1.76.20.24615 ===
cmd.exe /c Install_mRemoteNG.cmd
.\Applications\mRemoteNG-1.76.20.24615
=== Putty 0.72 ===
cmd.exe /c Install_Putty.cmd
.\Applications\Putty-0.72
=== QNAPQsyncClient ===
cmd.exe /c Install_QNAPQsyncClient.cmd
.\Applications\QNAPQsyncClient
=== RemoteDesktopManagerEnterprise ===
cmd.exe /c Install_RemoteDesktopManager.cmd
.\Applications\RemoteDesktopManagerEnterprise
=== UltraISO ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\UltraISO\Install_UltraISO.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Wireshark 3.0.3 ===
cmd.exe /c Install_Wireshark.cmd
.\Applications\Wireshark-3.0.3
=== YaTQA ===
cmd.exe /c Install_YaTQA.cmd
.\Applications\YaTQA
----
==== Jeux ====
=== Steam 2.10.91.91 ===
cmd.exe /c Install_Steam.cmd
.\Applications\Steam-2.10.91.91
=== Uplay 92.0.6280.0 ===
cmd.exe /c Install_Uplay.cmd
.\Applications\Uplay-92.0.6280.0
----
==== Images et Videos ====
=== Gimp ===
cmd.exe /c Install_Gimp.cmd
.\Applications\Gimp
=== OBS-Studio 23.2.1 ===
cmd.exe /c Install_OBSStudio.cmd
.\Applications\OBS-Studio-23.2.1
=== PaintDotNet ===
cmd.exe /c Install_PaintDotNet.cmd
.\Applications\PaintDotNet-4.2
=== PhotoFiltre ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\PhotoFiltre\Install_PhotoFiltre.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
----
==== Scripts ====
=== AddAppRunOnce ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\AddAppRunOnce\AddAppRunOnce_PowerShell.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== DeleteEdgeWelcome ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\DeleteEdgeWelcome\InstallEdgeWelcome.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== DisableCtrlAltSupprStartup ===
cmd.exe /c DisableCtrlAltSupprStartup.cmd
.\Applications\DisableCtrlAltSupprStartup
=== DisableLockScreenStartup ===
cmd.exe /c DisableLockScreenStartup.cmd
.\Applications\DisableLockScreenStartup
=== DisableRecentHistory ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\DisableRecentHistory\DisableRecentHistory_PowerShell.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== DisableSteamStartup ===
cmd.exe /c DisableSteamStartup.cmd
.\Applications\DisableSteamStartup
=== EnableRDPWin10 ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\EnableRDPWin10\EnableRDP_PowerShell.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== EnableShowHiddenFiles ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\EnableShowHiddenFiles\EnableShowHiddenFiles_PowerShell.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== EnableShowHiddenFilesSystem ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\EnableShowHiddenFilesSystem\EnableShowHiddenFilesSystem_PowerShell.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== EnableShowKnownFileExt ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\EnableShowKnownFileExt\EnableShowKnownFileExt_PowerShell.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== NetFx3 ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\NetFx3\Install_NetFX3.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== ResetWindowsSearch ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\ResetWindowsSearch\ResetWindowsSearch_PowerShell.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
----
==== Optimisation Win10 ====
=== MenuPerso ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\MenuPerso\MenuPerso.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Optimisation-Win10-AppsOnly ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -AppsOnly"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Optimisation-Win10-Complet ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1'"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Optimisation-Win10-OneDrive-Xbox ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -OneDrive -Xbox"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Optimisation-Win10-OneDrive-Xbox-Cortana ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -OneDrive -Xbox -Cortana"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Optimisation-Win10-OneDrive-Xbox-Cortana-Phone ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -OneDrive -Xbox -Cortana -Phone"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Optimisation-Win10-OneDrive-Xbox-Phone ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -OneDrive -Xbox -Phone"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Optimisation-Win10-SettingsOnly ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -SettingsOnly"
C:\Windows\System32\WindowsPowerShell\v1.0
=== Optimisation-Win10-Xbox-Phone ===
powershell.exe -ExecutionPolicy ByPass "& '%deployroot%\Applications\Optimisation-Win10-Complet\Windows10Decrapifier18XX_19XX_Complet.ps1' -Xbox -Phone"
C:\Windows\System32\WindowsPowerShell\v1.0
----
==== VcRedists ====
[[http://wiki.srvserveur.com/prive/windows/microsoft-deployment-toolkit#install_vcredist_et_ajout_automatique_d_application_mdt_vcredist|Suivi procédure suivante]]
----
==== Exemple script installation ====
=== Script installation CMD ===
@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 installation PowerShell ===
# 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
----
===== Associations extensions application =====
==== Export : ====
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
==== Import : ====
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
=== Ajout de la tache : ===
* Run Command Line
* Avec comme nom : **ImportDefaultAppAssociations**
* Comme Command Line : **dism /online /import-DefaultAppAssociations:%SCRIPTROOT%\DefaultAppAssociations\DefaultAppAssociations.xml**
{{:public:windows:mdt:importdefaultappassociations.jpg?400|}}
\\
===== Drivers =====
Créer les dossiers suivant dans **Out-of-Box Drivers** : \\
* WinPE x64
* WinPE x86
* Dell
* ASUS
* Hewlett-Packard
* VMWare
* QEMU
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% \\
---
==== Injection drivers automatisé ====
**Créer une nouvelle tache** dans la **task Sequence** souhaitée au niveau de la partie **Preinstall** : \\
* Nommer la tache exemple : **Inject Drivers Dell - E6410**
* Dans **Choose a selection profile** : sélectionner le profile précédemment créer pour les drivers spécifiques de OS correspondant.
* Onglet **Options** :
* Ajouter une condition dans **Add** puis **Query WMI**
**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%'
==== Injection Drivers automatisé spécifiques ====
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 [[http://wiki.srvserveur.com/prive/windows/microsoft-deployment-toolkit#injection_drivers_automatise|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%"
===== Software Center for MDT (Add-App after install) =====
//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]] \\
**Voici une captures de l'outils final.** \\
{{:public:windows:mdt:2.jpg?400|}} \\
\\
==== Télécharger la dernier version de l'outil : ====
[[https://gallery.technet.microsoft.com/MDT-Software-Center-a83b8847]] \\
\\
==== Explication en vidéos (anglais) de l'outils : ====
[[https://www.youtube.com/watch?v=ZIRjsWQ-9yc&feature=emb_logo]] \\
[[https://www.youtube.com/watch?v=ztPhZve9Zkc&feature=emb_logo]] \\
\\
==== Explication Outil d'interaction - Partage de déploiement : ====
- Vous disposez d'un EXE et d'un fichier MDTSoftwareCenter_Configuration.xml situés sur le client.
- Le fichier xml est utilisé pour définir certaines informations comme le chemin de partage de déploiement.
- L'outil utilisera ce fichier pour se connecter au partage de déploiement après avoir exécuté le fichier (.exe).
- Ensuite, le contenu de votre partage de déploiement sera répertorié.
- Pour installer par exemple une application, cliquez sur l'application à installer et cliquez sur le bouton Installer.
- Ceci exécutera le processus MDT.
\\
==== Fichier a copier sur Serveur MDT et PC client ====
=== Dans votre partage de déploiement MDT : ===
Copiez les fichiers situés dans **Copy in your Deployment Share\In Scripts ** dans le dossier **Scripts** de votre partage de déploiement MDT. \\
=== Sur le client : ===
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. \\
\\
==== Ajouter d'une nouvelle action FinishAction au serveur MDT ====
[[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" \\
\\
=== Modification du fichier Litetouch.wsf (FONCTION) ===
== Partie Fonction Action ==
* Copier la partie Sub Reboot puis renommer la fonction en Sub NothingToDo_Reboot par exemple.
* Puis modifier la fonction pour que rien ne s’exécute en commentent les lignes nécessaires (Pour m'a par j'avais précédemment utiliser cette fonction pour exécuter un script PowerShell supplémentaire à la fin).
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
=== Modification du fichier Litetouch.wsf (Variable) ===
== Partie création de la variable FinishAction supplémentaire ==
* Toujours dans le fichier Litetouch.wsf, recherchez Select Case UCase (sFinishAction), et modifier comme ci-dessous: \\
Select Case UCase(sFinishAction)
Case "SHUTDOWN"
Shutdown
Case "CUSTOMFINISHNOTHINGTODO"
NothingToDo_Reboot
Case "RESTART", "REBOOT"
Reboot
Case "LOGOFF"
Logoff
End Select
* A partir de maintenant une variable FinishAction supplémentaire au NOM de : CUSTOMFINISHNOTHINGTODO pourra être utiliser dans n'importe quelle séquence de tâches ou dans le fichier customsettings.ini, FinishAction=CUSTOMFINISHNOTHINGTODO cette variable FinishAction va nous servir très vite, même directement dans la partie suivante du tuto.
\\
==== Nouvelle Séquence de tâches sur MDT : ====
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
\\
=== L'outil exécutera ce TS donc ajouter les éléments suivants dans votre nouvelle Task-Sequence dans l'ordre indiqué ci-dessous : ===
* Install application
* Avec comme nom : **Install application**
* Et comme comme condition variables : **Catalog_Value** equals **Applications**
* Run PowerShell Script
* Avec comme nom : **Install Package (Lag or updates)**
* Comme PowerShell script : **%SCRIPTROOT%\Install_Packages.ps1**
* Comme condition variables : **Catalog_Value** equals **Packages**
* Run PowerShell Script
* Avec comme nom : **Check for errors**
* Comme PowerShell script : **%SCRIPTROOT%\Check_for_errors.ps1**
* Set Task Sequence Variable
* Avec comme nom : **TS-Variable-FinishAction**
* Task Sequence variable : **FinishAction**
* Value : **CUSTOMFINISHNOTHINGTODO**
\\
Si une utilisation de script Powershell est faite pour l'installation d'application les commandes suivantes doivent être ajoutées au début et fin de la Séquence de Tache pour autoriser l’exécution des scripts :
PowerShell.exe -Command "& {set-executionpolicy Unrestricted -Force}"
et
PowerShell.exe -Command "& {set-executionpolicy Restricted -Force}"
\\
==== Comment l'outil détecte-t-il qu'un logiciel est installé ou avec une version différente ? ====
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.
{{:public:windows:mdt:registry1.jpg?400|}} \\
\\
Il créera également deux chaînes comme ci-dessous pour chaque application installée
{{:public:windows:mdt:registry2.jpg?400|}} \\
\\
Si un premier démarrage de l'outil **MDT Software Center** est fait avec clic droit "démarrage en tant que administrateur" la demande de mot de passe DeployementShare ne sera plus demandé ensuite sur le poste. (Modification du script faite par **vincent1890** sur l'outil).Problème actuelle avec l'outils :
* Ajouter un écran de connexion dans l'outil, pour se connecter au partage de déploiement cela a été rectifier sur le github de vincent1890
* Vérification des programmes déjà installer sur le pc client ne fonctionne pas bien.
//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.//
===== Autres =====
==== Vérification package on system ====
=== Net Framework ===
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
----
==== Install VcRedist et ajout automatique d'application MDT VcRedist ====
=== Installation module : ===
Set-ExecutionPolicy Bypass \\
Install-Module -Name VcRedist \\
Import-Module -Name VcRedist \\
=== Téléchargement Local : ===
New-Item -Path C:\Temp\VcRedist -ItemType Directory \\
Get-VcList | Save-VcRedist -Path C:\Temp\VcRedist \\
=== Installation Pack local : ===
$VcList = Get-VcList \\
Install-VcRedist -Path C:\Temp\VcRedist -VcList (Get-VcList) -Silent \\
=== Téléchargement et création application automatiquement dans MDT : ===
$VcList = Get-VcList \\
Import-VcMdtApp -VcList $VcList -Path C:\Temp\VcRedist -MdtPath \\192.168.10.30\DeploymentShare$ -Language fr-FR -Silent \\
=== Création d'un BundlePack dans MDT : ===
New-VcMdtBundle -MdtPath \\192.168.10.30\DeploymentShare$ -Language fr-FR \\
===== Logs =====
FIXME
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 \\
===== Sources : =====
[[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]] \\
==== Dart ====
[[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]] \\
\\
==== Partie Erreur ====
[[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]] \\
\\
==== Wsus : ====
[[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/]] \\
==== Select Disk mdt ====
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/]] \\
==== Install Silent MSI ====
[[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]] \\
==== Install Monitoring ====
[[http://www.metsys.fr/blog/powershell-et-le-monitoring-mdt/]] \\
==== Erreur MDT ====
[[https://docs.microsoft.com/en-us/configmgr/mdt/troubleshooting-reference]] \\
==== Épingler a la bar de tache ====
[[https://gallery.technet.microsoft.com/scriptcenter/b66434f1-4b3f-4a94-8dc3-e406eb30b750#content]] \\
==== Tuto mdt parfait ====
[[https://ms-sec.fr/?cat=7|Sommaire]] \\
[[https://ms-sec.fr/?p=987|MDT 2013 – Présentation]] \\
[[https://ms-sec.fr/?p=2662|Mettre en oeuvre le service PXE pour un bios UEFI]] \\
[[https://ms-sec.fr/?p=2631|MDT 2013 – Installation (partie 1)]] \\
[[https://ms-sec.fr/?p=2640|MDT 2013 – Installation (partie 2)]] \\
[[https://ms-sec.fr/?p=2650|MDT 2013 – Installation (partie 3)]] \\
[[https://docs.microsoft.com/en-us/configmgr/mdt/]] \\
==== Forum Microsoft MDT ====
[[https://social.technet.microsoft.com/Forums/en-US/home?forum=mdt]] \\
[[https://social.technet.microsoft.com/Forums/en-US/home?forum=mdt]] \\
==== VcRedists création d'application Visual C++ automatiquement dans 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/]] \\
==== Transfert données utilisateur ====
[[https://mdtguy.wordpress.com/2013/04/10/time-is-money/]] \\
[[https://rdr-it.com/mdt-sauvegarde-profils-utilisateurs-usmt/]] \\
==== Config Auto CustomSettings.ini ====
[[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/]] \\
==== Upgrade/Update ====
[[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/]] \\
==== Monitoring ====
[[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]] \\
==== Windows ADK 2004 ====
[[http://www.msnloop.com/windows-adk-2004-est-disponible/]] \\
==== Appli associations extensions ====
=== Export : ===
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
=== Import : ===
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
=== Ajout de la tache : ===
* Run Command Line
* Avec comme nom : ImportDefaultAppAssociations
* Comme Command Line : dism /online /import-DefaultAppAssociations:%SCRIPTROOT%\DefaultAppAssociations\DefaultAppAssociations.xml
\\
\\
1...2...
[[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/]] \\