Bat avant ouverture de session windows

Bonjour,

J'ai besoin de mettre en place un fichier bat qui se lance avant l'ouverture de session windows (en cas de reboot d'un windows serveur 2003), afin de relancer des services windows.

La solution que j'ai trouvé pour le moment :
1 - Créé un bat qui lance les services via la commande "NET START"
2 - Mettre ce fichier bat dans le menu "Tous les programmes\Démarrage" du PC
3 - Faire un autologon sous ma session

Mais pour des questions de sécurités vis à vis du service informatique de mon client, je souhaiterais que ce fichier bat se lance automatiquement dès que mon server reboot, mais sans avoir à ouvrir de session...

Je suis un peu perdu à ce niveau, et je ne sais pas quoi faire de mon bat pour effectuer ce scénario...

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    @Romain : ça fait bien longtemps que autoexec.bat existe plus (depuis les versions NT).
    Il est remplacé par AUTOEXEC.NT.

    sinon : Faut que tu créés un service qui pointe sur ton Bat.
    Un service doit pouvoir lancer un bat, sinon au pire, tu compiles ton bat en exe - genre avec ça : https://www.battoexe.com/

    Voir clef HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

    description : https://support.microsoft.com/en-us/help/103000

    EDIT :
    M'enfin y a un truc que je capte pas trop, si tu arrives à lancer un service via une commande sc
    je vois pas pourquoi il ne se lancerait au boot "normalement" à moins que tu aies un prb de dépendances.

    Y a pas de raison que si ça marche pas SC, ça marche pas au boot.

    Burn, burn, yes ya gonna burn
    Burn, burn, yes ya gonna burn
    Burn, burn, yes ya gonna burn
    Burn, burn, yes ya gonna burn

    It goes a-1, 2, 3
    1. desolé malekal je savais pas car je bidouille beaucoup sur XP mais pas sur vista et seven
      1. Modérateur
        bha c'est pas grave :)

        mais sur XP c'est pareil.
        Autoexec.bat c'était sous DOS avec config.sys
        ça s'est donc arrete après Windows 98 et ME et l'arrivé des NT (NT4 et 2000).
      2. ba non moi j'ai toujours mon autoexec bat sur XP
        meme les pc du lycée l'ont aussi
      3. oki
    2. Oui Malekal_morte,

      Voici la topologie de mon installation :

      Un service de base de données "propriétaire" (désolé je tairait le nom)

      puis 3 services de communication qui dépendent de ce service de base de données

      Le fabricant a essayé de faire des dépendances de services, mais sans succès.

      Je cherche depuis quelque temps, et comme je suis débutant dans ce domaine de scrpts/programmation, je galère un peu...

      Il y aurait-il un exemple facilement compréhensible que tu puisse me donner?
      1. Modérateur
        Un Exemple de quoi ?

        Mais y a un truc qui est pas normal dans ce que tu dis.

        Pourquoi tu dois démarrer le service manuellement via un script ?
        Il est en démarrage automatique mais il se lance pas ?
        C'est quoi le prb ?
    3. Je reprend plus en détail Malekal_morte,

      J'ai sur mon server plusieurs services qui doivent demarrés en automatique lors du lancement de la machine. (ils sont en automatique)

      J'ai un service base de données qui se lance afin d'autoriser les accès à ma BDD

      Puis afin de pouvoir communiquer entre ma BDD et mes cartes de gestion, j'ai 3 services de communication qui se lancent également au démarrage de la machine.

      Lorsque ces 4 services sont démarrés, je peut créer des badges et ceux ci sont pris en compte par mes cartes de gestion au moyen de mes 4 services

      TOUT CELA EST DE LA THEORIE

      En pratique, voila ce que ca donne :

      Au lancement de la machine, mon service BDD se lance correctement, mais les services de communication ne se lancent pas tous, il y en a toujours 1 ou plus qui ne se lance pas, ce qui pose des soucis de communication lors de la création de badges.
      Si un service n'est pas démarré, les nouveaux badges ne sont pas pris en compte par mes cartes de gestion.

      Ce que j'ai du faire,

      créer un bat qui relance mes services
      mettre ce bat au demarrage de la session
      faire un autologon de ma session

      Mais pour des questions de securité, je souhaiterais executer ce bat avant l'ouverture de session, et cela via un service windows, ce qui réglerait mon problème de services de communication qui ne se lancent pas automatiquement

      Le problème est que je débute dans les scripts et leur mise en place, donc je galère un peu.

      J'espère avoir été un peu plus clair, désolé
      1. Modérateur
        ha ouais c'est bourrain :)

        faudrait peut-être avoir du debug pour savoir pourquoi il démarre pas.

        Sinon pour ton script, tu peux aussi le caser dans une tâche planifiée, y a un évenement "Au démarrage de l'ordinateur". Je pense que ça doit se lancer soit quand le service tâche planifée démarre, soit il attend que l'invite de session s'ouvre auquel cas si le script démarre là, ça doit aider pour démarrer les services qui le sont pas
        ex : http://www.allianceautomation.fr/...

        1. Ah ouai, on fait pas dans la dentelle... ;)

          J'ai essayé de configuré mes services de communication en relance lors d'une defaillance, mais le server ne le voit pas le service de communication arrété comme ce dernier n'a pas démarré.

          J'ai essayé de configuré ma tâche planifiée au lancement du système, via ma session admin (mais ce n'est pas la "vrai" session Administrateur de la machine). Mais meme soucis, Est ce que le fait que ce soit une session admin supplémentaire peut jouer sur mes autorisations et executions de ce fichiet bat...

          C'est jusque la de la bidouille, c'est pour cela que je cherche desesperemment un moyen en creant un service windows qui execute ce bat

          Je suis à cours d'idées, c'est pour cela que je demande votre aide......... ;)
          1. Modérateur
            heu non on s'en fiche qui créé la tâche planifiée vu que quand tu l'as créé tu donnes un user avec lequel elle sera executée.
            Après que t'es un user administrateur admin1 admin2 tant qu'ils sont dans le groupe local administrateurs, ils ont les mm droits.