Question Envoyer un mail avec PJ

Plus d'informations
il y a 7 mois 3 semaines #29406 par gregmurf
Envoyer un mail avec PJ a été créé par gregmurf
Bonjour à tous,
j'essaie en vain d'envoyer un mail contenant une PJ résultant d'un GCI. Le mail part bien, mais aucune PJ n'est attachée.
Mon script:
[code:1]if (@(Get-ChildItem $lstfiles | Where-Object {$_.CreationTime -gt (Get-Date).Date } | Select-String -Pattern 'ORA-').Count -gt 0)
{ Get-ChildItem $lstfiles | Where-Object {$_.CreationTime -gt (Get-Date).Date } | Select-String -Pattern 'ORA-' |out-file \"C:\xxxxx\file.csv\" -Encoding utf8 | Send-MailMessage -Attachments \"C:\xxxxx\file.csv\" -SmtpServer \"smtpserver\" -from \"sender@domain.com\" -To \"recipient@domain.com\" -subject \"SQL Erreurs\"
} else { Write-Host \"Pas d'erreurs\"
}
[/code:1]
Je sais que ça doit être tout c** mais je ne trouve pas...

Powershell: la vie est belle :)

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

Plus d'informations
il y a 7 mois 3 semaines #29411 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Envoyer un mail avec PJ
Salut,
gregmurf écrit:

Je sais que ça doit être tout c** mais je ne trouve pas...

Bah il faut revenir aux bases, lire la doc par exemple (ceci dit sans méchanceté).
Ton code demande ceci :
[code:1]
|out-file \"C:\xxxxx\file.csv\" -Encoding utf8 | Send-MailMessage
[/code:1]
mais Out-file propose cela :

Outputs

None

Out-File does not generate any output.

Le deux cmdlet ne peuvent pas communiquer, il s'aiment pas :P

Une solution serait de créer un proxy qui émet le nom de fichier, mais avec un proxy je suis curieux de voir si la libération de ressources (côté dotnet) se fait correctement, car le principe du pipeline est d'émettre + objets.
Le plus simple étant de passer par une variable intermédiaire.

Tutoriels PowerShell

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

Plus d'informations
il y a 7 mois 2 semaines #29421 par gregmurf
Réponse de gregmurf sur le sujet Re:Envoyer un mail avec PJ
Pas de soucis.
J'ai coupé mon script en deux: il écrit le fichier. Puis je sors du \"if\" et j'envoi le mail.
Merci

Powershell: la vie est belle :)

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

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