none
Tache planifiée RRS feed

  • Question

  • Bonjour,

    je tourne (encore) en rond.

    J'ai créé, afin de les exécuter automatiquement, dans l'ordre de mes essais :

    des scripts de copie via powershell, puis exécution du .ps1 via les taches planifiées --> nok

    des scripts de copie via bat, puis exécution du .bat via les taches planifiées --> nok

    des scripts de déplacement via bat, puis exécution du .bat via les taches planifiées --> nok

    J'ai tenté de mettre dans la commande action de la tache planifiée : notepad.exe

    La tâche passe à l'état "en cours", mais notepad ne se lance pas pour autant. Et la tache reste "en cours".

    Vu que le serveur est en prod, la tache s'effectue à 02h00 du mat', et  cela fait 1 semaine que j'essaie jour après jour.

    J'utilise le compte admin du domaine.

    Voici un exemple de .bat :

    #############

    REM ON LIBERE LES LECTEURS RESEAU

    net use t: /delete 

    net use s: /delete 

    REM on va mapper le dossier TEMP du NAS vers "T:\"
    Net use t: "\\172.16.0.135\Volume_1\temp\Backup Job SERV_ABRICOT" /USER:administrateur xxxxxxxxx

    REM on va mapper le dossier LUNDI du NAS vers "S:\"
    Net use s: "\\172.16.0.135\Volume_1\lundi"

    REM on deplace t vers s

    move /y t:\*.* s:

    exit

    ####################

    En exécutant le .bat à la main, tout se passe bien

    C'est donc un souci dans les Taches Planifiées.

    Merci.


    • Modifié HDU71 vendredi 11 mai 2018 07:14 pss
    mercredi 9 mai 2018 18:39

Réponses

  • OK alors après la lecture du script, je vois que le nom d'utilisateur c'est administrateur, je serai vous je ne le renseignerai pas pour qu'il utilise bine le compte spécifié dans la tache planifiée donc j'enléverai le /user.

    Ensuite, il faudrait pour débuguer rajouter des lignes au script pour voir quelle est la phase qui bloque même si ca risque d'être le net use t: ...

    REM ON LIBERE LES LECTEURS RESEAU

    net use t: /delete 
    echo "lettre t supprimee" >> c:\logs\script.txt
    net use s: /delete 
    echo "lettre s supprimee" >> c:\logs\script.txt
    REM on va mapper le dossier TEMP du NAS vers "T:\"
    Net use t: "\\172.16.0.135\Volume_1\temp\Backup Job SERV_ABRICOT" /USER:administrateur Jovillain77#
    echo "lecteur T mappe" >> c:\logs\script.txt
    REM on va mapper le dossier LUNDI du NAS vers "S:\"
    Net use s: "\\172.16.0.135\Volume_1\lundi"
    echo "lecteur S mappe" >> c:\logs\script.txt
    REM on deplace t vers s

    move /y t:\*.* s:

    echo "t est deplace vers S " >> c:\logs\script.txt
    exit

    Après, j'ai quand même besoin de savoir, pourquoi faites vous de cette façon ? Quel est le besoin ?


    Merci de marquer comme reponses les interventions qui vous ont ete utile.


    • Modifié matteu31400 vendredi 11 mai 2018 06:44
    • Marqué comme réponse HDU71 samedi 19 mai 2018 17:49
    vendredi 11 mai 2018 06:43
  • Net use t: "\\172.16.0.135\Volume_1\temp\Backup Job SERV_ABRICOT" /USER:administrateur xxxxxxxxx

    Dans un premier temps ce n'est pas très joli de  mettre le compte et le mot de passe dans la commande. Tu peux configurer le compte d'exécution dans la tâche planifiés. Comme expliqué par matteu...

    Ensuite pourquoi quel intérêt de faire un net use ? tu peux lancer une copie de la source vers la destination.

    A noter : si tu fais ta tâche sur un serveur membre le compte administrateur est l'admin local du serveur membre et non l'admin du domaine. 

    Perso, pour des raisons de sécurité je créé un compte spécifique à la tâche, et il n'est pas recommandé d'utiliser un compte admin du domaine pour faire une copie de fichier...

    • Marqué comme réponse HDU71 samedi 19 mai 2018 17:49
    dimanche 13 mai 2018 15:13
  • Je vous avais demandé quel est le besoin mais vous n'avez pas répondu :/

    Vous pouvez très bien faire via robocopy :

    robocopy \\172.16.0.135\Volume_1\temp\Backup Job SERV_ABRICOT"  "\\172.16.0.135\Volume_1\lundi" /mov /is /it /njh /njs /ndl /ns /nc /np /nc

    La commande move ne supporte pas un chemin UNC comme répertoire de destination c'est la raison pour laquelle il est nécessaire de mapper une lettre. Avec robocopy c'est tout à fait possible d'avoir un chemin UNC comme source ET un autre pour la destination. https://stackoverflow.com/questions/20210147/script-to-move-file-from-one-network-to-other-unc-paths

    Je vous conseille également de vérifer les options de robocopy pour obtenir le résultats que vous souhaitez. Il y en a pas mal...


    Merci de marquer comme reponses les interventions qui vous ont ete utile.





    • Modifié matteu31400 lundi 14 mai 2018 06:13
    • Marqué comme réponse HDU71 samedi 19 mai 2018 17:49
    lundi 14 mai 2018 06:09

Toutes les réponses

  • Bonjour,

    Si vous utilisez le compte admin du domaine, c'est sur la session admin du domaine que ces taches s'effectueront. Donc les lecteurs réseaux seront mappés sur cette session.

    Essayer de faire fonctionner la tache avec un .bat dans un premier temps parce qu'en powershell il faudra surement ajuster la ligne de commande pour modifier le contexte d'exécution.



    Merci de marquer comme reponses les interventions qui vous ont ete utile.

    jeudi 10 mai 2018 17:00
  • J'utilise bien la session admin, et comme je l'ai signalé, je suis avec un .bat.

    Merci

    vendredi 11 mai 2018 06:30
  • OK alors après la lecture du script, je vois que le nom d'utilisateur c'est administrateur, je serai vous je ne le renseignerai pas pour qu'il utilise bine le compte spécifié dans la tache planifiée donc j'enléverai le /user.

    Ensuite, il faudrait pour débuguer rajouter des lignes au script pour voir quelle est la phase qui bloque même si ca risque d'être le net use t: ...

    REM ON LIBERE LES LECTEURS RESEAU

    net use t: /delete 
    echo "lettre t supprimee" >> c:\logs\script.txt
    net use s: /delete 
    echo "lettre s supprimee" >> c:\logs\script.txt
    REM on va mapper le dossier TEMP du NAS vers "T:\"
    Net use t: "\\172.16.0.135\Volume_1\temp\Backup Job SERV_ABRICOT" /USER:administrateur Jovillain77#
    echo "lecteur T mappe" >> c:\logs\script.txt
    REM on va mapper le dossier LUNDI du NAS vers "S:\"
    Net use s: "\\172.16.0.135\Volume_1\lundi"
    echo "lecteur S mappe" >> c:\logs\script.txt
    REM on deplace t vers s

    move /y t:\*.* s:

    echo "t est deplace vers S " >> c:\logs\script.txt
    exit

    Après, j'ai quand même besoin de savoir, pourquoi faites vous de cette façon ? Quel est le besoin ?


    Merci de marquer comme reponses les interventions qui vous ont ete utile.


    • Modifié matteu31400 vendredi 11 mai 2018 06:44
    • Marqué comme réponse HDU71 samedi 19 mai 2018 17:49
    vendredi 11 mai 2018 06:43
  • je teste cela ce soir

    Merci

    vendredi 11 mai 2018 07:16
  • Je viens de regarder les 2 dernières .bat ont l'air ok

    mais tu as raison, je vais  essayer de degugguer, même si je ne comprends pas le souci.

    Je reviens après 2j ok.

    A+

    vendredi 11 mai 2018 15:42
  • Je viens de créer le répertoire c:\logs et j'ai modifié les 6 .bat

    je vous tiens au jus (3 copies seront nécessaires pour valider).

    A+


    • Modifié HDU71 vendredi 11 mai 2018 16:00
    vendredi 11 mai 2018 16:00
  • En fait,

    je pense que le exit que j'ai rajouté à la fin (pas testé avant), résoud le souci.

    J'ai enlevé le /user:

    J'attends que la semaine soit passée pour voir si tout OK

    Je viendrai le signaler et mettrai résolu à ce moment

    Merci

    samedi 12 mai 2018 21:42
  • Net use t: "\\172.16.0.135\Volume_1\temp\Backup Job SERV_ABRICOT" /USER:administrateur xxxxxxxxx

    Dans un premier temps ce n'est pas très joli de  mettre le compte et le mot de passe dans la commande. Tu peux configurer le compte d'exécution dans la tâche planifiés. Comme expliqué par matteu...

    Ensuite pourquoi quel intérêt de faire un net use ? tu peux lancer une copie de la source vers la destination.

    A noter : si tu fais ta tâche sur un serveur membre le compte administrateur est l'admin local du serveur membre et non l'admin du domaine. 

    Perso, pour des raisons de sécurité je créé un compte spécifique à la tâche, et il n'est pas recommandé d'utiliser un compte admin du domaine pour faire une copie de fichier...

    • Marqué comme réponse HDU71 samedi 19 mai 2018 17:49
    dimanche 13 mai 2018 15:13
  • Je fais un net use car il s'agit de différents répertoires d'un NAS

    Pour le reste, quels droits donnes tu au compte spécifique ?

    Merci

    dimanche 13 mai 2018 19:23
  • Je vous avais demandé quel est le besoin mais vous n'avez pas répondu :/

    Vous pouvez très bien faire via robocopy :

    robocopy \\172.16.0.135\Volume_1\temp\Backup Job SERV_ABRICOT"  "\\172.16.0.135\Volume_1\lundi" /mov /is /it /njh /njs /ndl /ns /nc /np /nc

    La commande move ne supporte pas un chemin UNC comme répertoire de destination c'est la raison pour laquelle il est nécessaire de mapper une lettre. Avec robocopy c'est tout à fait possible d'avoir un chemin UNC comme source ET un autre pour la destination. https://stackoverflow.com/questions/20210147/script-to-move-file-from-one-network-to-other-unc-paths

    Je vous conseille également de vérifer les options de robocopy pour obtenir le résultats que vous souhaitez. Il y en a pas mal...


    Merci de marquer comme reponses les interventions qui vous ont ete utile.





    • Modifié matteu31400 lundi 14 mai 2018 06:13
    • Marqué comme réponse HDU71 samedi 19 mai 2018 17:49
    lundi 14 mai 2018 06:09
  • OK,

    merci, mais mapper ne me prend pas beaucoup de ressources !

    Je regarderai robocopy à l'occasion, j'attends déjà que mes scripts aient fonctionné 1 semaine.

    A+

    PS : je n'avais pas vu la question sur le besoin :-(


    • Modifié HDU71 lundi 14 mai 2018 07:59
    lundi 14 mai 2018 07:58
  • Bonjour à tous,

    cela semble OK

    Merci

    samedi 19 mai 2018 17:48