Condition "if" avec Batch

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:


--
   Henry
Frédéric
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. 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.
    1. Bonjour,
      merci de mavoir répondu. et davoir résolu mon problème. :)
      1. 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.