Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupération d'une variable dans un script .bat

    21 mai 2018 à 10:56:17

    Bonjour à tous,

    Je suis actuellement en train de créer un script .bat pour activer automatiquement Bitlocker sur tous les postes de mon entreprise et je bloque littéralement sur un truc qui je pense est tout bête.

    Voici mon code

    bdeHdCfg.exe -target default -quiet
    manage-bde -protectors -add C: -RecoveryPassword
    manage-bde -protectors -add D: -RecoveryPassword
    manage-bde -protectors C: -Get
    manage-bde -protectors c: -adbackup -id
    manage-bde -protectors D: -Get
    manage-bde -on c: -SkipHardwareTest
    manage-bde -on d: -SkipHardwareTest
    manage-bde -AutoUnlock -Enable D:
    pause

    Mon souci se pose à la ligne 4.

    en exécutant la commande, j'obtiens ceci :

    https://image.noelshack.com/fichiers/2018/21/1/1526892754-protector.png

    Comment puis-je récupérer l'ID affiché pour l'injecter dans la ligne d'après ?

    Mes compétences en prog en général sont assez... limitées... donc si vous avez des solutions assez claires, je suis preneur.

    Merci de votre retour.

    Arystos

    • Partager sur Facebook
    • Partager sur Twitter
      21 mai 2018 à 15:26:44

      Bonjour,

      Sans doute comme ceci (non testé) :

      @echo off
      for /f "tokens=2 delims={}" %%a in ('manage-bde -protectors C: -Get') do set ID=%%a
      echo %ID%
      pause
      



      • Partager sur Facebook
      • Partager sur Twitter
        22 mai 2018 à 11:11:43

        J'ai eu une erreur sur le code que tu as proposé, du coup j'ai essayé en Powershell. Et j'ai réussi.

        Voici le code pour ceux que ça peut intéresser.

        bbdeHdCfg.exe -target default -quiet
            manage-bde -protectors -add C: -RecoveryPassword
            manage-bde -protectors -add D: -RecoveryPassword
            manage-bde -protectors c: -get
            $x = manage-bde -protectors c: -get
            $x -match '.*(?<=ID>{[^\}]+}).*'
            $y = $x -match '.*(?<ID>{[^\}]+}).*'
            ('{' + $y.split('{')[1]).split('}')[0] + '}'
            $z = ('{' + $y.split('{')[1]).split('}')[0] + '}'
            manage-bde -protectors c: -adbackup -id $z
            manage-bde -protectors D: -Get
            manage-bde -on c: -SkipHardwareTest
            manage-bde -on d: -SkipHardwareTest
            manage-bde -AutoUnlock -Enable D:

        • Partager sur Facebook
        • Partager sur Twitter

        Récupération d'une variable dans un script .bat

        × 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.
        • Editeur
        • Markdown