Condition "if" avec Batch

Fermé
koalatic Messages postés 327 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 11 août 2015 - 28 nov. 2009 à 05:33
koalatic Messages postés 327 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 11 août 2015 - 28 nov. 2009 à 12:59
Bonjour,
Comment est-il possible de faire en sorte que si les donné entrer sont exacte il soit possible d'être reconnu pour ouvrire une sessions?

ex.:
si je veux midentifier en tant que l'administrateur j'écris admin dans la ligne set /p n=ID: et mon mdp dans la ligne set /p n=Pwnd: comment le programme pourra reconnaitre c'est identifiant?

@echo off
color a
set /p n=ID:
set /p n=Pwnd:


3 réponses

Salut

Ça va être difficile car si ton programme batch s'exécute, c'est qu'une session est déjà ouverte.

Une autre optique est d'imaginer que la personne qui lance le batch n'est pas administrateur de son poste (mais elle a déjà ouvert une session) et que le batch en question cherche à démarrer un service. tu serais alors obligé de démarrer ton service avec
runas /user:administrateur "net start monservice"
mais cette commande runas n'accepte pas un mot de passe en paramètre: tu seras obligé de le taper au clavier.

tu trouveras peut-être du côté de sysinternals des programmes qui acceptent un mot de passe en argument (genre pstools), mais, une fois de plus, l'intérêt est limité car ces programmes sont à lancer dans une session déjà ouverte.

Si tu arrivais à faire exécuter un programme en fournissant nom d'utilisateur et mot de passe sur un poste où aucune session n'est ouverte, ça n'est pas pour autant qu'une session sera ouverte automatiquement.

Rappel: la session et l'authentification qui va avec sont là pour protéger le poste de travail et les données des utilisateurs y travaillant.
0
koalatic Messages postés 327 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 11 août 2015 21
28 nov. 2009 à 11:49
Bonjour,
merci de mavoir répondu. et davoir résolu mon problème. :)
0
koalatic Messages postés 327 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 11 août 2015 21
28 nov. 2009 à 12:59
En faite en cherchant plus en profondeur j'ai trouver cette syntaxe et celle-ci convient parfaitement à ce que je cherchait :

@echo off
title Brutus
color c

:A
set /p id=ID : 
if %id%==xxxxx goto :B
)
goto :A

:B
set /p pass=Pwnd : 
if %pass%==xxxxx goto :C
)
Goto :B

:C
cls
pause >nul


où le "xxxxx" est vos saisis choisis.
0