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-ID: 238205

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

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

CopyPaste
CopyPaste 16.05.2014 um 16:22:26 Uhr
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
Termiman
Termiman 16.05.2014 um 16:33:19 Uhr
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.
CopyPaste
Lösung CopyPaste 16.05.2014 aktualisiert um 22:40:36 Uhr
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
Termiman
Termiman 16.05.2014 um 22:22:09 Uhr
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.
Termiman
Termiman 16.05.2014 um 22:40:00 Uhr
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