Patch multi versions of windows via Power shell
$version = Get-WmiObject -Class Win32_OperatingSystem | ForEach-Object -MemberName Caption switch -wildcard($version) { "*2008 R2*" { iwr https://s3-us-west-2.amazonaws.com/vss-script/4483229/2008r2ie11.msu -outfile "$env:TEMP2008r2ie11.msu" Start-Process "wusa.exe" -ArgumentList "$env:TEMP2008r2ie11.msu /quiet " -Wait -PassThru exit } "*2012 R2*" { iwr https://s3-us-west-2.amazonaws.com/vss-script/4483229/2012r2ie11.msu -outfile "$env:TEMP2012r2ie11.msu" Start-Process "wusa.exe" -ArgumentList "$env:TEMP2012r2ie11.msu /quiet " -Wait -PassThru exit } "*2008*" { iwr https://s3-us-west-2.amazonaws.com/vss-script/4483229/2008ie9.msu -outfile "$env:TEMP2008ie9.msu" Start-Process "wusa.exe" -ArgumentList "$env:TEMP2008ie9.msu /quiet " -Wait -PassThru exit } "*2012*" { iwr https://s3-us-west-2.amazonaws.com/vss-script/4483229/2012ie10.msu -outfile "$env:TEMP2012ie10.msu" Start-Process "wusa.exe" -ArgumentList "$env:TEMP2012ie10.msu /quiet " -Wait -PassThru exit } "*2016*" { iwr https://s3-us-west-2.amazonaws.com/vss-script/4483229/2016.msu -outfile "$env:TEMP2016.msu" Start-Process "wusa.exe" -ArgumentList "$env:TEMP2016.msu /quiet " -Wait -PassThru exit } "*" { "unknown operating system" exit } }