Log de batch

Fermé
vibe95110 Messages postés 73 Date d'inscription lundi 4 avril 2005 Statut Membre Dernière intervention 15 décembre 2009 - 29 juil. 2009 à 13:03
vibe95110 Messages postés 73 Date d'inscription lundi 4 avril 2005 Statut Membre Dernière intervention 15 décembre 2009 - 30 juil. 2009 à 14:10
Bonjour,

Je suis responsable de la section migration d'une grande société qui fusionne avec une autre, j'ai créer un script me permettant de sauvegarder les profils des postes, les dossiers spécifiques, tous les transferts sont loggé dans un répertoire unique a chaque machine et utilisateur.

Pourriez vous m'aider pour me dire comment faire pour répertorier dans un autre répertoire par example "error" les postes qui ne réponde pas, ou si ya des erreurs quel aille automatiquement dans le fichier log, mais avec un fichier spécifique a chaque machine.


Merci d'avance, je reste a votre dispo pour résoudre le problème.

Vincent
A voir également:

4 réponses

vibe95110 Messages postés 73 Date d'inscription lundi 4 avril 2005 Statut Membre Dernière intervention 15 décembre 2009 3
29 juil. 2009 à 13:43
Bonjour,

Personne n'a une idée?

merci
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
29 juil. 2009 à 14:01
Salut,
je sais pas si cela peut repondre à ton prb, mais tu peux créer une variable et faire des test avec test: if ERRORLEVEL
set log_error=logerror%COMPUTERNAME%.txt
set patherror=c:\un_chemin
cd %patherror%
mkdir logError%COMPUTERNAME%
cd logError%COMPUTERNAME%
echo error>>%log_error%
@+
0
vibe95110 Messages postés 73 Date d'inscription lundi 4 avril 2005 Statut Membre Dernière intervention 15 décembre 2009 3
29 juil. 2009 à 14:17
Merci de ta réponse j'ai essayer de l'integrer, mais il m'indique command invalid

Je t'envoie ci dessous mon script complet, j'ai retirer les mots de passe des net use volontairement...
Comme tu pourra le remarquer chaque robocopy a sa log, mais j'ai comme contrainte dans une log erreur :
- Indiquer si une machine n'a pas été migrer (j'ai 350postes)
- Indiquer si le nom d'utilisateur n'existe pas sur la machine
- et enfin si un répertoire n'y ai pas l'inscrire aussi dans la log erreur.

Je rappel que c'est une fusion et que le script doit être universal au 2 société.

Merci


@echo off
cls
rem Configuration des variables globales
SETLOCAL
Set PC=%1
Set User=%2
Set BackupFolder="Z:\machine"
Set Racine="Z:\ProfileBackup\Backup"
Set log="Z:\machine\log\%user%-%pc%"
echo Poste courant: %PC%
echo Utilisateur courant: %User%
title %PC%:%User%
if exist \\%1\c$\windows Set WindowsFolder=windows


echo Supprimer les anciens profils (de plus de 30 jours)
delprof /q /i /c:\\%PC% /d:30
echo ...

echo Connection X: sur \\137.3.0.53\Perso
Net use m: \\137.3.0.53\Perso /user:
echo Connection V: sur \\%PC%\c$
Net use v: \\%PC%\c$ /user:

echo Utilisateur courant: %User%
echo Copie des fichiers nécessaires à la sauvegarde de registre ...
echo ...
copy /y /z kix32.exe \\%PC%\c$\%WindowsFolder%\system32\kix32.exe
copy /y /z kx32.dll \\%PC%\c$\%WindowsFolder%\system32\kx32.dll
copy /y /z savePC.kix \\%PC%\c$\%WindowsFolder%\system32\savePC.kix
copy /y /z DelTempFiles.vbs \\%PC%\c$\%WindowsFolder%\system32\DelTempFiles.vbs
copy /y /z saveProfile.bat \\%PC%\c$\%WindowsFolder%\system32\saveProfile.bat
copy /y /z savePST.bat \\%PC%\c$\%WindowsFolder%\system32\savePST.bat
echo ...

echo Supprimer les fichiers temporaires et d'exécuter un profil de sauvegarde du Registre sur l'ordinateur distant ...
echo ...
psexec \\%PC% -d -s "c:\windows\system32\saveProfile.bat"
echo ...

echo Copie de fichiers du Profils %User% sur le poste %PC%
echo ...
md %BackupFolder%\%PC%
md %log%
REM !!! PAS DE /SEC !!!
Robocopy "\\%1\c$\Documents and settings\%user%\Mes documents" "%BackupFolder%\%1\C\Documents and Settings\%user%\Mes documents" /s /e /ETA /r:0 /XF "*.tmp" "*.mp3" "*.mp4" "*.avi" /log+:"%log%\Mes documents.log" /NP /V
Robocopy "\\%1\c$\NWLS" "%BackupFolder%\%1\C\NWLS" /s /e /ETA /r:0 /XF "*.tmp" "*.mp3" "*.mp4" "*.avi" /MIR /log+:"%log%\NWLS.log" /NP /v
Robocopy "\\%1\c$\Documents and settings\%user%\Favoris" "%BackupFolder%\%1\C\Documents and Settings\%user%\Favoris" /s /e /ETA /r:0 /XF "*.tmp" "*.mp3" "*.mp4" "*.avi" /MIR /log+:"%log%\Favoris.log" /NP /v
Robocopy "\\%1\c$\Documents and settings\%user%\bureau" "%BackupFolder%\%1\C\Documents and Settings\%user%\bureau" /s /e /ETA /r:0 /XF "*.tmp" "*.mp3" "*.mp4" "*.avi" /MIR /log+:"%log%\bureau.log" /NP /v
Robocopy "\\%1\c$\Documents and settings\%user%\Application Data\Microsoft\Épreuve" "%BackupFolder%\%1\C\Documents and Settings\%user%\Application Data\Microsoft\Épreuve" /s /e /ETA /r:0 /XF "*.tmp" "*.mp3" "*.mp4" "*.avi" /MIR  /log+:"%log%\dictionnaire.log" /NP /v


ENDLOCAL

Net use m: /delete
Net use v: /delete

echo Nous venons de terminer de charger tous les profils utilisateur à partir de %PC%
echo Vérifiez que tous les fichiers sont présents dans le répertoire de sauvegarde
echo Essayez de charger les fichiers de sauvegarde à l'utilisateur du système après installation informatique
pause
0
vibe95110 Messages postés 73 Date d'inscription lundi 4 avril 2005 Statut Membre Dernière intervention 15 décembre 2009 3
30 juil. 2009 à 14:10
J'ai trouvé une solution qui est presque fini :

@echo off
cls
rem Configuration des variables globales
SETLOCAL
Set PC=%1
Set User=%2
Set BackupFolder="Z:\machine"
Set Racine="Z:\ProfileBackup\Backup"
Set log="Z:\machine\log\%user%-%pc%"
set logerror="z:\machine\log\_error\"
echo Poste courant: %PC%
echo Utilisateur courant: %User%
title %PC%:%User%
if exist \\%1\c$\windows Set WindowsFolder=windows

rem echo Supprimer les anciens profils (de plus de 30 jours)
rem delprof /q /i /c:\\%PC% /d:30
rem echo ...

echo Connection X: sur \\137.3.0.53\Perso
Net use m: \\137.3.0.53\Perso /user:
echo Connection V: sur \\%PC%\c$
Net use v: \\%PC%\c$ /user:

echo Utilisateur courant: %User%
echo Copie des fichiers n‚ss‚ssaires … la sauvegarde de registre ...
echo ...
copy /y /z kix32.exe \\%PC%\c$\%WindowsFolder%\system32\kix32.exe
copy /y /z kx32.dll \\%PC%\c$\%WindowsFolder%\system32\kx32.dll
copy /y /z savePC.kix \\%PC%\c$\%WindowsFolder%\system32\savePC.kix
copy /y /z DelTempFiles.vbs \\%PC%\c$\%WindowsFolder%\system32\DelTempFiles.vbs
copy /y /z saveProfile.bat \\%PC%\c$\%WindowsFolder%\system32\saveProfile.bat
copy /y /z savePST.bat \\%PC%\c$\%WindowsFolder%\system32\savePST.bat
echo ...

echo Supprimer les fichiers temporaires et d'ex‚cuter un profil de sauvegarde du Registre sur l'ordinateur distant ...
echo ...
psexec \\%PC% -d -s "c:\windows\system32\saveProfile.bat"

echo lancement de la recherche et Synchronisation des fichier *.pst
echo...
psexec \\%PC% -d -s "c:\windows\system32\savePST.bat"

echo Copie de fichiers du Profils %User% sur le poste %PC%
echo ...
md %BackupFolder%\%PC%
md %log%
REM !!! PAS DE /SEC !!!

Set erreur=Doc
set erreur2=%log%\Mes documents.log
Robocopy "\\%1\c$\Documents and settings\%user%\Mes documents" "%BackupFolder%\%1\C\Documents and Settings\%user%\Mes documents" /s /e /ETA /r:0 /XF "*.tmp" "*.mp3" "*.mp4" "*.avi" /log+:"%log%\Mes documents.log" /NP /V
if errorlevel 1 goto test
:Doc

Set erreur=NWLS
set erreur2=%log%\NWLS.log
Robocopy "\\%1\c$\NWLS" "%BackupFolder%\%1\C\NWLS" /s /e /ETA /r:0 /XF "*.tmp" "*.mp3" "*.mp4" "*.avi" /MIR /log+:"%log%\NWLS.log" /NP /v
if errorlevel 1 goto test
:NWLS

Set erreur=Favoris
set erreur2=%log%\Favoris.log
Robocopy "\\%1\c$\Documents and settings\%user%\Favoris" "%BackupFolder%\%1\C\Documents and Settings\%user%\Favoris" /s /e /ETA /r:0 /XF "*.tmp" "*.mp3" "*.mp4" "*.avi" /MIR /log+:"%log%\Favoris.log" /NP /v
if errorlevel 1 goto test
:Favoris

Set erreur=bureau
set erreur2=%log%\Bureau.log
Robocopy "\\%1\c$\Documents and settings\%user%\bureau" "%BackupFolder%\%1\C\Documents and Settings\%user%\bureau" /s /e /ETA /r:0 /XF "*.tmp" "*.mp3" "*.mp4" "*.avi" /MIR /log+:"%log%\bureau.log" /NP /v
if errorlevel 1 goto test
:bureau


Set erreur=AppData
set erreur2=%log%\dictionnaire.log
Robocopy "\\%1\c$\Documents and settings\%user%\Application Data\Microsoft\‚preuve" "%BackupFolder%\%1\C\Documents and Settings\%user%\Application Data\Microsoft\‚preuve" /s /e /ETA /r:0 /XF "*.tmp" "*.mp3" "*.mp4" "*.avi" /MIR  /log+:"%log%\dictionnaire.log" /NP /v
if errorlevel 1 goto test
:AppData

ENDLOCAL

Net use m: /delete
Net use v: /delete

echo Nous venons de terminer de charger tous les profils utilisateur … partir de %PC%
echo V‚rifiez que tous les fichiers sont pr‚sents dans le r‚pertoire de sauvegarde
echo Essayez de charger les fichiers de sauvegarde de l'utilisateur du systŠme aprŠs installation informatique
pause

goto fin
:test
echo Passage dans le test avec  Error: %errorlevel% PC:%PC% Erreur:%erreur% Erreur2:%erreur2%
if errorlevel 53 echo %erreur2% Chemin reseau introuvable >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 16 echo %erreur2% ***FATAL ERROR*** >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 15 echo %erreur2% FAIL MISM XTRA COPY >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 14 echo %erreur2% FAIL MISM XTRA >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 13 echo %erreur2% FAIL MISM COPY >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 12 echo %erreur2% FAIL MISM >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 11 echo %erreur2% FAIL XTRA COPY >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 10 echo %erreur2% FAIL XTRA >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 9 echo %erreur2% FAIL COPY >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 8 echo %erreur2% FAIL >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 7 echo %erreur2% MISM XTRA COPY >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 6 echo %erreur2% MISM XTRA >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 5 echo %erreur2% MISM COPY >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 4 echo %erreur2% MISM >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 3 echo %erreur2% XTRA COPY >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 2 echo %erreur2% XTRA >>%logerror%\%PC%-erreur.txt & goto %erreur%
if errorlevel 1 echo %erreur2% COPY SUCCESSFUL >>%logerror%\%PC%-OK.txt & goto %erreur%
if errorlevel 0 echo %erreur2% NO CHANGE >>%logerror%\%PC%-erreur.txt & goto %erreur%
Echo Erreur dans le script !
pause
0