J'ai une application qui s'exécute en service et elle lance un Shell au DOS
pour exécuter un fichier de commande (.BAT) qui contient un NET USE pour se
connecter sur un autre serveur, un MOVE pour transférer, et un NET USE
/DELETE.
Une fois sur 20 il bloque et dans les traces indique qu'il bloque après que
le MOVE ai été complété. et ne va pas plus loins.
Existe t'il une façon pour corriger ce problème ?
Également, existe t'il un façon de faire un "End Process" dans le
gestionnaire des tâches pour les CMD.EXE SYSTEM qui sont bloqués. Même en
étant administrateur, j'obtient un "Access Denied" à chaques tentatives
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Clive Lumb
Francky's wrote:
J'ai une application qui s'exécute en service et elle lance un Shell au DOS pour exécuter un fichier de commande (.BAT) qui contient un NET USE pour se connecter sur un autre serveur, un MOVE pour transférer, et un NET USE /DELETE.
Une fois sur 20 il bloque et dans les traces indique qu'il bloque après que le MOVE ai été complété. et ne va pas plus loins.
Existe t'il une façon pour corriger ce problème ?
Également, existe t'il un façon de faire un "End Process" dans le gestionnaire des tâches pour les CMD.EXE SYSTEM qui sont bloqués. Même en étant administrateur, j'obtient un "Access Denied" à chaques tentatives
Merci !
Hello Francky's
Je soupçonne que le NET USE /DELETE bloque parcequ'il y a des fichiers encore ouverts. Pour savoir tu devrai pouvoir rediriger la sortie des commandes vers un fichier log avec la rédirection ("> file.log" pour créer un nouveau fichier, ">> file.log" pour ajouter à la fin).
D'abord est-il vraiment nécessaire d'utiliser NET USE ? Peut-être c'est pour utiliser un autre nom d'utilisateur/Mot de passe ? Sinon, alors tu devrais pouvoir faire le MOVE avec des unc, par ex: MOVE Serveur1cheminetc Serveur2etc.
Si tu veux vraiment contrôler et avoir un log detaillé, penser à utiliser Robocopy (dispo dans le ressource kit Windows; préférer la version XP qui marche aussi sur Win2K, télécharger ici si tu veux http://clumb.free.fr/robocopy.exe). Il a aussi l'avantage de pouvoir passer sur un fichier recalcitrant (ouvert en écriture par exemple) après un nombre donné d'essais.
J'utilise Robocopy pour faire des copies "miroir" de 3 serveurs - la première copie est très longue, mais après il ne copie que les nouveaux fichiers et les fichiers modifiés. Il peut aussi surveiller un repertoire et copier des fichiers dès qu'ils sont modifiés.
Bon courage Clive
Francky's wrote:
J'ai une application qui s'exécute en service et elle lance un Shell
au DOS pour exécuter un fichier de commande (.BAT) qui contient un
NET USE pour se connecter sur un autre serveur, un MOVE pour
transférer, et un NET USE /DELETE.
Une fois sur 20 il bloque et dans les traces indique qu'il bloque
après que le MOVE ai été complété. et ne va pas plus loins.
Existe t'il une façon pour corriger ce problème ?
Également, existe t'il un façon de faire un "End Process" dans le
gestionnaire des tâches pour les CMD.EXE SYSTEM qui sont bloqués.
Même en étant administrateur, j'obtient un "Access Denied" à chaques
tentatives
Merci !
Hello Francky's
Je soupçonne que le NET USE /DELETE bloque parcequ'il y a des fichiers
encore ouverts. Pour savoir tu devrai pouvoir rediriger la sortie des
commandes vers un fichier log avec la rédirection ("> file.log" pour créer
un nouveau fichier, ">> file.log" pour ajouter à la fin).
D'abord est-il vraiment nécessaire d'utiliser NET USE ? Peut-être c'est pour
utiliser un autre nom d'utilisateur/Mot de passe ?
Sinon, alors tu devrais pouvoir faire le MOVE avec des unc, par ex: MOVE
\Serveur1cheminetc Serveur2etc.
Si tu veux vraiment contrôler et avoir un log detaillé, penser à utiliser
Robocopy (dispo dans le ressource kit Windows; préférer la version XP qui
marche aussi sur Win2K, télécharger ici si tu veux
http://clumb.free.fr/robocopy.exe). Il a aussi l'avantage de pouvoir passer
sur un fichier recalcitrant (ouvert en écriture par exemple) après un nombre
donné d'essais.
J'utilise Robocopy pour faire des copies "miroir" de 3 serveurs - la
première copie est très longue, mais après il ne copie que les nouveaux
fichiers et les fichiers modifiés. Il peut aussi surveiller un repertoire et
copier des fichiers dès qu'ils sont modifiés.
J'ai une application qui s'exécute en service et elle lance un Shell au DOS pour exécuter un fichier de commande (.BAT) qui contient un NET USE pour se connecter sur un autre serveur, un MOVE pour transférer, et un NET USE /DELETE.
Une fois sur 20 il bloque et dans les traces indique qu'il bloque après que le MOVE ai été complété. et ne va pas plus loins.
Existe t'il une façon pour corriger ce problème ?
Également, existe t'il un façon de faire un "End Process" dans le gestionnaire des tâches pour les CMD.EXE SYSTEM qui sont bloqués. Même en étant administrateur, j'obtient un "Access Denied" à chaques tentatives
Merci !
Hello Francky's
Je soupçonne que le NET USE /DELETE bloque parcequ'il y a des fichiers encore ouverts. Pour savoir tu devrai pouvoir rediriger la sortie des commandes vers un fichier log avec la rédirection ("> file.log" pour créer un nouveau fichier, ">> file.log" pour ajouter à la fin).
D'abord est-il vraiment nécessaire d'utiliser NET USE ? Peut-être c'est pour utiliser un autre nom d'utilisateur/Mot de passe ? Sinon, alors tu devrais pouvoir faire le MOVE avec des unc, par ex: MOVE Serveur1cheminetc Serveur2etc.
Si tu veux vraiment contrôler et avoir un log detaillé, penser à utiliser Robocopy (dispo dans le ressource kit Windows; préférer la version XP qui marche aussi sur Win2K, télécharger ici si tu veux http://clumb.free.fr/robocopy.exe). Il a aussi l'avantage de pouvoir passer sur un fichier recalcitrant (ouvert en écriture par exemple) après un nombre donné d'essais.
J'utilise Robocopy pour faire des copies "miroir" de 3 serveurs - la première copie est très longue, mais après il ne copie que les nouveaux fichiers et les fichiers modifiés. Il peut aussi surveiller un repertoire et copier des fichiers dès qu'ils sont modifiés.
Bon courage Clive
Francky's
Merci !
J'avais penser de loger des trace pour voir l'éxécution du fichier BAT mais c'est vrai que je n'avais pas pensé de rediriger la commande move.
J'utilise le NET USE car le programme s'exécute en service "system account" et ce mode ne donne pas accès aux autres serveur à mon pgm et pour toute sorte de contraintes, je ne peux pas l'éxécuter d'un autre façon (User account). Je suis contraint par des raisons de sécurité entre serveurs par des administrateurs.
Mais je te remercie, tu me donne la possibilité d'aller plus loins dans mon investigation.
Francky's wrote:
J'ai une application qui s'exécute en service et elle lance un Shell au DOS pour exécuter un fichier de commande (.BAT) qui contient un NET USE pour se connecter sur un autre serveur, un MOVE pour transférer, et un NET USE /DELETE.
Une fois sur 20 il bloque et dans les traces indique qu'il bloque après que le MOVE ai été complété. et ne va pas plus loins.
Existe t'il une façon pour corriger ce problème ?
Également, existe t'il un façon de faire un "End Process" dans le gestionnaire des tâches pour les CMD.EXE SYSTEM qui sont bloqués. Même en étant administrateur, j'obtient un "Access Denied" à chaques tentatives
Merci !
Hello Francky's
Je soupçonne que le NET USE /DELETE bloque parcequ'il y a des fichiers encore ouverts. Pour savoir tu devrai pouvoir rediriger la sortie des commandes vers un fichier log avec la rédirection ("> file.log" pour créer un nouveau fichier, ">> file.log" pour ajouter à la fin).
D'abord est-il vraiment nécessaire d'utiliser NET USE ? Peut-être c'est pour utiliser un autre nom d'utilisateur/Mot de passe ? Sinon, alors tu devrais pouvoir faire le MOVE avec des unc, par ex: MOVE Serveur1cheminetc Serveur2etc.
Si tu veux vraiment contrôler et avoir un log detaillé, penser à utiliser Robocopy (dispo dans le ressource kit Windows; préférer la version XP qui marche aussi sur Win2K, télécharger ici si tu veux http://clumb.free.fr/robocopy.exe). Il a aussi l'avantage de pouvoir passer sur un fichier recalcitrant (ouvert en écriture par exemple) après un nombre donné d'essais.
J'utilise Robocopy pour faire des copies "miroir" de 3 serveurs - la première copie est très longue, mais après il ne copie que les nouveaux fichiers et les fichiers modifiés. Il peut aussi surveiller un repertoire et copier des fichiers dès qu'ils sont modifiés.
Bon courage Clive
Merci !
J'avais penser de loger des trace pour voir l'éxécution du fichier BAT mais
c'est vrai que je n'avais pas pensé de rediriger la commande move.
J'utilise le NET USE car le programme s'exécute en service "system account"
et ce mode ne donne pas accès aux autres serveur à mon pgm et pour toute
sorte de contraintes, je ne peux pas l'éxécuter d'un autre façon (User
account). Je suis contraint par des raisons de sécurité entre serveurs par
des administrateurs.
Mais je te remercie, tu me donne la possibilité d'aller plus loins dans mon
investigation.
Francky's wrote:
J'ai une application qui s'exécute en service et elle lance un Shell
au DOS pour exécuter un fichier de commande (.BAT) qui contient un
NET USE pour se connecter sur un autre serveur, un MOVE pour
transférer, et un NET USE /DELETE.
Une fois sur 20 il bloque et dans les traces indique qu'il bloque
après que le MOVE ai été complété. et ne va pas plus loins.
Existe t'il une façon pour corriger ce problème ?
Également, existe t'il un façon de faire un "End Process" dans le
gestionnaire des tâches pour les CMD.EXE SYSTEM qui sont bloqués.
Même en étant administrateur, j'obtient un "Access Denied" à chaques
tentatives
Merci !
Hello Francky's
Je soupçonne que le NET USE /DELETE bloque parcequ'il y a des fichiers
encore ouverts. Pour savoir tu devrai pouvoir rediriger la sortie des
commandes vers un fichier log avec la rédirection ("> file.log" pour créer
un nouveau fichier, ">> file.log" pour ajouter à la fin).
D'abord est-il vraiment nécessaire d'utiliser NET USE ? Peut-être c'est pour
utiliser un autre nom d'utilisateur/Mot de passe ?
Sinon, alors tu devrais pouvoir faire le MOVE avec des unc, par ex: MOVE
\Serveur1cheminetc Serveur2etc.
Si tu veux vraiment contrôler et avoir un log detaillé, penser à utiliser
Robocopy (dispo dans le ressource kit Windows; préférer la version XP qui
marche aussi sur Win2K, télécharger ici si tu veux
http://clumb.free.fr/robocopy.exe). Il a aussi l'avantage de pouvoir passer
sur un fichier recalcitrant (ouvert en écriture par exemple) après un nombre
donné d'essais.
J'utilise Robocopy pour faire des copies "miroir" de 3 serveurs - la
première copie est très longue, mais après il ne copie que les nouveaux
fichiers et les fichiers modifiés. Il peut aussi surveiller un repertoire et
copier des fichiers dès qu'ils sont modifiés.
J'avais penser de loger des trace pour voir l'éxécution du fichier BAT mais c'est vrai que je n'avais pas pensé de rediriger la commande move.
J'utilise le NET USE car le programme s'exécute en service "system account" et ce mode ne donne pas accès aux autres serveur à mon pgm et pour toute sorte de contraintes, je ne peux pas l'éxécuter d'un autre façon (User account). Je suis contraint par des raisons de sécurité entre serveurs par des administrateurs.
Mais je te remercie, tu me donne la possibilité d'aller plus loins dans mon investigation.
Francky's wrote:
J'ai une application qui s'exécute en service et elle lance un Shell au DOS pour exécuter un fichier de commande (.BAT) qui contient un NET USE pour se connecter sur un autre serveur, un MOVE pour transférer, et un NET USE /DELETE.
Une fois sur 20 il bloque et dans les traces indique qu'il bloque après que le MOVE ai été complété. et ne va pas plus loins.
Existe t'il une façon pour corriger ce problème ?
Également, existe t'il un façon de faire un "End Process" dans le gestionnaire des tâches pour les CMD.EXE SYSTEM qui sont bloqués. Même en étant administrateur, j'obtient un "Access Denied" à chaques tentatives
Merci !
Hello Francky's
Je soupçonne que le NET USE /DELETE bloque parcequ'il y a des fichiers encore ouverts. Pour savoir tu devrai pouvoir rediriger la sortie des commandes vers un fichier log avec la rédirection ("> file.log" pour créer un nouveau fichier, ">> file.log" pour ajouter à la fin).
D'abord est-il vraiment nécessaire d'utiliser NET USE ? Peut-être c'est pour utiliser un autre nom d'utilisateur/Mot de passe ? Sinon, alors tu devrais pouvoir faire le MOVE avec des unc, par ex: MOVE Serveur1cheminetc Serveur2etc.
Si tu veux vraiment contrôler et avoir un log detaillé, penser à utiliser Robocopy (dispo dans le ressource kit Windows; préférer la version XP qui marche aussi sur Win2K, télécharger ici si tu veux http://clumb.free.fr/robocopy.exe). Il a aussi l'avantage de pouvoir passer sur un fichier recalcitrant (ouvert en écriture par exemple) après un nombre donné d'essais.
J'utilise Robocopy pour faire des copies "miroir" de 3 serveurs - la première copie est très longue, mais après il ne copie que les nouveaux fichiers et les fichiers modifiés. Il peut aussi surveiller un repertoire et copier des fichiers dès qu'ils sont modifiés.