je suis en train de créer un script batch pour gérer des comptes utilisateurs locaux et quand je veux tester la création d'un utilisateur j’obtiens le message : ": était inattendu" (l'erreur apparait au moment d'arriver sur le "if %errorlevel% == 0").
J'ai regardé dans le script mais je ne parviens pas à trouver l'erreur :
:createaccount
cls
echo Création d'un compte local !
echo.
:user
set /p nameuser=Saisissez le nom de l'utilisateur :
pause
net user %nameuser% P@sswOrd2020 /add >nul
pause
if %errorlevel% == 0 (
pause
net user %nameuser% /delete >nul
:: Vérifie si le poste fait partie d'un domaine
if /I %userdomain% NEQ "WORKGROUP" goto withpass
set /p pass=Souhaitez-vous ajouter un mot de passe ? (Y / N) :
if /I %pass% == "Y" goto withpass
net user %nameuser% /add >nul
echo le compte a bien été créé !
echo.
:otheraccount
set /p choice=Souhaitez-vous créer un autre compte ? (Y / N) :
if /I %choice% == "Y" goto user
if /I %choice% == "N" goto localaccount
:withpass
set /p pass=Entrer le mot de passe :
set /p verifpass=Confirmer le mot de passe :
if /I %pass% NEQ %verifpass% (
echo Les mots de passe ne correspondent pas
goto withpass
)
net user %nameuser% %pass% /add >nul
echo Le compte a bien été créé !
goto otheraccount
) else if %errorlevel% == 2 (
echo Erreur ! Le compte existe déjà !
goto user
)
Est ce que quelqu'un aurait une idée d'où ça peut venir ?
A partir du moment où tu rentres dans le if ligne 10, dès qu'il croise une parenthèse fermante, il semble vouloir fermer ton if ce qui provoque cette erreur ligne 15.
Voici une correction dont tu peux t'inspirer :
:createaccount
cls
echo Création d'un compte local !
echo.
:user
set /p nameuser=Saisissez le nom de l'utilisateur :
rem net user %nameuser% P@sswOrd2020 /add >nul
if %errorlevel% EQU 2 (
echo Erreur ! Le compte existe déjà !
goto user
)
if %errorlevel% NEQ 0 (
goto quit
)
net user %nameuser% /delete >nul
:: Vérifie si le poste fait partie d'un domaine
if /I not "%userdomain%"=="WORKGROUP" goto withpass
set /p pass="Souhaitez-vous ajouter un mot de passe ? (Y / N) :"
if /I "%pass%"=="Y" goto withpass
net user %nameuser% /add >nul
echo le compte a bien été créé !
echo.
:otheraccount
set /p choice="Souhaitez-vous créer un autre compte ? (Y / N) :"
if /I "%choice%"=="Y" goto user
if /I "%choice%"=="N" goto localaccount
:withpass
set /p pass="Entrer le mot de passe :"
set /p verifpass="Confirmer le mot de passe :"
if /I %pass% NEQ %verifpass% (
echo Les mots de passe ne correspondent pas
goto withpass
)
net user %nameuser% %pass% /add >nul
echo Le compte a bien été créé !
goto otheraccount
:quit
echo end.
pause
exit
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Nathan
Nathan