Question Sortir vers fichier

Plus d'informations
il y a 16 ans 6 mois #5286 par lafont
Sortir vers fichier a été créé par lafont
Bonjour,

je me lance depuis peu dans la création de script via Powershell. J'ai utilisé certain scripts présent dans la bibliothèque afin de répondre à mes besoins.
Il me fallait un script capable d'analyser l'espace restant sur un disque. J'ai ainsi utiliser les trois versions présentes dans la bibliothèque. Par contre j'ai essayé diverses solutions afin d'exporter le résultat dans un fichier texte via \"out-file\".
Pouvez-vous me donner la meilleure syntaxe possible en sachant que le premier script (celui avec la boucle foreach):

# Script calculant la memoire libre de chaque disque logique

#création du fichier
$file = new-item \"c:\temp\test.txt\" -force -itemType File

#création de l'instance de l'objet WMI
$elements = get-WmiObject Win32_LogicalDisk
$taille_totale = 0 # initialisation de la variable

# boucle pour parcourir tous les disques
foreach ( $disque in $elements ) {
# calul de la taille en Giga octet
$taille = $disque.freespace / (1024*1024*1024)
$taille = [math]::round($taille, 1) # Arrondi la taille à 1 décimale

$nom=$disque.Name
$taille_totale = $taille_totale + $taille

write-host \"Le disque :$nom a $taille Go de disponible\"
}

write-host \"Taille disponible cumulée = $taille_totale Go\"

# Traitement du mail
$expediteur = \" test\"
$destinataire = \" stephane.lafont@anstel.com\"
$serveur = \"test\"
$fichier = \"c:\temp\test.txt\"
$objet = \"Monitoring disques \" + [System.DateTime]::Now
$texte = \"Bonjour, veuillez trouver ci-joint l'état des disques\"

$message = new-object System.Net.Mail.MailMessage $expediteur, $destinataire, $objet, $texte

$attachment = new-object System.Net.Mail.Attachment $fichier
$message.Attachments.Add($attachment)
$client = new-object System.Net.Mail.SmtpClient $serveur
$client.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials

$client.Send($message)

Je souhaite que les résultats aillent dans le fichier \"test\" puis que ce fichier soit envoyé en pièce jointe.

Merci de votre aide !
Stephane

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

Plus d'informations
il y a 16 ans 6 mois #5287 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Sortir vers fichier
Salut,
steflaf écrit:

Je souhaite que les résultats aillent dans le fichier \"test\" puis que ce fichier soit envoyé en pièce jointe.

Tu peux utiliser simplement la redirection.
Sinon il te faut libérer explicitement l'objet $attachement.

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 6 mois #5288 par lafont
Réponse de lafont sur le sujet Re:Sortir vers fichier
Laurent Dardenne écrit:

Salut,
steflaf écrit:

Je souhaite que les résultats aillent dans le fichier \"test\" puis que ce fichier soit envoyé en pièce jointe.

Tu peux utiliser simplement la redirection.
Sinon il te faut libérer explicitement l'objet $attachement.

Bonjour, merci pour ta réponse mais cela n'est pas tes clair pour moi....

Ou positionner cette redirection ?

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

Plus d'informations
il y a 16 ans 6 mois #5289 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Sortir vers fichier
steflaf écrit:

Ou positionner cette redirection ?

comme ceci :
[code:1]
#ajoute au fichier $file
\"Le disque :$nom a $taille Go de disponible\" >> $file[/code:1]
Ou avec Out-File
[code:1]
\"Le disque :$nom a $taille Go de disponible\"|out-file $file.Fullname -append
[/code:1]
Pour avoir en plus l'affichage :
[code:1]
\"Le disque :$nom a $taille Go de disponible\"|
Foreach-object {Write-host $_;$_}|
out-file $file.Fullname -append
[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 6 mois #5291 par lafont
Réponse de lafont sur le sujet Re:Sortir vers fichier
Ok super et merci

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

Plus d'informations
il y a 16 ans 6 mois #5293 par lafont
Réponse de lafont sur le sujet Re:Sortir vers fichier
Laurent Dardenne écrit:

steflaf écrit:

Ou positionner cette redirection ?

comme ceci :
[code:1]
#ajoute au fichier $file
\"Le disque :$nom a $taille Go de disponible\" >> $file[/code:1]
Ou avec Out-File
[code:1]
\"Le disque :$nom a $taille Go de disponible\"|out-file $file.Fullname -append
[/code:1]
Pour avoir en plus l'affichage :
[code:1]
\"Le disque :$nom a $taille Go de disponible\"|
Foreach-object {Write-host $_;$_}|
out-file $file.Fullname -append
[/code:1]


Juste encore une petite question :
Mon fichier est construit de la sorte :
$file = new-item \"C:\Script\test9.txt\" -type file -force
OR a chaque fois que je lance mon script on m'indique que le fichier est déjà utiliser par un processus. Une idée ? Je pensais que la paramètre -force réglait le problème...

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

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