Question [Résolu] Script de Sauvegarde

Plus d'informations
il y a 8 ans 4 mois #24515 par Thomas
Réponse de Thomas sur le sujet Re:Script de Sauvegarde
Ce problème vient d'être réglé, un collègue nous a proposé de tester comme ça :

[code:1]function Copie
{
$num = 1

chcp 1252 | Out-Null

$log = \"$path\backup$Date_ajd.log\"
robocopy \"$inclu1\" \"$dest1\" /MIR /Z /r:1 /w:1 /FFT /NP /XO /log:$log | Out-Null
$lastlog1 = $LASTEXITCODE
$contenu = Affiche_Erreur $lastlog1 $inclu1 $dest1

robocopy \"$inclu2\" \"$dest1\" /MIR /Z /r:1 /w:1 /FFT /NP /XO /log+:$log | Out-Null
$lastlog2 = $LASTEXITCODE
$contenu = Affiche_Erreur $lastlog2 $inclu2 $dest1

robocopy \"$inclu3\" \"$dest1\" /MIR /Z /r:1 /w:1 /FFT /NP /XO /log+:$log | Out-Null
$lastlog3 = $LASTEXITCODE
$contenu = Affiche_Erreur $lastlog3 $inclu3 $dest1

robocopy \"$inclu4\" \"$dest1\" /MIR /Z /r:1 /w:1 /FFT /NP /XO /log+:$log | Out-Null
$lastlog4 = $LASTEXITCODE
$contenu = Affiche_Erreur $lastlog4 $inclu4 $dest1

robocopy \"$inclu5\" \"$dest1\" /MIR /Z /r:1 /w:1 /FFT /NP /XO /log+:$log | Out-Null
$lastlog5 = $LASTEXITCODE
$contenu = Affiche_Erreur $lastlog5 $inclu5 $dest1

robocopy \"$inclu6\" \"$dest1\" /MIR /Z /r:1 /w:1 /FFT /NP /XO /log+:$log | Out-Null
$lastlog6 = $LASTEXITCODE
$contenu = Affiche_Erreur $lastlog6 $inclu6 $dest1

robocopy \"$inclu7\" \"$dest1\" /MIR /Z /r:1 /w:1 /FFT /NP /XO /log+:$log | Out-Null
$lastlog7 = $LASTEXITCODE
$contenu = Affiche_Erreur $lastlog7 $inclu7 $dest1

robocopy \"$inclu8\" \"$dest1\" /MIR /Z /r:1 /w:1 /FFT /NP /XO /log+:$log | Out-Null
$lastlog8 = $LASTEXITCODE
$contenu = Affiche_Erreur $lastlog8 $inclu8 $dest1

robocopy \"$inclu9\" \"$dest1\" /MIR /Z /r:1 /w:1 /FFT /NP /XO /log+:$log | Out-Null
$lastlog9 = $LASTEXITCODE
$contenu = Affiche_Erreur $lastlog9 $inclu9 $dest1

robocopy \"$inclu10\" \"$dest1\" /MIR /Z /r:1 /w:1 /FFT /NP /XO /log+:$log | Out-Null
$lastlog10 = $LASTEXITCODE
$contenu = Affiche_Erreur $lastlog10 $inclu10 $dest1
return $contenu
}[/code:1]

En rajoutant | Out-Null nos sorties non voulues s'en vont effectivement.
Ne reste plus qu'à optimiser tout ça, si vous avez quelconque conseil d'optimisation du code, je suis preneur (je rajouterais pas mal de commentaires par la même occasion)

Edit: En fait, je vais voir de mon côté en plus, mais je dois faire une détection automatique du lecteur externe où la sauvegarde sera faîte, imaginons que nous mettions un disque dur externe quelconque, nous devons détecter le chemin automatiquement de destination.<br><br>Message édité par: Naumisa, à: 15/11/17 15:36

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

Plus d'informations
il y a 8 ans 4 mois #24517 par Philippe
Réponse de Philippe sur le sujet Re:Script de Sauvegarde
salut Naumisa

Ne reste plus qu'à optimiser tout ça, si vous avez quelconque conseil d'optimisation du code, je suis preneur (je rajouterais pas mal de commentaires par la même occasion)

un début de piste optimisation :

[code:1]function Copie {
$num = 1

chcp 1252 | Out-Null

$log = \&quot;$path\backup$Date_ajd.log\&quot;

$contenu = \&quot;\&quot;
$inclu1, $inclu2, $inclu3, $inclu4, $inclu5, $inclu6, $inclu7, $inclu8, $inclu9, $inclu10 | foreach {
$lastlog = $null
robocopy \&quot;$_\&quot; \&quot;$dest1\&quot; /MIR /Z /r:1 /w:1 /FFT /NP /XO /log+:$log | Out-Null
$lastlog = $LASTEXITCODE
$contenu += Affiche_Erreur $lastlog $_ $dest1
}
return $contenu
}
[/code:1]

En fait, je vais voir de mon côté en plus, mais je dois faire une détection automatique du lecteur externe où la sauvegarde sera faîte, imaginons que nous mettions un disque dur externe quelconque, nous devons détecter le chemin automatiquement de destination.

un autre début de piste prendre le type 2

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

Plus d'informations
il y a 8 ans 4 mois #24518 par Thomas
Réponse de Thomas sur le sujet Re:Script de Sauvegarde
Bonjour 6ratgus

Merci de votre aide, mais avec votre fonction Copie, je me retrouve avec ça en sortie '-'
D'ailleurs, je me suis rendu compte que mon $num était comme qui dirait inutile x')

[code:1]C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
=&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
C:\Users\tw18803\Desktop\Thomas\Projet PowerShell =&gt; D: = Erreur fatale lors de l'opération. Voir fichier de Log.
...[/code:1]

Autrement, je vous remercie de votre piste, je me penche dessus pour voir comment faire :)

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

Plus d'informations
il y a 8 ans 4 mois #24519 par Thomas
Réponse de Thomas sur le sujet Re:Script de Sauvegarde
Voilà, donc pour la détection du lecteur, étant donné que nous aurons un nom de disque précis, j'ai réussi à obtenir le résultat via cette manière :

[code:1]$lecteur = Get-Volume | Where { $_.FileSystemLabel –eq ‘SAUV_SSIG075’ }
$dest1 = $lecteur.DriveLetter
$dest1 += \&quot;:\&quot;[/code:1]

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

Plus d'informations
il y a 8 ans 4 mois #24522 par Thomas
Réponse de Thomas sur le sujet Re:Script de Sauvegarde
Bon, maintenant, la question est comment démonter un disque dur après avoir fini ?

Ce code :

[code:1]$volume = get-wmiobject -Class Win32_Volume | where{$_.label -eq 'USB'}
$Eject = New-Object -comObject Shell.Application
$Eject.NameSpace(17).ParseName($volume.driveletter).InvokeVerb(“Eject”)[/code:1]

N'éjecte uniquement les Clés USB, et non le Disque Dur externe.

J'avais testé de cette manière sinon :

[code:1]$path = \&quot;C:\Users\tw18803\Desktop\Thomas\Projet PowerShell\diskpart.txt\&quot;

INITIALIZE-USBBOOT
DISKPART /S $path[/code:1]

Avec comme fichier diskpart.txt:

[code:1]SELECT VOLUME H
REMOVE[/code:1]

Ce qui fonctionne mais qui empêche la réattribution automatique d'une lettre sur n'importe quel ordinateur...

Auriez-vous une autre méthode à me conseiller ?

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

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