윈 도 우 정품인증 배치파일을 만들려 합니다..
2023.09.14 21:14
안녕하세요.
회사에서 정품인증키를 173개를 확보해서 하나의 배치파일로 173개 시디키중 임의로 선택하여 키를 설치하는 방법이 있을까요?
일일이 173개 배치파일을 만들어서 하기에는 너무 양이 많아 혹시 가능한지 문의 드려봅니다..
댓글 [4]
-
히이이잌 2023.09.14 22:10
-
라케 2023.09.18 12:26
답변 감사합니다! 정말 고맙습니다 ㅠㅠ
-
지후빠 2023.09.15 12:05
맞는지 모르겠지만 https://extrememanual.net/7922 참고하여 만들었습니다.
- [Windows Keys] 아래에 윈도우 키를 나열합니다. 끝 이후에 가능한 공백은 없어야 합니다.
@echo off
bcdedit >nul 2>&1 || (powershell start -verb runas '%0' & exit /b)
setlocal enabledelayedexpansion
for /f "usebackq tokens=*" %%a in ("%~f0") do (
if "!capture!"=="on" set /a i+=1 & set winkey!i!=%%a
if /i "%%a"=="[Windows Keys]" set capture=on)
set /a akey=%RANDOM% %% i + 1
slmgr /ipk !winkey%akey%!
slmgr /skms kms8.msguides.com
slmgr /ato
slmgr -xpr
pause
exit /b
[Windows Keys]
W269N-WFGWX-YVC9B-4J6C9-T83GX
MH37W-N47XK-V7XM9-C7227-GCQG9
NPPR9-FWDCX-D2C8J-H872K-2YT43
DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4
TX9XD-98N7V-6WMQ6-BX7FG-H8Q99
3KHY7-WNT83-DGQKR-F7HPR-844BM
NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
2WH4N-8QGBV-H22JP-CT43Q-MDWWJ
-
라케 2023.09.18 12:26
감사합니다! 정말 고맙습니다
엑셀로 먼저 SET KEY숫자= 를 concatenate로 합쳐주시고,
단순히 선택창을 띄워서 숫자 입력하면 그 숫자에 해당하는 키를 넣고 싶으신거라면
Setlocal Enabledelayedexpansion
call :Key_table
Echo 숫자 입력
SET /P Selected_Number=
%실행파일경로% 인증명령어 !Key%Selected_Number%!
:Key_table
SET KEY1=AAAA-0001
SET KEY2=AAAA-0002
SET KEY3=AAAA-0003
Goto :eof
고정IP 환경이고 수가 연속적이라면 IP 끝자리를 연동해서 자동입력하는식으로 응용해볼수도 있습니다.
어떤식으로 짜든 나중에 어느자리에 뭐가 들어갔는지 파악하려면 어떤식으로든 기준은 있어야할겁니다.
Setlocal Enabledelayedexpansion
::현재 IP
for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %ComputerName% ^| findstr [') do set NetworkIP=%%a
::끝자리?
for /f "tokens=1,2,3,4 delims=." %%a in ("%NetworkIP%") do set ip4th=%%d
:: 키 총 갯수
Set Key_MaxNum=3
call :Key_table
:: IP 끝자리수에 특정 수를 더하거나 빼서 키 숫자가 나오도록 사칙연산
SET /A num=%ip4th%+임의의 수
For /l %%a in (1,1,%Key_MaxNum%) do (
%실행파일경로% 인증명령어 !Key%%a!
)
:Key_table
:: 인증키 목록
SET KEY1=AAAA-0001
SET KEY2=AAAA-0002
SET KEY3=AAAA-0003
goto :eof
IP 순서가 연속적이지 않다면 차라리 정품인증키를 관리하는 엑셀파일에 IP를 적어놓고,
concatenate 함수를 ip끝자리와 함께 걸어서 SET_Key뒤에 숫자를 ip숫자 끝으로 붙여버리면
::현재 IP
for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %ComputerName% ^| findstr [') do set NetworkIP=%%a
::끝자리?
for /f "tokens=1,2,3,4 delims=." %%a in ("%NetworkIP%") do set ip4th=%%d
%실행파일경로% 인증명령어 !Key%ip4th%!
이런식으로 IP끝자리 변수명이 붙은 키를 불러오는 방법도 있습니다.