Question
Boucle conditionnelle (négation)
- lefevre
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 6 ans 10 mois #28906
par lefevre
Boucle conditionnelle (négation) a été créé par lefevre
Bonjour,
J'utilise ce script afin de faire du monitoring pour WSUS
gallery.technet.microsoft.com/scriptcent...Updates-and-684c355c
Le problème est que je reçois un mail même s'il n'y a pas de mises à jour disponibles.
Je souhaiterais si possible faire en sorte de ne pas envoyer de mail si la variable $totalUpdates est équivalente à 0.
J'ai essayé ceci
[code:1]if ($totalUpdates -eq 0) {
\"c'est ici que je bloque, comment exprimer en Powershell ne pas envoyer de mail en respectant la boucle de la ligne 164 ?\"
}[/code:1]
A quel moment dois-je déclarer cette condition ?
Pouvez-vous m'aider s'il vous plait ?
J'utilise ce script afin de faire du monitoring pour WSUS
gallery.technet.microsoft.com/scriptcent...Updates-and-684c355c
Le problème est que je reçois un mail même s'il n'y a pas de mises à jour disponibles.
Je souhaiterais si possible faire en sorte de ne pas envoyer de mail si la variable $totalUpdates est équivalente à 0.
J'ai essayé ceci
[code:1]if ($totalUpdates -eq 0) {
\"c'est ici que je bloque, comment exprimer en Powershell ne pas envoyer de mail en respectant la boucle de la ligne 164 ?\"
}[/code:1]
A quel moment dois-je déclarer cette condition ?
Pouvez-vous m'aider s'il vous plait ?
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 6 ans 10 mois #28908
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Boucle conditionnelle (négation)
Bonjour,
L'opérateur -eq est l'opérateur d'égalité.
Pour tester le contraire (cad la différence), il faut utiliser l'opérateur -ne (non equal).
Arnaud
L'opérateur -eq est l'opérateur d'égalité.
Pour tester le contraire (cad la différence), il faut utiliser l'opérateur -ne (non equal).
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- lefevre
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 6 ans 10 mois #28909
par lefevre
Réponse de lefevre sur le sujet Re:Boucle conditionnelle (négation)
Merci pour le retour.
J'ai essayé ceci, mais je reçois toujours le mail alors que le nombre de MAJs est équivalent à 0.
[code:1]if ($totalUpdates -ne 0) {
$sendMail = $smtp.Send($msg)
$sendMail = $false
}[/code:1]
Qu'est-ce que je n'ai pas compris ?
Message édité par: llefevre, à: 13/05/19 15:22<br><br>Message édité par: llefevre, à: 13/05/19 15:24
J'ai essayé ceci, mais je reçois toujours le mail alors que le nombre de MAJs est équivalent à 0.
[code:1]if ($totalUpdates -ne 0) {
$sendMail = $smtp.Send($msg)
$sendMail = $false
}[/code:1]
Qu'est-ce que je n'ai pas compris ?
Message édité par: llefevre, à: 13/05/19 15:22<br><br>Message édité par: llefevre, à: 13/05/19 15:24
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 6 ans 10 mois #28910
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Boucle conditionnelle (négation)
Il faudrait que tu nous montres le contenu de ta variable $totalUpdates...
Sinon, essaie ceci (avec .count):
[code:1]if ($totalUpdates.count -ne 0) {
$sendMail = $smtp.Send($msg)
$sendMail = $false
}
[/code:1]
Sinon, essaie ceci (avec .count):
[code:1]if ($totalUpdates.count -ne 0) {
$sendMail = $smtp.Send($msg)
$sendMail = $false
}
[/code:1]
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- lefevre
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 6 ans 10 mois #28911
par lefevre
Réponse de lefevre sur le sujet Re:Boucle conditionnelle (négation)
Voici le contenu des variables $totalUpdates et $SearchResult
[code:1]$totalUpdates = $($SearchResult.updates.count)
$SearchResult = $UpdateSearcher.Search(\"IsAssigned=1 and IsHidden=0 and IsInstalled=0\"«»)[/code:1]
J'ai essayé avec \"$totalUpdates.count\", cela ne fonctionne pas.
[code:1]$totalUpdates = $($SearchResult.updates.count)
$SearchResult = $UpdateSearcher.Search(\"IsAssigned=1 and IsHidden=0 and IsInstalled=0\"«»)[/code:1]
J'ai essayé avec \"$totalUpdates.count\", cela ne fonctionne pas.
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 6 ans 10 mois #28913
par Philippe
Réponse de Philippe sur le sujet Re:Boucle conditionnelle (négation)
salut
j'ai fait des tests $totalUpdates contient bien un entier (int32)
donc un if ($totalUpdates) suffit pour que ça matche
pour plus de tranquillité tu peux garder if ($totalUpdates -ne 0)
ton probleme est peut etre ailleurs !!
une chose : ça marche avec $totalUpdates seulement si tu a un seul ordi a surveilllé sinon c'est l'etat du dernier ordi qui décide !!
il te faut créé une variable supplementaire qui cumul les erreur pour tous les serveurs !<br><br>Message édité par: 6ratgus, à: 14/05/19 09:33
j'ai fait des tests $totalUpdates contient bien un entier (int32)
donc un if ($totalUpdates) suffit pour que ça matche
pour plus de tranquillité tu peux garder if ($totalUpdates -ne 0)
ton probleme est peut etre ailleurs !!
une chose : ça marche avec $totalUpdates seulement si tu a un seul ordi a surveilllé sinon c'est l'etat du dernier ordi qui décide !!
il te faut créé une variable supplementaire qui cumul les erreur pour tous les serveurs !<br><br>Message édité par: 6ratgus, à: 14/05/19 09:33
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.046 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Boucle conditionnelle (négation)