Question Get-WmiObject et spam ouverture session

Plus d'informations
il y a 7 ans 2 semaines #23294 par Leloup
Bonjour,

J'ai fait un script qui permet d'avoir une vue de tout les services critiques de tous mon parque de serveur ainsi que toutes les partitions de moins de 1 Go.

Le problème est le suivant:
Je lance mon script, et à partir de ce moment là jusqu’à 10-15 minutes après la fermeture de mon script j'ai un spamm d'ouverture de session du journal de sécurité de windows j'en compte entre 50 et 150 parfois.

Je lance ce script en ISE, donc je pense qu'il y à un liens persistant entre mon script et mes serveur.

Je n'ai pas le droit de donner l'intégralité de mon script vu qu'il appartient à ma boîte, cela dit voici, je pense les lignes qui poses problèmes:

[code:1]Write-Host \" - Récupération (WMI) des services sur les serveurs joignables...\"
$GetServices = Get-WmiObject -class Win32_Service -asjob -throttlelimit 4 -cn $ServeurJoingable.nom
Write-Host \" - En attente des resultats...\"
Start-Sleep -Seconds 10
$i = 0
$WaitJob = $GetServices.ChildJobs | where {$_.State -ne \"Completed\"}
while($WaitJob)
{
$WaitJob = $GetServices.ChildJobs | where {$_.State -ne \"Completed\"}
if ($WaitJob)
{
Write-Host \"En attente de la réponse des serveurs suivant: \"
$WaitJob
}
else
{
Write-Host \"Toutes les réponses ont été reçus....\"
break
}
$i++
if ($i -gt 5)
{
Write-Host \"Le(s) serveur(s) suivant's) met(tent) trop de temps à répondre, arrêt des requête(s):\"
$WaitJob.Location
Get-Job | Stop-Job
break
}
Start-Sleep -Seconds 5
}
Write-Host \"Informations WMI recupérées...\"[/code:1]

J'ai essayer avec un $GetServices = $null ou Get-Variable | Remove-Variable mais j'ai toujours ce spam dans le journal sécurité d'event 576,540 ou 538 (logon/logoff).

Avez-vous une idée?

Merci.

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

Plus d'informations
il y a 7 ans 2 semaines #23296 par Arnaud Petitjean
Hello !

Déjà je te conseille d'éviter PowerShell ISE pour tester des scripts tels que celui-là. En effet, au final ton script sera lancé via PowerShell.exe, le plus souvent par une tâche planifiée. Donc autant commencer par là. D'autant plus que parfois ISE ne produit pas les résultats attendus car tu peux te faire polluer ton étendue courante par les autres onglets (je sais pas si je suis clair ? :blink: ).

Ensuite, je ne sais pas pourquoi tu te fais spammer ton journal. Toujours est-il que pourquoi ne pas essayer autrement qu'avec WMI pour récupérer tes infos ? (même si je doute que ton problème vienne de là).
Tu peux utiliser, soit : Get-Service, soit Get-Service en mode PSRemoting via Invoke-Command.

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.

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