locked
Demande d'aide sur un script en .bat (en rapport avec WDS) RRS feed

  • Question

  • Bonjour à la communauté, me revoici, me revoila

    Je suis actuellement confronté à deux problèmes:

    le 1 er: Mon fichier .bat ne lit que la 1ere ligne puis ignore le reste des lignes derrières donc pas moyen de rassemblé mes trois fichiers .bat en un seul ce qui est pénible. Parfois, mon script accepte de exécuter plusieurs lignes mais je ne sais pas pourquoi.

    2éme: Pour des raisons de souplesse (car auparavant, j'ai mis les scripts dans l'image directement et j'y fais appel en firstLogon dans le fichier de réponse), j'ai mis les scripts sur le serveur wds dans un disque local (j'ai donc un disque C: , D: et F:) qui stocke l'ensemble des fichiers de réponse. Ce disque est bien sur partagé avec "tout les utilisateurs peuvent exécuter & lire les scripts dedans ainsi que voir le contenu du dossier". J'essaye d'atteindre les scripts en faisant un appel de ces scripts dans un .bat mit dans l'image mais je n'y arrive pas. Je ne peux pas passer en GPO les scripts car ils font sauter d'autres choses.

    Les deux scripts sur le serveur WDS sont:

    activation.bat 5 ( les XXXXX-XXXXX-XXXXX-XXXXX-XXXXX : clés d'installation Windows 7 Pro en Volume que je ne peux pas mettre sur le net pour des raisons évidentes de sécurité)

    @echo off 
    
    cls 
    echo Activation Windows 7
    echo. 
    cscript //B "%windir%\system32\slmgr.vbs" /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
    cscript //B "%windir%\system32\slmgr.vbs" /ato 
    
    echo Activation complete! 
    
    exit


    log.bat (j'ai du modifié les infos pour des raisons de confidentialités)

    REG add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f
    REG add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultDomainName /t REG_SZ /d domaine /f
    REG add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d nomutilisateur /f
    REG add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d mot de passe /f

    Voici les scripts qui sont dans l'image pour appeler les deux scripts ci-dessus:

    "\\serveurWDS\Scripts\log.bat" /USER:utilisateurspecial@domaine.local motdepasse
    "\\serveurWDS\Scripts\activation.bat" /USER:utilisateurspecial@domaine.local motdepasse

    Je veux pas que les deux soit retenu car il ne faut pas que les utilisateurs puissent atteindre le serveur wds. Pour ce qui est des deux scripts d'appel, ils sont supprimés une fois terminé par un vbs qui supprime toutes les traces.

    L'erreur que j'ai c'est :

    Echec d'ouverture de session: Nom d'utilisateur inconnu ou mot de passe incorrecte.


    Je suis pourtant sur de mon nom d'utilisateur et mon mot de passe.

    Quand je me connecte au serveur à distance manuellement (ce que je peux pas faire quand je déploie en nombre) en faisant Démarrer => Ordinateur => Réseau => clique sur le pc qui m'intéresse puis il me demande mon login & mot de passe, que je lance ensuite le script, celui-ci fonctionne parfaitement (avec le même compte que j'utilise dans le script pourtant).

     Avez-vous une solution?

    Merci d'avance pour vos réponses

    Amicalement

    Louis Peperman





    mardi 5 mars 2013 15:48

Toutes les réponses

  • "\\serveurWDS\Scripts\activation.bat" /USER:utilisateurspecial@domaine.local motdepasse


    quand tu mets /USER derrière un .bat c'est pour passer une variable au .bat , j'ai jamais cette forme pour transmettre un compte d'execution avec un .bat.

    sinon il faudrait faire un runas pour que le bat s'exécute dans un autre contexte utilisateur :

    Quand je me connecte au serveur à distance manuellement (ce que je peux pas faire quand je déploie en nombre) en faisant Démarrer => Ordinateur => Réseau => clique sur le pc qui m'intéresse puis il me demande mon login & mot de passe, que je lance ensuite le script, celui-ci fonctionne parfaitement (avec le même compte que j'utilise dans le script pourtant).

    Oui mais la tu fais l'équivalent d'un net use avant d'éxécuter le .bat et net use admet /user comme arguement, comme runas.

    Si tu mets des arguments derrière un .bat il faut utiliser dans le bat les %1 pour récupérer les valeurs et les utilisé dans le script.

    exemple :http://stackoverflow.com/questions/26551/how-to-pass-command-line-parameters-in-batch-file



    mardi 5 mars 2013 18:24
  • Déjà, merci d'avoir passé du temps sur mon sujet pour y répondre.

    Je dois dire que c'est la première fois que je fais cela sur Windows (plus scripter sous linux) . En faite, je suis en administrateur local de l'ordinateur pour pouvoir réaliser l'ensemble des tâches donc pas de souci de droit sur les ordinateurs ou j'exécute le script par contre, je dois utiliser un autre compte que l'administrateur local dans les deux scripts d'appel pour avoir l'autorisation de me connecter au serveur WDS qui n'est accessible que par un nombre très limité de personne.

    Pour net use, que j'ai déjà essayé, ce qui me pose problème, c'est le lecteur car il me dit soit que le lecteur est déjà utilisé (si j'utilise la lettre C par exemple) soit j'arrive pas à utilisé le lecteur crée: Forme du net use que j'ai déjà utilisé, c'est net use C: (ou autre) \\chemin réseau \script.bat /user:utilisateurspecial@nomdomaine.local Mot de passe.

    D'accord, le /User ne peut donc pas fonctionner ainsi. Si je fais un Runas, y'a t'il moyen d'automatisé complétement le changement de nom & entrer le mot de passe?

    Il faut peut être mieux que je passe par net use du coup nan?

    Je comprend pas pourquoi il faut absolument que je réutilise l'argument dans le script? 

    Je vais réessayer / essayer tes solutions.


    mercredi 6 mars 2013 08:23
  • net use w: \\nomordinateur\dossier mot de passe /user:utilisateurspecial@domaine.local
    call w:\log.bat
    net use * /delete /yes
    shutdown -r -t 0
    pause

    j'ai peut être trouver une manière de faire (ci-dessus). Il crée un emplacement réseau, trouve le script log.bat puis le lance . Une fois fait, il supprime l'emplacement puis redémarre pour qu'il soit effacé visuellement aussi (pas toujours besoin de le redémarrer)  




    mercredi 6 mars 2013 11:50
  • Rebonjour, mes scripts fonctionnent parfaitement (ci-dessus) cependant, toujours le problème de l'appel via le FirstLogon. En principe, il doit les appeler les uns après les autres mais defois certains sont ignorés.

    Ce sont les scripts entre eux qui se coupe l'herbe sous le pied ou c'est WDS qui a du mal? (pour cela que j'essaye de tout mettre dans un seul mais pour l'instant, il n'applique alors pas les lignes en dessous de la 1er action effectué.  

    jeudi 7 mars 2013 09:36
  • Je comprend pas pourquoi il faut absolument que je réutilise l'argument dans le script? 

    car le .bat est un fichier de commande et non une commande il ne reconnait pas l'argument /user , on peut juste lui passer des arguments et les réutilisé.

    mettre le net use dans le script en utilisant le /user (net user reconnait cette argument) est une solution.

    lundi 11 mars 2013 18:32