cloud/modules/defender.psm1
<#
.SYNOPSIS OSDCloud Cloud Module for functions.osdcloud.com .DESCRIPTION OSDCloud Cloud Module for functions.osdcloud.com .NOTES This module is designed for OOBE .LINK https://raw.githubusercontent.com/OSDeploy/OSD/master/cloud/modules/defender.psm1 .EXAMPLE Invoke-Expression (Invoke-RestMethod -Uri 'https://raw.githubusercontent.com/OSDeploy/OSD/master/cloud/modules/defender.psm1') #> #================================================= #region Functions function osdcloud-UpdateDefender { [CmdletBinding()] param () if (Test-Path "$env:ProgramFiles\Windows Defender\MpCmdRun.exe") { Write-Host -ForegroundColor Cyan 'Updating Windows Defender' & "$env:ProgramFiles\Windows Defender\MpCmdRun.exe" -signatureupdate } } New-Alias -Name 'UpdateDefender' -Value 'osdcloud-UpdateDefender' -Description 'OSDCloud' -Force function osdcloud-UpdateDefenderStack { [CmdletBinding()] param () # Source Addresses - Defender for Windows 10, 8.1 ################################ $sourceAVx64 = "http://go.microsoft.com/fwlink/?LinkID=121721&arch=x64" $sourcePlatformx64 = "https://go.microsoft.com/fwlink/?LinkID=870379&clcid=0x409&arch=x64" Write-Output "UPDATE Defender Package Script version $ScriptVer..." $Intermediate = "$env:TEMP\DefenderScratchSpace" if(!(Test-Path -Path "$Intermediate")) { $Null = New-Item -Path "$env:TEMP" -Name "DefenderScratchSpace" -ItemType Directory } if(!(Test-Path -Path "$Intermediate\x64")) { $Null = New-Item -Path "$Intermediate" -Name "x64" -ItemType Directory } Remove-Item -Path "$Intermediate\x64\*" -Force -EA SilentlyContinue $wc = New-Object System.Net.WebClient # x64 AV ######################################################################### $Dest = "$Intermediate\x64\" + 'mpam-fe.exe' Write-Output "Starting MPAM-FE Download" $wc.DownloadFile($sourceAVx64, $Dest) if(Test-Path -Path $Dest) { $x = Get-Item -Path $Dest [version]$Version1a = $x.VersionInfo.ProductVersion #Downloaded [version]$Version1b = (Get-MpComputerStatus).AntivirusSignatureVersion #Currently Installed if ($Version1a -gt $Version1b){ Write-Output "Starting MPAM-FE Install of $Version1b to $Version1a" $MPAMInstall = Start-Process -FilePath $Dest -Wait -PassThru } else{Write-Output "No Update Needed, Installed:$Version1b vs Downloaded: $Version1a"} Write-Output "Finished MPAM-FE Install" } else{Write-Output "Failed MPAM-FE Download"} # x64 Update Platform ######################################################################## Write-Output "Starting Update Platform Download" $Dest = "$Intermediate\x64\" + 'UpdatePlatform.exe' $wc.DownloadFile($sourcePlatformx64, $Dest) if(Test-Path -Path $Dest) { $x = Get-Item -Path $Dest [version]$Version2a = $x.VersionInfo.ProductVersion #Downloaded [version]$Version2b = (Get-MpComputerStatus).AMServiceVersion #Installed if ($Version2a -gt $Version2b){ Write-Output "Starting Update Platform Install of $Version2b to $Version2a" $UPInstall = Start-Process -FilePath $Dest -Wait -PassThru } else {Write-Output "No Update Needed, Installed:$Version2b vs Downloaded: $Version2a"} Write-Output "Finished Update Platform Install" } else {Write-Output "Failed Update Platform Download"} } New-Alias -Name 'UpdateDefenderStack' -Value 'osdcloud-UpdateDefenderStack' -Description 'OSDCloud' -Force #endregion #================================================= |