diff --git a/index.html b/index.html index 2702992..b5d866a 100644 --- a/index.html +++ b/index.html @@ -1,45 +1,77 @@ # This script is hosted on https://get.activated.win for https://massgrave.dev
+$psv = (Get-Host).Version.Major $troubleshoot = 'https://massgrave.dev/troubleshoot' + if ($ExecutionContext.SessionState.LanguageMode.value__ -ne 0) { $ExecutionContext.SessionState.LanguageMode - Write-Host "Windows PowerShell is not running in Full Language Mode." + Write-Host "PowerShell is not running in Full Language Mode." Write-Host "Help - https://gravesoft.dev/fix_powershell" -ForegroundColor White -BackgroundColor Blue return } +try { + [System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144) +} +catch { + Write-Host "Error: $($_.Exception.Message)" -ForegroundColor Red + Write-Host "Powershell failed to load .NET command." + Write-Host "Help - https://gravesoft.dev/in-place_repair_upgrade" -ForegroundColor White -BackgroundColor Blue + return +} + function Check3rdAV { - $avList = Get-CimInstance -Namespace root\SecurityCenter2 -Class AntiVirusProduct | Where-Object { $_.displayName -notlike '*windows*' } | Select-Object -ExpandProperty displayName + $cmd = if ($psv -ge 3) { 'Get-CimInstance' } else { 'Get-WmiObject' } + $avList = & $cmd -Namespace root\SecurityCenter2 -Class AntiVirusProduct | Where-Object { $_.displayName -notlike '*windows*' } | Select-Object -ExpandProperty displayName + if ($avList) { Write-Host '3rd party Antivirus might be blocking the script - ' -ForegroundColor White -BackgroundColor Blue -NoNewline Write-Host " $($avList -join ', ')" -ForegroundColor DarkRed -BackgroundColor White } } -function CheckFile { - param ([string]$FilePath) - if (-not (Test-Path $FilePath)) { +function CheckFile { + param ([string]$FilePath) + if (-not (Test-Path $FilePath)) { Check3rdAV Write-Host "Failed to create MAS file in temp folder, aborting!" Write-Host "Help - $troubleshoot" -ForegroundColor White -BackgroundColor Blue - throw - } + throw + } } -[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +try { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 } catch {} + $URLs = @( 'https://raw.githubusercontent.com/massgravel/Microsoft-Activation-Scripts/67abcd0c8925832fcf4365b9cf3706ab6fbf8571/MAS/All-In-One-Version-KL/MAS_AIO.cmd', 'https://dev.azure.com/massgrave/Microsoft-Activation-Scripts/_apis/git/repositories/Microsoft-Activation-Scripts/items?path=/MAS/All-In-One-Version-KL/MAS_AIO.cmd&versionType=Commit&version=67abcd0c8925832fcf4365b9cf3706ab6fbf8571', 'https://git.activated.win/massgrave/Microsoft-Activation-Scripts/raw/commit/67abcd0c8925832fcf4365b9cf3706ab6fbf8571/MAS/All-In-One-Version-KL/MAS_AIO.cmd' ) +$errors = @() foreach ($URL in $URLs | Sort-Object { Get-Random }) { - try { $response = Invoke-WebRequest -Uri $URL -UseBasicParsing; break } catch {} + try { + if ($psv -ge 3) { + $response = Invoke-WebRequest -Uri $URL -UseBasicParsing + } + else { + $w = New-Object Net.WebClient + $response = $w.DownloadString($URL) + } + break + } + catch { + $errors += $_ + } } if (-not $response) { Check3rdAV + foreach ($err in $errors) { + Write-Host "Error: $($err.Exception.Message)" -ForegroundColor Red + } Write-Host "Failed to retrieve MAS from any of the available repositories, aborting!" + Write-Host "Check if antivirus or firewall is blocking the connection." Write-Host "Help - $troubleshoot" -ForegroundColor White -BackgroundColor Blue return } @@ -80,5 +112,11 @@ if ($chkcmd -notcontains "CMD is working") { saps -FilePath $env:ComSpec -ArgumentList "/c """"$FilePath"" $args""" -Wait CheckFile $FilePath +if ($psv -lt 3) { + write-host "" + write-host "Press any key to exit when process is done..." + [void][System.Console]::ReadKey($true) +} + $FilePaths = @("$env:SystemRoot\Temp\MAS*.cmd", "$env:USERPROFILE\AppData\Local\Temp\MAS*.cmd") -foreach ($FilePath in $FilePaths) { Get-Item $FilePath | Remove-Item } +foreach ($FilePath in $FilePaths) { Get-Item $FilePath -ErrorAction SilentlyContinue | Remove-Item }