diff --git a/docs/changelog.md b/docs/changelog.md index e8d96ab..25037df 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,6 +2,39 @@ ------------------------------------------------------------------------ +## 3.5 + +**ESU for Home editions / Powershell method for Windows 7** + +#### HWID: +- The script now won't change region (temporarily) in the top countries. + +#### KMS38: +- Removed KMS38 protection (registry lock) feature, it's not important. + +#### TSforge: +- Added ESU support for Home editions (license files updated in Windows 10 19045.6156). +- Fixed a bug on W10 ARM64. + +#### Change Office Edition: +- Fixed an issue with add/remove apps when more than one language is installed. +- Added detection for unsupported languages in the Office 2019 Perpetual VL update channel. + +#### All: +- Fixed a bug in detecting Terminal app. +- The AIO script will now show a tip about ESU updates on Windows 10. +- The AIO script will highlight Ohook in green if O365 is installed. +- In all KMS-related activation options, the script will display a message about KMS renewal notifications on build 26200 and later. +- Added checks for .NET corruption and Windows Sandbox. +- Various fixes and improvements. + +#### Powershell command to launch MAS: + +- The command `irm https://massgrave.dev/get | iex` is now officially retired. It will display info on how to get the updated code. +- Added a new command for Windows 7, along with an alternative DoH-based command for cases where `get.activated.win` is blocked by ISP/DNS. See https://massgrave.dev/ for details. + +------------------------------------------------------------------------ + ## 3.4 **Bug fixes** diff --git a/docs/command_line_switches.md b/docs/command_line_switches.md index 2f57f33..e6a2b8b 100644 --- a/docs/command_line_switches.md +++ b/docs/command_line_switches.md @@ -78,10 +78,19 @@ Run operations in silent mode (no output but the CMD window will still appear) ## Using in the Powershell One-Liner -`& ([ScriptBlock]::Create((irm https://get.activated.win))) /para` +For **Windows 7** and later: + +``` +& ([ScriptBlock]::Create((New-Object Net.WebClient).DownloadString('https://get.activated.win'))) /para +``` + +If the above is blocked (by DNS/ISP), try this alternative method (requires **updated Windows 10 or 11**): + +``` +& ([ScriptBlock]::Create((curl.exe -s --doh-url https://1.1.1.1/dns-query https://get.activated.win | Out-String))) /para +``` - Replace `/para` in this command with the switches from the above table. You can also use multiple switches. For example, `/HWID /Ohook` -- This Powershell one-liner will only work on Windows 8.1 and later. - To change the edition through the command line, check [here](change_windows_edition.md#manual-edition-change). We didn't automate it in MAS because it requires a reboot in some cases. ------------------------------------------------------------------------ diff --git a/docs/intro.md b/docs/intro.md index 4ee3ef0..040ae1d 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -10,27 +10,39 @@ Open-source Windows and Office activator featuring HWID, Ohook, TSforge, KMS38, --- -### How to Activate Windows / Office? +### How to Activate Windows / Office / Extended Updates (ESU)? -#### Method 1 - PowerShell (Windows 8 and later) ❤️ +#### Method 1 - PowerShell ❤️ :::info -1. **Open PowerShell** - To do that, press the Windows key + X, then select PowerShell or Terminal. +1. **Open PowerShell** + Click the **Start Menu**, type `PowerShell`, then open it. -2. **Copy and paste the code below, then press enter.** -``` -irm https://get.activated.win | iex -``` -Alternatively, you can use the following (this will be deprecated in the future): -``` -irm https://massgrave.dev/get | iex -``` +2. **Copy and paste the code below, then press enter.** + - For **Windows 8, 10, 11**: 📌 + ``` + irm https://get.activated.win | iex + ``` + - For **Windows 7** and later: + ``` + iex ((New-Object Net.WebClient).DownloadString('https://get.activated.win')) + ``` +
-3. You will see the activation options. Choose the activation options highlighted in green. +**Script not launching❓Click here for info.** -4. That's all +- If the above is blocked (by ISP/DNS), try this (needs **updated Windows 10 or 11**): + ``` + iex (curl.exe -s --doh-url https://1.1.1.1/dns-query https://get.activated.win | Out-String) + ``` +- If that fails or you have an older Windows, use [**Method 2**](intro.md#method-2---traditional-windows-vista-and-later). + +
+ +3. The activation menu will appear. **Choose the green-highlighted options** to activate Windows or Office. + +4. **Done!** ::: @@ -53,16 +65,17 @@ or --- -- To activate additional products such as **Office for macOS, Visual Studio, RDS CALs, and Windows XP**, check [here](unsupported_products_activation.md). -- To run the scripts in unattended mode, check [here](command_line_switches.md). +:::tip + +- Some ISPs/DNS block access to our domains. You can bypass this by enabling [DNS-over-HTTPS (DoH)](https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/encrypted-dns-browsers/) in your browser. +- **Having trouble**❓Connect with us [here](troubleshoot.md). + +::: --- -### Not working ❓ - -- If you are **unable to launch MAS** using the PowerShell method, please refer to **Method 2** above. -- If MAS launches but displays errors, check for troubleshooting steps highlighted in blue and follow them. -- If issues persist, feel free to reach out to us [here](troubleshoot.md). +- To activate additional products such as **Office for macOS, Visual Studio, RDS CALs, and Windows XP**, check [here](unsupported_products_activation.md). +- To run the scripts in unattended mode, check [here](command_line_switches.md). --- @@ -78,7 +91,7 @@ or ## MAS Latest Release -Last Release - v3.4 (3-June-2025) +Last Release - v3.5 (10-Aug-2025) [GitHub](https://github.com/massgravel/Microsoft-Activation-Scripts) / [Azure DevOps](https://dev.azure.com/massgrave/_git/Microsoft-Activation-Scripts) / [Self-hosted Git](https://git.activated.win/massgrave/Microsoft-Activation-Scripts) ------------------------------------------------------------------------ diff --git a/docs/news.md b/docs/news.md index de8338a..236fcab 100644 --- a/docs/news.md +++ b/docs/news.md @@ -1,5 +1,8 @@ # News +### [10-Aug-25] MAS 3.5 update is released +ESU for Home editions / Powershell method for Windows 7, for details check the [changelog](changelog.md) + ### [16-July-25] Added July 2025 updated ISOs Windows 10 22H2 / Windows 11 24H2 / Windows 11 23H2 / Server 2025 / Server 2022 / Server 23H2 https://massgrave.dev/genuine-installation-media diff --git a/docs/tsforge.md b/docs/tsforge.md index 403f287..574672b 100644 --- a/docs/tsforge.md +++ b/docs/tsforge.md @@ -263,7 +263,7 @@ This activation method does not work if a phone license is not available or if l | Windows Server 2012 | ServerDatacenter, ServerStandard and their Core variants | [3 Years](https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2012)
Oct 2023 to Oct 2026 | KB5017221 [x64](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/secu/2022/08/windows8-rt-kb5017221-x64_d01e9b9b910f5f1e374bc1b89a8d00c1a97e215f.msu)
KB2937636 [x64](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/crup/2014/07/windows8-rt-kb2937636-x64_29e0b587c8f09bcf635c1b79d09c00eef33113ec.msu) | | Windows 8.1 | Enterprise, Professional, EmbeddedIndustry and their E/N variants | ESU is not officially supported,
but you can manually install Server 2012 R2 (for x64) updates until Jan 2024,
and Embedded 8.1 (for x86) updates until July 2023 | Build 9600.17415
+
KB3021910 [x64](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/updt/2015/04/windows8.1-kb3021910-x64_e291c0c339586e79c36ebfc0211678df91656c3d.msu)-[x86](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/updt/2015/04/windows8.1-kb3021910-x86_7e70173bec00c3d4fe3b0b8cba17b095b4ed2d20.msu)
KB3172614 [x64](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/updt/2016/07/windows8.1-kb3172614-x64_e41365e643b98ab745c21dba17d1d3b6bb73cfcc.msu)-[x86](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/updt/2016/07/windows8.1-kb3172614-x86_d11c233c8598b734de72665e0d0a3f2ef007b91f.msu)
KB5017220 [x64](https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/secu/2022/08/windows8.1-kb5017220-x64_d771111b22ec71560b207a6735d5ecebd47c4f38.msu)-[x86](https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/secu/2022/08/windows8.1-kb5017220-x86_3134a18dac1b1fe4f656c9e25d0e4aaa75619d16.msu) | | Windows Server 2012 R2 | ServerDatacenter, ServerStandard and their Core variants | [3 Years](https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2012-r2)
Oct 2023 to Oct 2026 | Same as Windows 8.1 | -| Windows 10 | Education, Enterprise, IoTEnterprise,
Professional, ProfessionalEducation,
ProfessionalWorkstation, ServerRdsh and their N variants | [3 Years](https://learn.microsoft.com/en-us/windows/whats-new/extended-security-updates)
Oct 2025 to Oct 2028 | Windows 10 22H2 (19045.4957)
Just run Windows Update | +| Windows 10 | Core, CoreCountrySpecific, CoreSingleLanguage,
Education, Enterprise, IoTEnterprise,
Professional, ProfessionalEducation,
ProfessionalWorkstation, ServerRdsh and their N variants | [3 Years](https://learn.microsoft.com/en-us/windows/whats-new/extended-security-updates)
Oct 2025 to Oct 2028 | Windows 10 22H2

ESU license added in 19045.4957

ESU license last updated in 19045.6156

Just run Windows Update. | ------------------------------------------------------------------------ diff --git a/static/get.ps1 b/static/get.ps1 index 50ebb28..062772b 100644 --- a/static/get.ps1 +++ b/static/get.ps1 @@ -1,127 +1,16 @@ # Check massgrave.dev for more details -write-host -Write-Host "The current command (irm https://massgrave.dev/get | iex) will be retired in the future." -Write-Host -ForegroundColor Green "Use the new command (irm https://get.activated.win | iex) moving forward." -write-host +Write-Host "" +Write-Host "The command 'irm https://massgrave.dev/get | iex' is retired." +Write-Host "" +Write-Host "Visit the site below for the new command:" -ForegroundColor Green +Write-Host "" +Write-Host "https://massgrave.dev/" -ForegroundColor Cyan +Write-Host "" -$psv = (Get-Host).Version.Major -$troubleshoot = 'https://massgrave.dev/troubleshoot' - -if ($ExecutionContext.SessionState.LanguageMode.value__ -ne 0) { - $ExecutionContext.SessionState.LanguageMode - Write-Host "PowerShell is not running in Full Language Mode." - Write-Host "Help - https://gravesoft.dev/fix_powershell" -ForegroundColor White -BackgroundColor Blue - return -} - -try { - [void][System.AppDomain]::CurrentDomain.GetAssemblies(); [void][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 { - $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)) { - Check3rdAV - Write-Host "Failed to create MAS file in temp folder, aborting!" - Write-Host "Help - $troubleshoot" -ForegroundColor White -BackgroundColor Blue - throw - } -} - -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 { - 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 -} - -# Verify script integrity -$releaseHash = 'EF2F705B9E8BE2816598E2E8B70BADB200733F2287B917D6C9666D95C63AFBF9' -$stream = New-Object IO.MemoryStream -$writer = New-Object IO.StreamWriter $stream -$writer.Write($response) -$writer.Flush() -$stream.Position = 0 -$hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($stream)) -replace '-' -if ($hash -ne $releaseHash) { - Write-Warning "Hash ($hash) mismatch, aborting!`nReport this issue at $troubleshoot" - $response = $null - return -} - -# Check for AutoRun registry which may create issues with CMD -$paths = "HKCU:\SOFTWARE\Microsoft\Command Processor", "HKLM:\SOFTWARE\Microsoft\Command Processor" -foreach ($path in $paths) { - if (Get-ItemProperty -Path $path -Name "Autorun" -ErrorAction SilentlyContinue) { - Write-Warning "Autorun registry found, CMD may crash! `nManually copy-paste the below command to fix...`nRemove-ItemProperty -Path '$path' -Name 'Autorun'" - } -} - -$rand = [Guid]::NewGuid().Guid -$isAdmin = [bool]([Security.Principal.WindowsIdentity]::GetCurrent().Groups -match 'S-1-5-32-544') -$FilePath = if ($isAdmin) { "$env:SystemRoot\Temp\MAS_$rand.cmd" } else { "$env:USERPROFILE\AppData\Local\Temp\MAS_$rand.cmd" } -Set-Content -Path $FilePath -Value "@::: $rand `r`n$response" -CheckFile $FilePath - -$env:ComSpec = "$env:SystemRoot\system32\cmd.exe" -$chkcmd = & $env:ComSpec /c "echo CMD is working" -if ($chkcmd -notcontains "CMD is working") { - Write-Warning "cmd.exe is not working.`nReport this issue at $troubleshoot" -} -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..." +if (-not $args) { + Write-Host "Press any key to open the website..." [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 -ErrorAction SilentlyContinue | Remove-Item } + Start-Process "https://massgrave.dev/" +}