Question
Sortir vers fichier
- lafont
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
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
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 6 mois #5287
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Sortir vers fichier
Salut,
steflaf écrit:
Sinon il te faut libérer explicitement l'objet $attachement.
steflaf écrit:
Tu peux utiliser simplement la redirection.Je souhaite que les résultats aillent dans le fichier \"test\" puis que ce fichier soit envoyé en pièce jointe.
Sinon il te faut libérer explicitement l'objet $attachement.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- lafont
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 16 ans 6 mois #5288
par lafont
Réponse de lafont sur le sujet Re:Sortir vers fichier
Laurent Dardenne écrit:
Ou positionner cette redirection ?
Bonjour, merci pour ta réponse mais cela n'est pas tes clair pour moi....Salut,
steflaf écrit:Tu peux utiliser simplement la redirection.Je souhaite que les résultats aillent dans le fichier \"test\" puis que ce fichier soit envoyé en pièce jointe.
Sinon il te faut libérer explicitement l'objet $attachement.
Ou positionner cette redirection ?
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 6 mois #5289
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Sortir vers fichier
steflaf écrit:
[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]
comme ceci :Ou positionner cette redirection ?
[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.
- lafont
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
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.
- lafont
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 16 ans 6 mois #5293
par lafont
Réponse de lafont sur le sujet Re:Sortir vers fichier
Laurent Dardenne écrit:
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...
steflaf écrit:
comme ceci :Ou positionner cette redirection ?
[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.051 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Sortir vers fichier