Configuration Net452Install { node "localhost" { LocalConfigurationManager { RebootNodeIfNeeded = $true } Script Install_Net_4.5.2 { SetScript = { $SourceURI = "https://download.microsoft.com/download/B/4/1/B4119C11-0423-477B-80EE-7A474314B347/NDP452-KB2901954-Web.exe" $FileName = $SourceURI.Split('/')[-1] $BinPath = Join-Path $env:SystemRoot -ChildPath "Temp\$FileName" if (!(Test-Path $BinPath)) { Invoke-Webrequest -Uri $SourceURI -OutFile $BinPath } write-verbose "Installing .Net 4.5.2 from $BinPath" write-verbose "Executing $binpath /q /norestart" Sleep 5 Start-Process -FilePath $BinPath -ArgumentList "/q /norestart" -Wait -NoNewWindow Sleep 5 Write-Verbose "Setting DSCMachineStatus to reboot server after DSC run is completed" $global:DSCMachineStatus = 1 } TestScript = { [int]$NetBuildVersion = 379893 if (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' | %{$_ -match 'Release'}) { [int]$CurrentRelease = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full').Release if ($CurrentRelease -lt $NetBuildVersion) { Write-Verbose "Current .Net build version is less than 4.5.2 ($CurrentRelease)" return $false } else { Write-Verbose "Current .Net build version is the same as or higher than 4.5.2 ($CurrentRelease)" return $true } } else { Write-Verbose ".Net build version not recognised" return $false } } GetScript = { if (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' | %{$_ -match 'Release'}) { $NetBuildVersion = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full').Release return $NetBuildVersion } else { Write-Verbose ".Net build version not recognised" return ".Net 4.5.2 not found" } } } } } Net452Install -OutputPath $env:SystemDrive:\DSCconfig Set-DscLocalConfigurationManager -ComputerName localhost -Path $env:SystemDrive\DSCconfig -Verbose Start-DscConfiguration -ComputerName localhost -Path $env:SystemDrive:\DSCconfig -Verbose -Wait -Force
Reference: http://superuser.com/questions/920850/how-can-i-install-net-4-5-2-via-powershell-dsc
You must be logged in to post a comment.