Question Probleme code retour

Plus d'informations
il y a 17 ans 7 mois #2648 par stagepowershell
wouaw a peine arrivé que j'envahi le forum avec mes questions.(blague mise a part)

Mon petit soucis concerne ntbackup ^^

Je fait un script qui lance ntbackup, puis renvoie un code retour si le code est mauvais un je dis probleme et je sort du script.Sinon je continue et j'analyse le log.

Seul gros soucis a l'horizon c'est que le code retour est analysé avant meme que NTBACKUP ait fini la sauvegarde. Du coup errorlevel en erreur du coup fermeture du script et pendant ce temps NTBACKUP tourne toujours^^.
Vous me direz essaye un sleep. Mais rien y fait Si je met un sleep le ntbackup decroche et tourne dans le vide^^
Auriez vous une idée ou même la solution a mes problèmes?

voici le code:
[code:1]
$VLST_PATH2 = \"c:\Documents and Settings\Admsup\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\\"
$VLST_ARGUS = $Args
$BACKUPCOMPLET = \"sauvegarde terminé\"
$ERROR = \"Erreur\"

NTBACKUP.EXE backup systemstate c: d: /J \"Sauvegarde Journaliere\" /v:no /R:no /L:«»s /M normal /RS:yes /HC:on /P \"LTO Ultrium\" /UM

#Verification du statut
$VLDR_STATU = $lastexitcode
echo $VLDR_STATU |out-file \"$VLST_PATH1\MF501-ex16\" -Append

if ($VLDR_STATU -ne '0'){\"traitement interrompu erreur sur ntbackup\" |out-file \"$VLST_PATH1\MF501-ex16\" -Append
break
}else{ \"ntbackup terminee\" |out-file \"$VLST_PATH1\MF501-ex16\" -Append
}

#Recherche du fichier backup dans le dossier data
$VLOB_FRECH = Get-ChildItem -Path \"$VLST_PATH2\" | where {$_.name -like \"backup*.*\"}

if($VLOB_FRECH -eq $null){echo \"Fichier backup non trouvé\" |out-file \"$VLST_PATH1\MF501-ex16\" -Append
break
}else{ echo \"Fichier du jour $VLOB_FRECH\" |out-file \"$VLST_PATH1\jrnexbt16.txt\" }

# Compte le nombre de ligne d'erreur dans le fichier log
$VLOB_BACKUP = (Get-Content $VLOB_FRECH | Select-String -SimpleMatch \"$BACKUPCOMPLET\" | Measure-Object -Line).Lines
$VLOB_RECHER = (Get-Content $VLOB_FRECH | Select-String -SimpleMatch \"$ERROR\" | Measure-Object -Line).Lines

echo \"nombre de ligne backup complet $VLOB_BACKUP\" |out-file \"$VLST_PATH1\MF501-ex16\" -Append

if ($VLOB_RECHER -gt 0) { echo \"Erreur dans l'execution du ntbackup.\"|out-file \"$VLST_PATH1\MF501-ex16\" -Append
break
}else{\"ntbackup terminee avec succes\" |out-file \"$VLST_PATH1\MF501-ex16\" -Append
}


[/code:1]
Merci d'avance pour vos réponses(si il y en a^^)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 7 mois #2659 par daniel soares
Réponse de daniel soares sur le sujet Re:Probleme code retour
je n'ai pas testé ce que je vais te proposer mais je pense que ca peux fonctionner

on utilise system.diagnostics.process
qui te permet de creer un process et donc qui te permet aussi de recuperer pleins de proprietes interessantes sur ce process


[code:1]
$psi = new-object system.diagnostics.processStartInfo
$psi.fileName = \"c:\windows\system32\ntbackup.exe\"
$psi.arguments= \"backup systemstate c: d: /J \"Sauvegarde Journaliere\" /v:no /R:no\"
$psi.loadUserProfile = $false
$psi.useShellExecute = $false
$proc = [system.diagnostics.process]:: start($psi)

[/code:1]

en tapant ensuite $proc | get-member tu trouvera peut etre une propriete qui te donnera l'etat de ton process

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 7 mois #2666 par stagepowershell
Réponse de stagepowershell sur le sujet Re:Probleme code retour
Encore toi a mon secours ;-)

Merci je test de suite.

Walou j'ai testé mais test non concluant je n'ai pas réussi a obtenir la valeur recherché.
J'ai donc décidé de passer par un autre procéder. Deux scripts différés.
Le premier scripts execute mon NTBACKUP
Le second verifiera le contenu avec le nombre d'erreur etc...

Merci tout de même pour ton aide.<br><br>Message édité par: sagara, à: 13/08/08 13:03

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.074 secondes
Propulsé par Kunena