Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

script batch goto

4 réponses
Avatar
Pascal
Bonjour,
je rencontre un petit soucis

j'ai mis en place une procédure automatisée pour joindre une machine windows 7
dans un domaine samba

Il s'agit d'un script batch lancé lui même par une gpo (script au démarrage)

le script fonctionne bien si ce n'est le dernier goto qui n'est jamais (ou alors
de façon aléatoire) pris en compte

voilà le script

if exist c:\deploy\domain.txt goto nettoyage
if exist c:\deploy\name.txt goto domaine
if exist c:\deploy\mac.txt goto name

echo "*********************************************************" >>
c:\deploy\mac.txt
echo "Procédure de renommage de la station avec son adresse MAC" >>
c:\deploy\mac.txt
call c:\deploy\wsname.exe /N:$MAC /REBOOT
goto end

:name
ren c:\deploy\mac.txt name.txt
echo "**********************************************************************" >>
c:\deploy\name.txt
echo "Renommage de la station avec son nom (fichier correspondances ip/noms)" >>
c:\deploy\name.txt
call c:\deploy\wsname.exe /RDF:"c:\deploy\liste.txt" /DFK:$IP /REBOOT
goto end

:domaine
ren c:\deploy\name.txt domain.txt
echo "**********************************************************************" >>
c:\deploy\domain.txt
echo "Intégration de la station %ComputerName% dans le domaine samba_domain " >>
c:\deploy\domain.txt
powershell -command Set-ExecutionPolicy Unrestricted
call c:\deploy\sleep.exe 30
rem script jonction au domaine samba
powershell c:\deploy\join-domain.ps1
goto end

:nettoyage
ren c:\deploy\domain.txt nettoyage.txt
echo "**********************************************************************" >>
c:\deploy\nettoyage.txt
echo "Nettoyage de la machine " >> c:\deploy\nettoyage.txt
del c:\deploy\wsname.exe /f /Q /S
del c:\deploy\sleep.exe /f /Q /S
del c:\deploy\liste.txt /f /Q /S
del c:\deploy\join-domain.ps1 /f /Q /S
del c:\deploy\domain.txt /f /Q /S
net user user /active:no
net user tmp_iut /active:no
powershell -command Set-ExecutionPolicy Restricted
del c:\deploy\deploy.bat /f /Q /S

:end



Comment se fait t'il que le label nettoyage ne soit pas pris en compte ?


merci pour vos lumières

4 réponses

Avatar
Delta Ophiuchus
*Bonjour Pascal*, qui a écrit le 19/09/2012 11:13 :

le script fonctionne bien si ce n'est le dernier goto qui n'est jamais
(ou alors de façon aléatoire) pris en compte



rajoute un sleep avec une durée avant et teste.

--
http://www.synec-doc.be/doc/accents2.htm
Avatar
Michel__D
Bonjour,

Pascal a écrit :
Bonjour,
je rencontre un petit soucis

j'ai mis en place une procédure automatisée pour joindre une machine
windows 7 dans un domaine samba

Il s'agit d'un script batch lancé lui même par une gpo (script au
démarrage)

le script fonctionne bien si ce n'est le dernier goto qui n'est jamais
(ou alors de façon aléatoire) pris en compte

voilà le script

if exist c:deploydomain.txt goto nettoyage
if exist c:deployname.txt goto domaine
if exist c:deploymac.txt goto name

echo "*********************************************************" >>
c:deploymac.txt
echo "Procédure de renommage de la station avec son adresse MAC" >>
c:deploymac.txt
call c:deploywsname.exe /N:$MAC /REBOOT
goto end

:name
ren c:deploymac.txt name.txt
echo
"**********************************************************************"
>> c:deployname.txt
echo "Renommage de la station avec son nom (fichier correspondances
ip/noms)" >> c:deployname.txt
call c:deploywsname.exe /RDF:"c:deployliste.txt" /DFK:$IP /REBOOT
goto end

:domaine
ren c:deployname.txt domain.txt
echo
"**********************************************************************"
>> c:deploydomain.txt
echo "Intégration de la station %ComputerName% dans le domaine
samba_domain " >> c:deploydomain.txt
powershell -command Set-ExecutionPolicy Unrestricted
call c:deploysleep.exe 30
rem script jonction au domaine samba
powershell c:deployjoin-domain.ps1
goto end

:nettoyage
ren c:deploydomain.txt nettoyage.txt
echo
"**********************************************************************"
>> c:deploynettoyage.txt
echo "Nettoyage de la machine " >> c:deploynettoyage.txt
del c:deploywsname.exe /f /Q /S
del c:deploysleep.exe /f /Q /S
del c:deployliste.txt /f /Q /S
del c:deployjoin-domain.ps1 /f /Q /S
del c:deploydomain.txt /f /Q /S
net user user /active:no
net user tmp_iut /active:no
powershell -command Set-ExecutionPolicy Restricted
del c:deploydeploy.bat /f /Q /S

:end



Comment se fait t'il que le label nettoyage ne soit pas pris en compte ?



Si j'ai bien compris ton batch, le déroulement serait :

1) Aucun fichier.txt => exécution de :

echo "*********************************************************" >> c:deploymac.txt
echo "Procédure de renommage de la station avec son adresse MAC" >> c:deploymac.txt
call c:deploywsname.exe /N:$MAC /REBOOT
goto end

2) Au reboot, présence du fichier mac.txt => exécution de :

:name
ren c:deploymac.txt name.txt
echo "**********************************************************************" >> c:deployname.txt
echo "Renommage de la station avec son nom (fichier correspondances ip/noms)" >> c:deployname.txt
call c:deploywsname.exe /RDF:"c:deployliste.txt" /DFK:$IP /REBOOT
goto end

3) Au reboot suivant , présence du fichier name.txt => exécution de :

:domaine
ren c:deployname.txt domain.txt
echo "**********************************************************************" >> c:deploydomain.txt
echo "Intégration de la station %ComputerName% dans le domaine samba_domain " >> c:deploydomain.txt
powershell -command Set-ExecutionPolicy Unrestricted
call c:deploysleep.exe 30
rem script jonction au domaine samba
powershell c:deployjoin-domain.ps1
goto end

4) Tu peux expliquer comment la machine redémarre ?
Avatar
Pascal
Le 19/09/2012 11:48, Michel__D a écrit :
Bonjour,

Pascal a écrit :
Bonjour,
je rencontre un petit soucis

j'ai mis en place une procédure automatisée pour joindre une machine
windows 7 dans un domaine samba

Il s'agit d'un script batch lancé lui même par une gpo (script au
démarrage)

le script fonctionne bien si ce n'est le dernier goto qui n'est jamais
(ou alors de façon aléatoire) pris en compte

voilà le script

if exist c:deploydomain.txt goto nettoyage
if exist c:deployname.txt goto domaine
if exist c:deploymac.txt goto name

echo "*********************************************************" >>
c:deploymac.txt
echo "Procédure de renommage de la station avec son adresse MAC" >>
c:deploymac.txt
call c:deploywsname.exe /N:$MAC /REBOOT
goto end

:name
ren c:deploymac.txt name.txt
echo
"**********************************************************************"
>> c:deployname.txt
echo "Renommage de la station avec son nom (fichier correspondances
ip/noms)" >> c:deployname.txt
call c:deploywsname.exe /RDF:"c:deployliste.txt" /DFK:$IP /REBOOT
goto end

:domaine
ren c:deployname.txt domain.txt
echo
"**********************************************************************"
>> c:deploydomain.txt
echo "Intégration de la station %ComputerName% dans le domaine
samba_domain " >> c:deploydomain.txt
powershell -command Set-ExecutionPolicy Unrestricted
call c:deploysleep.exe 30
rem script jonction au domaine samba
powershell c:deployjoin-domain.ps1
goto end

:nettoyage
ren c:deploydomain.txt nettoyage.txt
echo
"**********************************************************************"
>> c:deploynettoyage.txt
echo "Nettoyage de la machine " >> c:deploynettoyage.txt
del c:deploywsname.exe /f /Q /S
del c:deploysleep.exe /f /Q /S
del c:deployliste.txt /f /Q /S
del c:deployjoin-domain.ps1 /f /Q /S
del c:deploydomain.txt /f /Q /S
net user user /active:no
net user tmp_iut /active:no
powershell -command Set-ExecutionPolicy Restricted
del c:deploydeploy.bat /f /Q /S

:end



Comment se fait t'il que le label nettoyage ne soit pas pris en compte ?



Si j'ai bien compris ton batch, le déroulement serait :

1) Aucun fichier.txt => exécution de :

echo "*********************************************************" >>
c:deploymac.txt
echo "Procédure de renommage de la station avec son adresse MAC" >>
c:deploymac.txt
call c:deploywsname.exe /N:$MAC /REBOOT
goto end

2) Au reboot, présence du fichier mac.txt => exécution de :

:name
ren c:deploymac.txt name.txt
echo
"**********************************************************************"
>> c:deployname.txt
echo "Renommage de la station avec son nom (fichier correspondances
ip/noms)" >> c:deployname.txt
call c:deploywsname.exe /RDF:"c:deployliste.txt" /DFK:$IP /REBOOT
goto end

3) Au reboot suivant , présence du fichier name.txt => exécution de :

:domaine
ren c:deployname.txt domain.txt
echo
"**********************************************************************"
>> c:deploydomain.txt
echo "Intégration de la station %ComputerName% dans le domaine
samba_domain " >> c:deploydomain.txt
powershell -command Set-ExecutionPolicy Unrestricted
call c:deploysleep.exe 30
rem script jonction au domaine samba
powershell c:deployjoin-domain.ps1
goto end

4) Tu peux expliquer comment la machine redémarre ?


comme indiqué dans le script après chaque action la machine reboot (cf
diverses lignes de commande
Pour le dernier reboot, j'ai oublié de le préciser dans le script
powershell il y a bien un reboot et d'ailleurs la machine reboot bien
Avatar
Pascal
Le 19/09/2012 11:46, Delta Ophiuchus a écrit :
*Bonjour Pascal*, qui a écrit le 19/09/2012 11:13 :

le script fonctionne bien si ce n'est le dernier goto qui n'est jamais
(ou alors de façon aléatoire) pris en compte



rajoute un sleep avec une durée avant et teste.



déjà fait sans succès
merci