function Write-Log { param ( [string]$Message, [string]$LogPath = "$env:TEMP\getmpamfe.log" ) $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" $entry = "[$timestamp] $Message" Add-Content -Path $LogPath -Value $entry } $LogPath = "E:\work\WUPackages\logs\getmpamfe.log" Write-Log -Message "Downloading the latest mpam-fe.exe..." -LogPath $LogPath $mpamfeCurrent = "E:\Work\WUPackages\Defender\mpam-fe.exe" $mpamfeTemp = "$env:TEMP\mpam-fe.exe" Invoke-WebRequest -uri "https://go.microsoft.com/fwlink/?LinkID=121721&arch=x64" -outfile $mpamfeTemp -UseBasicParsing $newSigVer = [version](Get-ItemProperty $mpamfeTemp).VersionInfo.ProductVersion if (Test-Path $mpamfeCurrent) { $currentSigVer = [version](Get-ItemProperty $mpamfeCurrent).VersionInfo.ProductVersion if ($newSigVer -gt $currentSigVer) { Remove-Item $mpamfeCurrent -Force Move-Item -Path $mpamfeTemp -Destination $mpamfeCurrent Write-Log -Message "Updated to the latest mpam-fe.exe(ver: $newSigVer)." -LogPath $LogPath } else { Remove-Item $mpamfeTemp -Force Write-Log -Message "Current mpam-fe.exe(ver: $currentSigVer) is up-to-date." -LogPath $LogPath } } else { Move-Item -Path $mpamfeTemp -Destination $mpamfeCurrent Write-Log -Message "Downloaded to the latest mpam-fe.exe(ver: $newSigVer)." -LogPath $LogPath }