Deploy/Download_MDT_Prereqs.ps1
Configuration DownloadMDTPrereqs { Import-Module -Name PSDesiredStateConfiguration, cMDTBuildLab Import-DscResource -ModuleName PSDesiredStateConfiguration Import-DscResource -ModuleName cMDTBuildLab node $AllNodes.Where{$_.Role -match "MDT Server"}.NodeName { LocalConfigurationManager { RebootNodeIfNeeded = $AllNodes.RebootNodeIfNeeded ConfigurationMode = $AllNodes.ConfigurationMode } cMDTBuildPreReqs MDTPreReqs { DownloadPath = $Node.SourcePath } WindowsFeature DataDeduplication { Ensure = "Present" Name = "FS-Data-Deduplication" } <# Package ADK { Ensure = "Present" Name = "Windows Assessment and Deployment Kit - Windows 10" Path = "$($Node.SourcePath)\ADK\adksetup.exe" ProductId = "9346016b-6620-4841-8ea4-ad91d3ea02b5" Arguments = "/Features OptionId.DeploymentTools /norestart /quiet /ceip off" ReturnCode = 0 DependsOn = "[cMDTBuildPreReqs]MDTPreReqs" } Package WinPE { Ensure = "Present" Name = "Windows Assessment and Deployment Kit Windows Preinstallation Environment Add-ons - Windows 10" Path = "$($Node.SourcePath)\WindowsPE\adkwinpesetup.exe" ProductId = "353df250-4ecc-4656-a950-4df93078a5fd" Arguments = "/Features OptionId.WindowsPreinstallationEnvironment /norestart /quiet /ceip off" ReturnCode = 0 DependsOn = "[cMDTBuildPreReqs]MDTPreReqs" } Package MDT { Ensure = "Present" Name = "Microsoft Deployment Toolkit (6.3.8456.1000)" Path = "$($Node.SourcePath)\MDT\MicrosoftDeploymentToolkit_x64.msi" ProductId = "2E6CD7B9-9D00-4B04-882F-E6971BC9A763" ReturnCode = 0 DependsOn = '[Package]ADK','[Package]WinPE' } File KB4564442x86 { Ensure = "Present" SourcePath = "$($Node.SourcePath)\KB4564442\x86\microsoft.bdd.utility.dll" DestinationPath = "%ProgramFiles%\Microsoft Deployment Toolkit\Templates\Distribution\Tools\x86\microsoft.bdd.utility.dll" Checksum = "SHA-256" Force = $true DependsOn = "[Package]MDT" } File KB4564442x64 { Ensure = "Present" SourcePath = "$($Node.SourcePath)\KB4564442\x64\microsoft.bdd.utility.dll" DestinationPath = "%ProgramFiles%\Microsoft Deployment Toolkit\Templates\Distribution\Tools\x64\microsoft.bdd.utility.dll" Checksum = "SHA-256" Force = $true DependsOn = "[Package]MDT" } #> } } #Set configuration data $ConfigurationData = @{ AllNodes = @( @{ #Global Settings for the configuration of Desired State Local Configuration Manager: NodeName = "*" RebootNodeIfNeeded = $true ConfigurationMode = "ApplyOnly" }, @{ #Node Settings for the configuration of an MDT Server: NodeName = "$env:computername" Role = "MDT Server" #Sources for download/Prereqs SourcePath = "E:\Source" } ) } #Create DSC MOF job DownloadMDTPrereqs -OutputPath "$PSScriptRoot\DownloadMDTPrereqs" -ConfigurationData $ConfigurationData #Set DSC LocalConfigurationManager Set-DscLocalConfigurationManager -Path "$PSScriptRoot\DownloadMDTPrereqs" -Verbose #Start DSC MOF job Start-DscConfiguration -Wait -Force -Verbose -ComputerName "$env:computername" -Path "$PSScriptRoot\DownloadMDTPrereqs" #Set data deduplication Enable-DedupVolume -Volume "E:" Set-DedupVolume -Volume "E:" -MinimumFileAgeDays 1 Write-Output "" Write-Output "Download MDT Prereqs is completed!" |