Hallöle zusammen
Seit circa einer Woche durchforste ich die Tiefen des Internets nach einer passenden Lösung für mein Problem und doch wurde ich bisher nicht fündig, bzw fand ich nichts, was mir mit meinem aktuellen Kenntnisstand in irgeneiner Weise weiter half.
Ich bin in der Ausbildung zum Systemintegrator & habe primär nichts mit Programmierung zu tun, da mich die Materie allerdings sehr interessiert, bringe ich mir diese gerne selber bei. Da ich noch Anfänger bin, fehlt mir allerdings einfach noch ne Menge Wissen.
Ich wurde damit beauftragt eine Batch zu erstellen, welche automatisiert Zertifikate für eine VPN-Verbindung erstellt.
Wie ich das in der Kommandozeile an sich mache weiß ich mittlerweile aus dem FF aber um das Ganze in eine Batch umzusetzen, fehlt mir dann doch das know-how.
Bisher habe ich mich so weit in die Materie gewuselt, dass bestimmte Dinge hin und wieder (oder auch mal gar nicht) funktionieren und bin mittlerweile leider ratlos.
Hier mal der Code:
Ich kann in der CMD zwar eine Auswahl treffen und ich bekomme das entsprechende ECHO dazu, an den Dateien ändert sich jedoch gar nichts.
Schritt 1: Hier, was sie (grob übersetzt) tun soll:
@@+++Gültigkeit festlegen:@@
bei Eingabe x (1/2/3/4/5), ersetze entsprechende Gültigkeit (Textzeile: (standardmäßig) -days 3650) auf anzahl Tage: xxxxx (3650/7300/10950/14600/18250) in folgenden Dateien:
build-ca.bat
build-key.bat
build-key-pass.bat
build-key-pkcs12.bat
build-key-server.bat.
Hier noch ein weiterer Versuch, etwas ausladender aber leider auch komplizierter für mich:
(CMD Ausgabe unten)
Das war zwar bloß der Anfang & ich werde eure Hilfe sicher nochmal benötigen aber alles Schritt für Schritt..
Danke im Voraus!
Seit circa einer Woche durchforste ich die Tiefen des Internets nach einer passenden Lösung für mein Problem und doch wurde ich bisher nicht fündig, bzw fand ich nichts, was mir mit meinem aktuellen Kenntnisstand in irgeneiner Weise weiter half.
Ich bin in der Ausbildung zum Systemintegrator & habe primär nichts mit Programmierung zu tun, da mich die Materie allerdings sehr interessiert, bringe ich mir diese gerne selber bei. Da ich noch Anfänger bin, fehlt mir allerdings einfach noch ne Menge Wissen.
Ich wurde damit beauftragt eine Batch zu erstellen, welche automatisiert Zertifikate für eine VPN-Verbindung erstellt.
Wie ich das in der Kommandozeile an sich mache weiß ich mittlerweile aus dem FF aber um das Ganze in eine Batch umzusetzen, fehlt mir dann doch das know-how.
Bisher habe ich mich so weit in die Materie gewuselt, dass bestimmte Dinge hin und wieder (oder auch mal gar nicht) funktionieren und bin mittlerweile leider ratlos.
Hier mal der Code:
Code:
@Echo off
set home=C:\Program Files\OpenVPN\easy-rsa
cd %home%
echo %cd%
:start
SETLOCAL enabledelayedexpansion
[USER=116181]@Echo[/USER] Geben Sie die Gueltigkeit des Zertifikats an:
[USER=116181]@Echo[/USER] [1] = 10 Jahre; [2] = 20 Jahre; [3] = 30 Jahre; [4] = 40 Jahre; [5] = 50 Jahre
SET /P Jahre=Eingabe:
IF %Jahre% == 1 (
ECHO Gueltigkeit auf 10 Jahre festgelegt.
SET "build-ca.bat=C:\Program Files\OpenVPN\easy-rsa\build-ca.bat" (Habe hier jz nur eine Datei angegeben, sind aber insgesamt 5 die geändert werden müssen).
SET "suchen=3650"
SET "ersetzen_durch=3650"
) ELSE (
IF %Jahre% == 2 (
ECHO Gueltigkeit auf 20 Jahre festgelegt.
SET "build-ca.bat=C:\Program Files\OpenVPN\easy-rsa\build-ca.bat"
SET "suchen=3650"
SET "ersetzen_durch=7300"
) ELSE (
IF %Jahre% == 3 (
ECHO Gueltigkeit auf 30 Jahre festgelegt.
SET "build-ca.bat=C:\Program Files\OpenVPN\easy-rsa\build-ca.bat"
SET "suchen=3650"
SET "ersetzen_durch=10950"
) ELSE (
IF %Jahre% == 4 (
ECHO Gueltigkeit auf 40 Jahre festgelegt.
SET "build-ca.bat=C:\Program Files\OpenVPN\easy-rsa\build-ca.bat"
SET "suchen=3650"
SET "ersetzen_durch=14600"
) ELSE (
IF %Jahre% == 5 (
ECHO Gueltigkeit auf 50 Jahre festgelegt.
SET "build-ca.bat=C:\Program Files\OpenVPN\easy-rsa\build-ca.bat"
SET "suchen=3650"
SET "ersetzen_durch=18250"
) ELSE (
IF %Jahre% GTR 5 (
goto start
ECHO Ungueltige Eingabe.
IF %Jahre% LSS 1 (
goto start
ECHO Ungueltige Eingabe.
)
)
)
)
)
)
Ich kann in der CMD zwar eine Auswahl treffen und ich bekomme das entsprechende ECHO dazu, an den Dateien ändert sich jedoch gar nichts.
Schritt 1: Hier, was sie (grob übersetzt) tun soll:
@@+++Gültigkeit festlegen:@@
bei Eingabe x (1/2/3/4/5), ersetze entsprechende Gültigkeit (Textzeile: (standardmäßig) -days 3650) auf anzahl Tage: xxxxx (3650/7300/10950/14600/18250) in folgenden Dateien:
build-ca.bat
build-key.bat
build-key-pass.bat
build-key-pkcs12.bat
build-key-server.bat.
Hier noch ein weiterer Versuch, etwas ausladender aber leider auch komplizierter für mich:
(CMD Ausgabe unten)
Code:
@Echo off
set home=C:\Program Files\OpenVPN\easy-rsa
cd %home%
echo %cd%
:start
SETLOCAL enabledelayedexpansion
[USER=116181]@Echo[/USER] Geben Sie die Gueltigkeit des Zertifikats an:
[USER=116181]@Echo[/USER] [1] = 10 Jahre; [2] = 20 Jahre; [3] = 30 Jahre; [4] = 40 Jahre; [5] = 50 Jahre
set /p validity=Eingabe:
if %validity%==1 (
echo Gueltigkeit auf 10 Jahre festgelegt.
set gueltigkeit=3650
)
if %validity%==2 (
echo Gueltigkeit auf 20 Jahre festgelegt.
set gueltigkeit=7300
)
if %validity%==3 (
echo Gueltigkeit auf 30 Jahre festgelegt.
set gueltigkeit=10950
)
if %validity%==4 (
echo Gueltigkeit auf 40 Jahre festgelegt.
set gueltigkeit=14600
)
if %validity%==5 (
echo echo Gueltigkeit auf 50 Jahre festgelegt.
set gueltigkeit=18250
)
if %validity% GTR 5 (
echo Ungueltige Eingabe.
goto start
)
if %validity% LSS 1 (
echo Ungueltige Eingabe.
goto start
)
PAUSE
[USER=116181]@Echo[/USER] off
goto :if
:if %gueltigkeit% (
set files[0]=build-ca
set files[1]=build-key
set files[2]=build-key-pass
set files[3]=build-key-pkcs12
set files[4]=build-key-server
set "x=0"
:SymLoop
if defined files[%x%] (
[USER=116181]@Echo[/USER] off
setlocal EnableExtensions EnableDelayedExpansion
set "INTEXTFILE=%%files[%x%].bat"
set "OUTTEXTFILE=%%files[%x%]_temp.bat"
set "REPLACETEXT=3650"
findstr /m "-days 3650" %INTEXTFILE%
if %errorlevel%==0 (
set bisherigeGueltigkeit=3650
)
findstr /m "-days 7300" %INTEXTFILE%
if %errorlevel%==0 (
set bisherigeGueltigkeit=7300
)
findstr /m "-days 10950" %INTEXTFILE%
if %errorlevel%==0 (
set bisherigeGueltigkeit=10950
)
findstr /m "-days 14600" %INTEXTFILE%
if %errorlevel%==0 (
set bisherigeGueltigkeit=14600
)
findstr /m "-days 18250" %INTEXTFILE%
if %errorlevel%==0 (
set bisherigeGueltigkeit=18250
)
set /a "x+=1"
set "SEARCHTEXT=%bisherigeGueltigkeit%"
set "REPLACETEXT=%gueltigkeit%"
set "modified=!%SEARCHTEXT%=%REPLACETEXT%!"
echo !modified!>>"%OUTTEXTFILE%"
)
del "%INTEXTFILE%"
rename "%OUTTEXTFILE%" "%INTEXTFILE%"
goto :SymLoop
) else (
echo "Bitte treffen Sie eine gültige Auswahl!"
PAUSE
goto :Choose
)
)
Das war zwar bloß der Anfang & ich werde eure Hilfe sicher nochmal benötigen aber alles Schritt für Schritt..
Danke im Voraus!
Zuletzt bearbeitet: