Mon script simple ne marche pas...

Résolu/Fermé
FloFlo - 18 juil. 2017 à 18:10
 FloFlo - 19 juil. 2017 à 17:21
Bonjour,

après moulte recherches, je fait appel à la communauté, j'ai fait un script tout simple et je ne comprend vraiment pas pourquoi powershell n'execute rien...

Les fonctions prisent séparément fonctionnent mais impossible de faire tourner le script!

Merci d'avance pour votre aide
_______________________________________________________
Set-ExecutionPolicy RemoteSigned

$aujourdhui = Get-Date -UFormat "%Y-%m-%d"

$transfer = Get-Content C:\EXPORT_BDD\export_bdd.log –Wait | where {($_ -match “Transfer Done”) -and ($_ -match $aujourdhui)}

if ($transfer -match "exportVin" -and "VISU_APPMILFORM") { Write-Host "Importation OK"} else {Send-MailMessage -From "***@***" -To "***@***" -Subject "Alerte Probleme Importation" -SmtpServer "1xx.16.x.14" -Body "Il semble que les importation n'ont pas eu lieu..."}

Exit-PSSession
_____________________________________________________________


A voir également:

4 réponses

zucrezel Messages postés 30 Date d'inscription mardi 7 février 2017 Statut Membre Dernière intervention 19 juillet 2017 4
18 juil. 2017 à 19:57
Bonjour,

Tu devrais regarder ce que te retourne la variable $transfer (write-host par ex ou en debug) car à mon avis dans le if, elle ne match pas "exportVin" et ne peut pas être en même temps égale à "VISU_APPMILFORM".

Et personnellement j'aurai plutôt utilisé -Select-String et/ou -Pattern pour rechercher les correspondances dans le .log.
0
Bonjour,

merci pour ta réponse

J'ai essayé de faire un write-host sur la variable transfer mais rien ne se passe.

Les fonctions de débogage sont grisées sur mon PowerShell ISE... surement un truc que je fait mal!
0
zucrezel Messages postés 30 Date d'inscription mardi 7 février 2017 Statut Membre Dernière intervention 19 juillet 2017 4
19 juil. 2017 à 17:07
Bonjour,

As-tu placé un point d'arrêt sur une ligne du code avec la touche F9 ? Puis tu lance ton code par F5 et les options de débogages seront accessibles.

Ajoute un write-host de test tout au début du code. Est-ce que cela t'affiche quelque chose ?

Tu lances ton script depuis ton pc et le script est en local sur ton PC ou pas ?
0
bonjour,

merci encore d'avoir pris le temps de vous penchez sur mon problème, je l'ai solutionné de la manière suivante:

Set-ExecutionPolicy RemoteSigned

$aujourdhui = Get-Date -UFormat "%Y-%m-%d"

$transfer = Get-Content C:\EXPORT_BDD\export_bdd.log

$success = $transfer | where {($_ -match “Transfer Done”) -and ($_ -match $aujourdhui)}

if ($success -match "exportVin") { Write-Host "Importation Base OK"} else {Send-MailMessage -From "***@***" -To "***@***" -Subject "Alerte Probleme Importation Base vin" -SmtpServer "1xx.1x.x.14" -Body "Il semble que l'importation de la base vin n'a pas eu lieu..."}

if ($success -match "VISU_APPMILFORM") { Write-Host "Importation Base Stock OK"} else {Send-MailMessage -From "***@***" -To "***@***" -Subject "Alerte Probleme Importation Base Stock" -SmtpServer "1xx.1x.x.14" -Body "Il semble que l'importation de la base stock n'a pas eu lieu..."}

Exit-PSSession
0