├── LICENSE ├── OfflineInsiderEnroll.cmd └── readme.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 whatever127 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /OfflineInsiderEnroll.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | ::Borrowed from @abbodi1406's scripts 4 | for /f "tokens=6 delims=[]. " %%i in ('ver') do set build=%%i 5 | 6 | if %build% LSS 17763 ( 7 | echo ============================================================= 8 | echo This script is compatible only with Windows 10 RS5 and later. 9 | echo ============================================================= 10 | echo. 11 | pause 12 | goto :EOF 13 | ) 14 | 15 | REG QUERY HKU\S-1-5-19\Environment >NUL 2>&1 16 | IF %ERRORLEVEL% EQU 0 goto :START_SCRIPT 17 | 18 | echo ===================================================== 19 | echo This script needs to be executed as an administrator. 20 | echo ===================================================== 21 | echo. 22 | pause 23 | goto :EOF 24 | 25 | :START_SCRIPT 26 | set "FlightSigningEnabled=0" 27 | bcdedit /enum {current} | findstr /I /R /C:"^flightsigning *Yes$" >NUL 2>&1 28 | IF %ERRORLEVEL% EQU 0 set "FlightSigningEnabled=1" 29 | 30 | :CHOICE_MENU 31 | cls 32 | set "choice=" 33 | echo OfflineInsiderEnroll v1.0.0 34 | echo. 35 | echo R - Enroll to Release Preview ring 36 | echo S - Enroll to Insider Slow ring 37 | echo F - Enroll to Insider Fast ring 38 | echo. 39 | echo X - Stop receiving Insider Preview builds 40 | echo Q - Quit without making any changes 41 | echo. 42 | set /p choice="Choice: " 43 | echo. 44 | if /I "[%choice%]"=="[r]" goto :ENROLL_RP 45 | if /I "[%choice%]"=="[s]" goto :ENROLL_SLOW 46 | if /I "[%choice%]"=="[f]" goto :ENROLL_FAST 47 | if /I "[%choice%]"=="[x]" goto :STOP_INSIDER 48 | if /I "[%choice%]"=="[q]" goto :EOF 49 | goto :CHOICE_MENU 50 | 51 | :ENROLL_RP 52 | set "SLS=RingPreview" 53 | set "Ring=RP" 54 | set "Content=Current" 55 | set "FancyRing=Release Preview" 56 | goto :ENROLL 57 | 58 | :ENROLL_SLOW 59 | set "SLS=RingInsiderSlow" 60 | set "Ring=WIS" 61 | set "Content=Active" 62 | set "FancyRing=Windows Insider Slow" 63 | goto :ENROLL 64 | 65 | :ENROLL_FAST 66 | set "SLS=RingInsiderFast" 67 | set "Ring=WIF" 68 | set "Content=Active" 69 | set "FancyRing=Windows Insider Fast" 70 | goto :ENROLL 71 | 72 | :RESET_INSIDER_CONFIG 73 | reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost" /f >NUL 2>&1 74 | reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SLS\Programs\WUMUDCat" /f >NUL 2>&1 75 | reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SLS\Programs\RingPreview" /f >NUL 2>&1 76 | reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SLS\Programs\RingInsiderSlow" /f >NUL 2>&1 77 | reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SLS\Programs\RingInsiderFast" /f >NUL 2>&1 78 | reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" /v AllowTelemetry /f >NUL 2>&1 79 | goto :EOF 80 | 81 | :ENROLL 82 | echo Applying changes... 83 | call :RESET_INSIDER_CONFIG 84 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Orchestrator" /t REG_DWORD /v EnableUUPScan /d 1 /f >NUL 2>&1 85 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SLS\Programs\%SLS%" /t REG_DWORD /v Enabled /d 1 /f >NUL 2>&1 86 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SLS\Programs\WUMUDCat" /t REG_DWORD /v WUMUDCATEnabled /d 1 /f >NUL 2>&1 87 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability" /t REG_DWORD /v EnablePreviewBuilds /d 1 /f >NUL 2>&1 88 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability" /t REG_DWORD /v IsBuildFlightingEnabled /d 1 /f >NUL 2>&1 89 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability" /t REG_DWORD /v TestFlags /d 32 /f >NUL 2>&1 90 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability" /t REG_SZ /v ContentType /d "%Content%" /f >NUL 2>&1 91 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability" /t REG_SZ /v BranchName /d "external" /f >NUL 2>&1 92 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability" /t REG_SZ /v Ring /d "%Ring%" /f >NUL 2>&1 93 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\UI\Strings" /t REG_SZ /v StickyXaml /d "This device has been enrolled to the Windows Insider program using a OfflineInsiderEnroll script. If you want to change settings of the enrollment or stop receiving Insider Preview builds, please use the script. Learn more %FancyRing%" /f >NUL 2>&1 94 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\UI\Visibility" /t REG_DWORD /v UIHiddenElements /d 65535 /f >NUL 2>&1 95 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\UI\Visibility" /t REG_DWORD /v UIDisabledElements /d 65535 /f >NUL 2>&1 96 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\UI\Visibility" /t REG_DWORD /v UIServiceDrivenElementVisibility /d 0 /f >NUL 2>&1 97 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\UI\Visibility" /t REG_DWORD /v UIErrorMessageVisibility /d 192 /f >NUL 2>&1 98 | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" /t REG_DWORD /v AllowTelemetry /d 3 /f >NUL 2>&1 99 | 100 | bcdedit /set {current} flightsigning yes >NUL 2>&1 101 | echo Done. 102 | 103 | echo. 104 | IF %FlightSigningEnabled% NEQ 1 goto :ASK_FOR_REBOOT 105 | pause 106 | goto :EOF 107 | 108 | :STOP_INSIDER 109 | echo Applying changes... 110 | call :RESET_INSIDER_CONFIG 111 | bcdedit /deletevalue {current} flightsigning >NUL 2>&1 112 | echo Done. 113 | 114 | echo. 115 | IF %FlightSigningEnabled% NEQ 0 goto :ASK_FOR_REBOOT 116 | pause 117 | goto :EOF 118 | 119 | :ASK_FOR_REBOOT 120 | set "choice=" 121 | echo A reboot is required to finish applying changes. 122 | set /p choice="Would you like to reboot your PC? (y/N) " 123 | if /I "[%choice%]"=="[y]" shutdown -r -t 0 124 | goto :EOF 125 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | OfflineInsiderEnroll 2 | -------------------- 3 | 4 | ### Description 5 | OfflineInsiderEnroll is a simple Windows Command Prompt script to enable access 6 | to the Windows Insider Program on machines not signed in with Microsoft Account. 7 | 8 | This script is compatible only with Windows 10 RS5 and later. 9 | 10 | ### Usage 11 | This script requires administrative priviliges to run. You can simply execute it 12 | by right clicking it > `Run as Administrator`. 13 | 14 | #### Installation and configuration changes 15 | After starting the script offers selection of *Windows Insider Program* rings. 16 | To make a selection, press a letter coresponding to option you choose and press 17 | ENTER. 18 | 19 | If the machine was not enrolled to the Insider Program, you will get prompted to 20 | restart your machine to enable *Microsoft Flight Signing* which is required by 21 | *Windows Insider Program*. 22 | 23 | **Notice:** Windows Insider Program requires telemetry to be set to *Full*. 24 | This script changes your telemetry settings to reflect this during the process 25 | of enabling *Windows Insider Program* access. If you have used any "privacy" 26 | scripts or changed *Allow telemetry* via Group Policy, changes made by this 27 | script may not get reflected and you may not be able to receive *Insider 28 | Preview* builds using Windows Update. 29 | 30 | #### Restoring Windows Insider Program to default options 31 | To restore *Windows Insider Program* to default settings simply choose `Stop 32 | receiving Insider Preview builds` in OfflineInsiderEnroll. You will get prompted 33 | to reboot, because this option will disable *Microsoft Flight Signing*. 34 | 35 | ### How does this work? 36 | This script takes advantage of undocumented `TestFlags` registry value. 37 | If this value is set to `0x20`, all access to online *Windows Insider* services 38 | gets disabled. Because of this, we can set our own *Windows Insider Preview* 39 | configuration without being overriden by the contact to the service. Since 40 | Windows Update does not check if machine is actually enrolled to the program, 41 | you will get offered *Insider Preview* builds by just setting correct values in 42 | the registry. 43 | 44 | ### License 45 | This project is licensed under the MIT License. See `LICENSE` for details. 46 | --------------------------------------------------------------------------------