termiman
Goto Top

Windows Product-key mit einem Batch Skript eingeben

Hey Hallo,

ich bräuchte mal wieder ein kleinen Tipp. Und zwar würde ich gerne mein mit der Fuktion der Eintragung des Windows Product keys erweitern.

Ich habe mir schon was zusammengebaut, wo ich den Key als Variable in eine txt ablege.

Ich dachte mir jetzt den Key bei dem Punk " :enterproductkey " mit slmgr.vbs -ibk anhand der variable automatisch einzufügen um den Key so zu aktivieren.

Aber ich glaube die Umsetzung ist doch komplizierte als ich dachte.

:adjustproductkey

@echo OFF & setlocal
echo Geben Sie den Produkt-Schlüssel ein:

set /p productkey=
@echo %productkey% >"%homepath%\Desktop\productkey.txt"

ECHO Wollen Sie diesen Produktkey verwenden?
ECHO.
ECHO.

set /p "x="<%homepath%\Desktop\productkey.txt"
set /a x=%x%
ECHO %x%
ECHO.
ECHO.
ECHO (J)a
ECHO (N)eu einggeben
ECHO (A)bbrechen

set /p X=
IF /I "%X%"=="J" goto :enterproductkey
IF /I "%X%"=="N" goto :adjustproductkey
IF /I "%X%"=="A" goto :start

:enterproductkey

beste Grüße

termi

Content-Key: 238205

Url: https://administrator.de/contentid/238205

Printed on: April 19, 2024 at 03:04 o'clock

Member: CopyPaste
CopyPaste May 16, 2014 at 14:22:26 (UTC)
Goto Top
Hallo Termi,

wo hängt es denn?

(mal ein bisschen vereinfacht und ich mag Großschreibung für Befehle face-wink )
ECHO OFF & SETLOCAL

:START
  ECHO Geben Sie den Produkt-Schlüssel ein: (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)
  ECHO.
  SET PRODUCTKEY=0
  SET /P PRODUCTKEY=

  IF %PRODUCTKEY%==0 GOTO START

:ANTWORTEN
  ECHO.
  ECHO Wollen Sie diesen Produktkey verwenden?
  ECHO.
  ECHO %PRODUCTKEY%
  ECHO.
  ECHO.
  ECHO (J)a
  ECHO (N)eu einggeben
  ECHO (A)bbrechen
  ECHO.
  SET X=0
  SET /P X=
  IF /I "%X%"=="J" GOTO ENTERPRODUCTKEY  
  IF /I "%X%"=="N" GOTO START  
  IF /I "%X%"=="A" GOTO EOF  
  GOTO ANTWORTEN

:ENTERPRODUCTKEY
  ECHO.
  SLMGR -IPK %PRODUCTKEY%
  SLMGR -ATO
  PAUSE
(nicht getestet, aber sollte passen)

Du kannst das ganze auch noch mit der Nutzung von PSEXEC erweitern, um es auch auf anderen PCs übers Netzwerk ausführen zu können.

Cheers
CP
Member: Termiman
Termiman May 16, 2014 at 14:33:19 (UTC)
Goto Top
Hey,

danke für deine Antwort, jedoch funktioniert das so leider nicht, da bei einer komplexeren Eingabe immer der Fehler

Ungültige Zahl. Numerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen.

Es funktioniert nur bei kleinen Variablen wie 12345 oder test.
Member: CopyPaste
Solution CopyPaste May 16, 2014 updated at 20:40:36 (UTC)
Goto Top
Okay,

Dann doch vielleicht so, immer nur die 5 stellen eingeben, ohne Bindestrich aber das ist ja im Quelltext ersichtlich
ECHO OFF & SETLOCAL

:START
  ECHO Geben Sie den Produkt-Schlüssel ein:
  ECHO.
  SET /P PRODUCTKEY=
  SET /P PRODUCTKEY1=
  SET /P PRODUCTKEY2=
  SET /P PRODUCTKEY3=
  SET /P PRODUCTKEY4=

  ECHO %PRODUCTKEY%-%PRODUCTKEY1%-%PRODUCTKEY2%-%PRODUCTKEY3%-%PRODUCTKEY4%

:ANTWORTEN
  ECHO.
  ECHO Wollen Sie diesen Produktkey verwenden?
  ECHO.
  ECHO (J)a
  ECHO (N)eu einggeben
  ECHO (A)bbrechen
  ECHO.
  SET X=0
  SET /P X=
  IF /I "%X%"=="J" GOTO ENTERPRODUCTKEY  
  IF /I "%X%"=="N" GOTO START  
  IF /I "%X%"=="A" GOTO EOF  
  GOTO ANTWORTEN

:ENTERPRODUCTKEY
  ECHO.
  SLMGR -IPK %PRODUCTKEY%-%PRODUCTKEY1%-%PRODUCTKEY2%-%PRODUCTKEY3%-%PRODUCTKEY4%
  SLMGR -ATO
  PAUSE
Member: Termiman
Termiman May 16, 2014 at 20:22:09 (UTC)
Goto Top
Danke für den Tipp. In die Richtung habe ich auch schon gedacht. Werde es auch so machen, sieht auf jeden Fall besser aus.

Dennoch tritt der Fehler ,,

,,Ungültige Zahl. Numerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen. ""

weiterhin auf. Wenn ich z.B. 4rtzu eingebe. kommt ein Fehler. Bei tgb56 z.B. nicht. Ich habe keine Ahnung was das Skript sich da zusammenrechnet.
Member: Termiman
Termiman May 16, 2014 at 20:40:00 (UTC)
Goto Top
Ok, ich habe den Fehler gefunden face-smile) . Schuld war der set /a . Hiermit werden die Variablen berechnet. Nimmt man die Option raus, ist der Fehler verschwunden.

Danke noch mal für eure Unterstützung