luciver1981
Goto Top

Batch zum vergleich Benutzername und Passwort

Hallo Mitglieder

Ich habe auf der Seite von Openvpn Wiki folgendes Skript gefunden

@echo off 
set n_user=%username% %password%;
find /n "%n_user%" X:\Programme\OpenVPN\list.txt >result.txt   
for /f "skip=1" %%a in (result.txt) do set n=%%a  
if "%n%"=="----------" exit 1  
exit 0
Bei meinen versuchen ergab es das egal was ich eingegeben habe, den Exitcode 0 raus kam. Dies soll aber nur bei richtigen Eingaben passieren.

Content-Key: 193648

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

Printed on: April 24, 2024 at 11:04 o'clock

Member: pieh-ejdsch
pieh-ejdsch Nov 02, 2012 at 22:14:27 (UTC)
Goto Top
moin,

mit find ein Zugangspasswort zu vergleichen ist eine schlechte Wahl wenn zB. das Passwort xc;23er lautet, reicht schon das Passwort xc. Da müsste schon eine Gegenprobe her.

Ein Direktvergelich ist da etwas genauer.
:@echo off
setlocal disabledelayedexpansion
set /p User="Benutzernamen eingeben: "  
set /p Pass="Passwort eingeben     : "  
chcp 1252>nul
call :check
set /a B=%errorlevel%
chcp 850>nul
echo %B%

exit /b %B%
:check
setlocal enabledelayedexpansion
for /f "delims=" %%P in ("!user! !Pass!") do (endlocal  
  for /f "usebackq delims=" %%L in ("Datei") do if %%P equ %%L echo Erfolgreich. &exit /b 0  
)
>&2 echo Fehlerhafte Eingabe!
exit /b 1

Gruß Phil
Member: Luciver1981
Luciver1981 Nov 05, 2012 at 08:31:43 (UTC)
Goto Top
Hallo Phil,

ich bräuchte das aber in verbindung mit einen passwortfile. Desweiteren gibt openvpn den Benutzer und das Passwort als variable weiter. Also fällt weg.

set /p User="Benutzernamen eingeben: "

set /p Pass="Passwort eingeben : "

Gruß André