无忧启动论坛

标题: 我改的转换版本的批处理,请问有什么问题不? [打印本页]

作者: 音乐与电脑    时间: 2025-1-31 19:18
标题: 我改的转换版本的批处理,请问有什么问题不?
如题,根据xb21cn的《WIN2025和WIN11.24H2版本互换工具》修改,按能转换Server2022与10的21H2工具修改。
(服务器与客户端企业版专业版等等)

还差开头的echo部分没改,WIN11那些没改成Win10的。
把其他部分改了,Branding与skus从其他系统中找了。(从微软原版19045、独孤S2C 2022、gal…的S2C、22lite(服务器精简版,轻快好用!)中提取)
(其余代码部分贴在二楼)


请大家指点一番,这些指令还有没有不完善的或不当乃至错误的,是否有多余的?
1. 改的这个指令,能不能给任何一个2022的服务器版系统用?给别人的系统用,是否应该加内容?

2. 密钥从MAS_AIO_2.9中找,对EnterpriseS的LTSC,取的 Volume:MAK_EnterpriseS_VB (VB子版本,该文件中还有Ge子版本、RS5、RS1与TH的。请问这个VB的,是不是最适合2022/2021的?)(对IoTEnterpriseS的雷同)
3. ServerRdsh 属服务器版还是客户端版?
4. 我看IoT LTSC 企业版 的 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion 注册表文件夹中,CompositionEditionID与EditionID不一样。像EnterpriseS(LTSC)中,两项值都是EnterpriseS;但在 IoTEnterpriseS 中,前者的是 EnterpriseS ,后者的是 IoTEnterpriseS 。那,是不是批处理应该实现这点?下面这样好不好?
  
  1. :ChangeAuthority
  2. reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CompositionEditionID" /t REG_SZ /d "%EditionID%" /f > nul
  3. if "%EditionID%"=="IoTEnterpriseS" ( reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CompositionEditionID" /t REG_SZ /d "EnterpriseS" /f > nul )
  4. reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "EditionID" /t REG_SZ /d "%EditionID%" /f > nul
复制代码



谢谢指点!



作者: 小灰兔    时间: 2025-1-31 19:22
感谢分享
作者: 音乐与电脑    时间: 2025-1-31 19:22
本帖最后由 音乐与电脑 于 2025-1-31 19:27 编辑

@echo off&color 1f&mode con cols=52 lines=26
pushd %~dp0 & cd /d "%~dp0"
:menu
cls
echo.
echo.====================================================
echo.    Windows Server 2022 20348 21H2(22H2) 版本互换
echo.====================================================
echo.
echo.           [1]   转为Win10专业版 [可数字激活]
echo.
echo.          (还没改完)
echo.
echo.----------------------------------------------------
echo.转WIN11后可解除部分软件和驱动限制Server不能安装问题
echo.----------------------------------------------------
echo.如需更新系统打补丁请转回Win2025 Server,系统会更稳定
echo.----------------------------------------------------
echo.
choice /C:1234567891011121314 /N /M "**请输入1-14: [如退出请直接关闭本窗口]"
if errorlevel 1 (set "os=10" & set "key=VK7JG-NPHTM-C97JM-9MPGT-3V66T"&set "EditionID=Professional"&set "winos=Win10专业版")
if errorlevel 2 (set "os=10" & set "key=XGVPP-NMH47-7TTHJ-W3FW7-8HV2C"&set "EditionID=Enterprise"&set "winos=Win10企业版")
if errorlevel 3 (set "os=10" & set "key=DXG7C-N36C4-C4HTG-X4T3X-2YV77"&set "EditionID=ProfessionalWorkstation"&set "winos=Win10专业工作站版")
if errorlevel 4 (set "os=10" & set "key=YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY"&set "EditionID=Education"&set "winos=Win10教育版")
if errorlevel 5 (set "os=10" & set "key=YYVX9-NTFWV-6MDM3-9PT4T-4M68B"&set "EditionID=EnterpriseG"&set "winos=Win10政企版")
if errorlevel 6 (set "os=10" & set "key=KCNVH-YKWX8-GJJB9-H9FDT-6F7W2"&set "EditionID=EnterpriseS"&set "winos=Win10 LTSC企业版")
if errorlevel 7 (set "os=10" & set "key=XQQYW-NFFMW-XJPBH-K8732-CKFFD"&set "EditionID=IoTEnterprise"&set "winos=Win10 IoT企业版")
if errorlevel 8 (set "os=10" & set "key=QPM6N-7J2WJ-P88HH-P3YRH-YY74H"&set "EditionID=IoTEnterpriseS"&set "winos=Win10 IoT LTSC 企业版")
if errorlevel 9 (set "os=10" & set "key=VK7JG-NPHTM-C97JM-9MPGT-3V66T"&set "EditionID=ProfessionalCountrySpecific"&set "winos=Win10限定国家专业版")
if errorlevel 10 (set "os=10" & set "key=8PTT6-RNW4C-6V7J2-C2D3X-MHBPB"&set "EditionID=ProfessionalEducation"&set "winos=Win10专业教育版")
if errorlevel 11 (set "os=10" & set "key=W269N-WFGWX-YVC9B-4J6C9-T83GX"&set "EditionID=ProfessionalSingleLanguage"&set "winos=Win10单语言专业版")
if errorlevel 12 (set "os=10" & set "key=CPWHC-NT2C7-VYW78-DHDB2-PG3GK"&set "EditionID=ServerRdsh"&set "winos=Win10多会话版")
if errorlevel 13 (set "os=Win2022Datacenter" & set "key=WX4NM-KYWYW-QJJR4-XV3QB-6VM33"&set "EditionID=ServerDatacenter"&set "winos=Win服务器 数据中心版")
if errorlevel 14  cls & echo 按任意键将重启电脑[如不想重启请直接关闭本窗口]… & pause> nul&shutdown /r /f /t 1 & exitnul&shutdown /r /f /t 1 & exit
cls
echo.
rem 判断系统是否存在转换文件,存在就跳转到ChangeAuthority
if exist "%windir%\BrandingWin10.21H2_22H2" (
goto ChangeAuthority
)
echo 首次转换,备份原系统skus和Branding…
takeown /f "%windir%\System32\spp\tokens\skus" /r /d y  > nul
icacls "%windir%\System32\spp\tokens\skus" /grant:r administrators:F /T > nul
takeown /f "%windir%\Branding" /r /d y > nul
icacls "%windir%\Branding" /grant:r administrators:F /T > nul
xcopy "%windir%\System32\spp\tokens\skus" "%windir%\System32\spp\tokens\skusB" /q /s /e /c /i /y > nul
ren "%windir%\Branding" "BrandingB"  > nul
echo 首次转换,拷贝转换版本所需的文件到系统…
xcopy "%~dp0skus-21H2.20348" "%windir%\System32\spp\tokens\skus" /q /s /e /c /i /y > nul
xcopy "%~dp0BrandingWin10.21H2_22H2" "%windir%\BrandingWin10.21H2_22H2" /q /s /e /c /i /y > nul
xcopy "%~dp0BrandingWin2022.20348" "%windir%\BrandingWin2022.20348" /q /s /e /c /i /y > nul
:ChangeAuthority
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CompositionEditionID" /t REG_SZ /d "%EditionID%" /f > nul
if "%EditionID%"=="IoTEnterpriseS" ( reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CompositionEditionID" /t REG_SZ /d "EnterpriseS" /f > nul )
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "EditionID" /t REG_SZ /d "%EditionID%" /f > nul
echo 请耐心等待安装许可证,需2-5分钟…
cscript /nologo %SystemRoot%\System32\slmgr.vbs /rilc  > nul
if "%os%"=="Win2022Datacenter" goto Win2022Datacenter
echo 正在将系统转换为%winos%,请等待…
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "InstallationType" /t REG_SZ /d "Client" /f > nul
xcopy "%windir%\BrandingWin10.21H2_22H2\*" "%windir%\Branding" /q /s /e /c /i /y > nul
cscript /nologo %SystemRoot%\System32\slmgr.vbs /ipk %key% |find "错误"&&(pause&exit)
echo 已将系统转换为%winos%
echo 请重启电脑,完成%winos%的转换
echo 按任意键返回主菜单…
start slmgr.vbs /xpr&winver
start mshta vbscript:msgbox("请重启电脑后,使系统完整的运行于转换后的%winos%!!",64,"请重启电脑")(window.close)
pause> nul&goto :menu
:Win2022Datacenter
echo 正在将系统转换为%winos%,请等待…
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "InstallationType" /t REG_SZ /d "Server" /f > nul
xcopy "%windir%\BrandingWin2022.20348\*" "%windir%\Branding" /q /s /e /c /i /y > nul
cscript /nologo %SystemRoot%\System32\slmgr.vbs /ipk %key% |find "错误"&&(pause&exit)
echo 已将系统转换为%winos%
echo 请重启电脑,完成%winos%的转换
echo 按任意键返回主菜单…
start slmgr.vbs /xpr&winver
start mshta vbscript:msgbox("请重启电脑,使系统完整的运行于转换后的%winos%!!",64,"请重启电脑")(window.close)
pause> nul&goto :menu

作者: Yuanshen    时间: 2025-1-31 19:25
谢谢楼主。
作者: fjun67    时间: 2025-1-31 19:50
太专业了。学习中
作者: yc2428    时间: 2025-1-31 20:42
试一试
作者: hainanyingcong    时间: 2025-1-31 22:17

谢谢楼主。
作者: nianyueriPE    时间: 2025-1-31 23:02
谢谢分享
作者: nianyueriPE    时间: 2025-1-31 23:02
学习了
作者: 绿光科技    时间: 2025-2-1 04:02
音乐与电脑 发表于 2025-1-31 19:22
@echo off&color 1f&mode con cols=52 lines=26
pushd %~dp0 & cd /d "%~dp0"
:menu

专业
作者: cena    时间: 2025-2-1 09:56
谢谢分享!!!
作者: doc    时间: 2025-2-1 11:33
很强,谢谢分享
作者: 2011monoso    时间: 2025-2-1 11:55
没有换版本号的需求
作者: 音乐与电脑    时间: 2025-2-1 19:22
绿光科技 发表于 2025-2-1 04:02
专业

不算
作者: 音乐与电脑    时间: 2025-2-1 23:03
自顶一下
作者: 荃新焦点    时间: 2025-2-2 11:28
虽然不明白,但帮顶一下。
作者: 半夏微凉    时间: 2025-2-2 17:01
帮顶一下。
作者: 音乐与电脑    时间: 2025-2-2 17:38
自顶一下
作者: 音乐与电脑    时间: 2025-2-2 20:14
自顶
作者: 音乐与电脑    时间: 2025-2-3 12:06
自顶
作者: 音乐与电脑    时间: 2025-2-3 13:49
自顶一下
作者: yzw92    时间: 2025-2-5 08:45
谢谢楼主。
作者: holley2008    时间: 2025-2-5 14:10
本帖最后由 holley2008 于 2025-2-5 14:13 编辑
音乐与电脑 发表于 2025-1-31 19:22
@echo off&color 1f&mode con cols=52 lines=26
pushd %~dp0 & cd /d "%~dp0"
:menu

喂给deepseek优化一下,未验证
  1. @echo off
  2. :: 强制要求管理员权限
  3. fltmc >nul 2>&1 || (
  4.     echo 需要管理员权限,请右键使用"以管理员身份运行"
  5.     timeout /t 3 >nul
  6.     exit /b 1
  7. )

  8. :: 初始化环境
  9. setlocal enabledelayedexpansion
  10. color 1f
  11. mode con cols=60 lines=30
  12. title Windows Server 版本转换工具 v2.1
  13. pushd "%~dp0" >nul

  14. :: 配置选项参数
  15. set "OPTIONS=专业版 企业版 专业工作站版 教育版 政企版 LTSC企业版 IoT企业版 IoT_LTSC 限定国家版 专业教育版 单语言版 多会话版 数据中心版 重启"
  16. set "KEYS=VK7JG-NPHTM-C97JM-9MPGT-3V66T XGVPP-NMH47-7TTHJ-W3FW7-8HV2C DXG7C-N36C4-C4HTG-X4T3X-2YV77 YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY YYVX9-NTFWV-6MDM3-9PT4T-4M68B KCNVH-YKWX8-GJJB9-H9FDT-6F7W2 XQQYW-NFFMW-XJPBH-K8732-CKFFD QPM6N-7J2WJ-P88HH-P3YRH-YY74H VK7JG-NPHTM-C97JM-9MPGT-3V66T 8PTT6-RNW4C-6V7J2-C2D3X-MHBPB W269N-WFGWX-YVC9B-4J6C9-T83GX CPWHC-NT2C7-VYW78-DHDB2-PG3GK WX4NM-KYWYW-QJJR4-XV3QB-6VM33"
  17. set "EDITION_IDS=Professional Enterprise ProfessionalWorkstation Education EnterpriseG EnterpriseS IoTEnterprise IoTEnterpriseS ProfessionalCountrySpecific ProfessionalEducation ProfessionalSingleLanguage ServerRdsh ServerDatacenter"

  18. :MAIN_MENU
  19. cls
  20. echo.
  21. echo ====================================================
  22. echo    Windows Server 2022 版本转换工具(20348 21H2/22H2)
  23. echo ====================================================
  24. echo.
  25. for /l %%i in (1,1,14) do (
  26.     set "desc=!OPTIONS: =" "!"
  27.     call set "desc=%%desc:~%%i,1%%"
  28.     echo   [%%i]  !desc!
  29. )
  30. echo.
  31. echo ----------------------------------------------------
  32. echo 注意事项:
  33. echo 1. 转换前请确保系统已备份
  34. echo 2. 部分版本需要重启生效
  35. echo 3. 数据中心版需使用服务器授权
  36. echo ----------------------------------------------------

  37. :INPUT_CHOICE
  38. set /p "CHOICE=请输入选项编号 (1-14, 直接关闭窗口退出): "
  39. echo %CHOICE%|findstr /r "^[0-9][0-9]*[        DISCUZ_CODE_0        ]quot; >nul || goto INVALID_INPUT
  40. if %CHOICE% lss 1 goto INVALID_INPUT
  41. if %CHOICE% gtr 14 goto INVALID_INPUT
  42. goto PROCESS_CHOICE

  43. :INVALID_INPUT
  44. echo 错误:无效的输入,请重新输入
  45. timeout /t 2 >nul
  46. goto MAIN_MENU

  47. :PROCESS_CHOICE
  48. :: 动态设置参数
  49. for /f "tokens=%CHOICE%" %%k in ("%KEYS%") do set "KEY=%%k"
  50. for /f "tokens=%CHOICE%" %%e in ("%EDITION_IDS%") do set "EDITION_ID=%%e"
  51. for /f "tokens=%CHOICE%" %%o in ("%OPTIONS%") do set "WIN_OS=%%o"

  52. :: 特殊处理选项14(重启)
  53. if %CHOICE% equ 14 (
  54.     echo 系统将在5秒后重启...
  55.     shutdown /r /f /t 5
  56.     exit
  57. )

  58. :: 执行版本转换
  59. call :BACKUP_SYSTEM_FILES
  60. call :MODIFY_REGISTRY
  61. call :INSTALL_LICENSE

  62. :: 完成提示
  63. echo.
  64. echo ===================== 转换完成 =====================
  65. echo 已成功转换为:%WIN_OS%
  66. echo 许可证密钥:%KEY%
  67. echo 请立即重启系统使更改生效!
  68. echo ====================================================
  69. choice /t 30 /d y /n /m "30秒后自动返回主菜单,按任意键立即重启..."
  70. if errorlevel 1 shutdown /r /f /t 0
  71. goto MAIN_MENU

  72. :: 系统文件备份模块
  73. :BACKUP_SYSTEM_FILES
  74. if exist "%windir%\BrandingWin10.21H2_22H2" goto :EOF

  75. echo [1/3] 正在备份系统文件...
  76. takeown /f "%windir%\System32\spp\tokens\skus" /r /d y >nul 2>&1
  77. icacls "%windir%\System32\spp\tokens\skus" /grant:r administrators:F /T >nul 2>&1
  78. xcopy "%windir%\System32\spp\tokens\skus" "%windir%\System32\spp\tokens\skus.bak" /q /s /e /i >nul

  79. takeown /f "%windir%\Branding" /r /d y >nul 2>&1
  80. icacls "%windir%\Branding" /grant:r administrators:F /T >nul 2>&1
  81. ren "%windir%\Branding" "Branding.bak" >nul 2>&1

  82. echo [2/3] 正在部署新版本文件...
  83. xcopy "%~dp0skus-21H2.20348" "%windir%\System32\spp\tokens\skus" /q /s /e /i >nul
  84. xcopy "%~dp0BrandingWin10.21H2_22H2" "%windir%\BrandingWin10.21H2_22H2" /q /s /e /i >nul
  85. xcopy "%~dp0BrandingWin2022.20348" "%windir%\BrandingWin2022.20348" /q /s /e /i >nul
  86. exit /b

  87. :: 注册表修改模块
  88. :MODIFY_REGISTRY
  89. echo [3/3] 正在修改系统配置...
  90. reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CompositionEditionID" /t REG_SZ /d "%EDITION_ID%" /f >nul
  91. reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "EditionID" /t REG_SZ /d "%EDITION_ID%" /f >nul
  92. reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "InstallationType" /t REG_SZ /d "Client" /f >nul
  93. exit /b

  94. :: 许可证安装模块
  95. :INSTALL_LICENSE
  96. cscript //nologo %SystemRoot%\System32\slmgr.vbs /upk >nul
  97. cscript //nologo %SystemRoot%\System32\slmgr.vbs /ipk %KEY% >nul || (
  98.     echo 错误:许可证安装失败!
  99.     pause
  100.     exit /b 1
  101. )
  102. cscript //nologo %SystemRoot%\System32\slmgr.vbs /ato >nul
  103. exit /b
复制代码


作者: yzszh64    时间: 2025-3-7 17:57
谢谢各位。




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3