Question Get-WinEvent

Plus d'informations
il y a 9 ans 3 mois #23211 par Ludovic B
Get-WinEvent a été créé par Ludovic B
Bonjour à tous,
voici un léger problème sur la remonté d'information d'un Get-WinEvent .
voici le script :
[code:1]
$dateafter = [DateTime]'01/06/2017 05:00'
$session = New-PSSession -ComputerName xxxxxxx
$result = Invoke-Command -Session $Session -ScriptBlock {
$using:dateafter
# filtrage pour la recherche
$EventLogFilter = @{ logname = 'System'; id = 6009; StartTime = $using:dateafter }
$LogonEvents = (Get-WinEvent -FilterHashtable $EventLogFilter)
$LogonEvents
[int]$nblog = $LogonEvents.count # pour avoir le nombre events
[int]$nblog
}
remove-pssession $session
$result
[/code:1]

Le résultat :
vendredi 6 janvier 2017 05:00:00

TimeCreated : 06/01/2017 07:43:30
ProviderName : EventLog
Id : 6009
Message : Microsoft (R) Windows (R) 6.01. 7601 Service Pack 1 Multiprocessor Free.
PSComputerName : xxxxxx

0

Comment dire ,j'ai bien un event mais le count est de 0 !

PS serveur cible PSversion 2.0
Script ecrit avec SAPIEN PSversion 5.0
merci de votre aide.

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

Plus d'informations
il y a 9 ans 3 mois #23212 par Marc
Réponse de Marc sur le sujet Re:Get-WinEvent
C'est marrant, je suis en train de plancher exactement sur le même comportement mais avec un count sur un CSV:

[code:1]
<#contenue du CSV
1;2
coucou;salut
#>

$tesCSV = Import-Csv 'c:\temp\test.csv' -UseCulture
$testCSV.count # return \"\"
$testCSV | Measure-Object | Select-Object -ExpandProperty count #return 1
[/code:1]

:silly:

Avec Measure-Object le count est OK

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

Plus d'informations
il y a 9 ans 3 mois #23213 par Ludovic B
Réponse de Ludovic B sur le sujet Re:Get-WinEvent
merci marche nickel.
mais pourquoi cela ne fonctionne pas avec le $LogonEvents.count, bug!

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

Plus d'informations
il y a 9 ans 3 mois #23214 par Philippe
Réponse de Philippe sur le sujet Re:Get-WinEvent
ludoob écrit:

mais pourquoi cela ne fonctionne pas avec le $LogonEvents.count, bug!

Laurent Dardenne te l'expliquerais 100 fois mieux que moi !!!
mais pour fais simple, quand tu a aucun ou un seul element dans ta variable et bien ce n'est pas un tableau
et comme ce n'est pas un tableau alors il n'y a pas en autre la propriété \"count\"

après chacun son astuce pour contourner le problème
moi je force un format tableau tu type de la variable

par exemple dans ton cas ta variable est de type \"System.Diagnostics.Eventing.Reader.EventLogRecord\" auquel je rajout \"[]\" pour avoir une réponse de type tableau

[code:1] $LogonEvents = [System.Diagnostics.Eventing.Reader.EventLogRecord[]](Get-WinEvent -FilterHashtable $EventLogFilter)

$LogonEvents.Count
[/code:1]<br><br>Message édité par: 6ratgus, à: 20/02/17 16:45

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

Plus d'informations
il y a 9 ans 3 mois #23215 par xyz
Réponse de xyz sur le sujet Re:Get-WinEvent
Salut,
6ratgus écrit:

Laurent Dardenne te l'expliquerais 100 fois mieux que moi !!!

Non je pense pas, plus détaillé peut être.
Ensuite je n'arrive pas à reproduire le pb.

Si on ne connait pas le type on peut aussi forcer la création d'un tableau avec @( instructions ).
Et depuis la v3 PS ajoute une pseudo propriété .Count à chaque instance d'objet ainsi ce pb ne se pose plus, mais un autre persiste.

Si on modifie la règle de gestion des propriétés le code est en erreur :
[code:1]
$tesCSV.count
#1
set-strictmode -version latest
$tesCSV.count
#The property 'count' cannot be found on this object. Verify that the property exists.
[/code:1]

Ceci dit marcci la variable est mal nommée dans ton code.
J'ajoute le plus souvent possible le @() pour être assuré de tjr recevoir un tableau, du code en plus mais des pb en moins :-)<br><br>Message édité par: Laurent Dardenne, à: 20/02/17 23:43

Tutoriels PowerShell

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

Plus d'informations
il y a 9 ans 3 mois #23216 par Marc
Réponse de Marc sur le sujet Re:Get-WinEvent
Désolé pour la coquille dans mon code :P

Entre @() et measure-object je ne sais pas lequel rajoute le plus de code :laugh:
D'un coté 3 caractères de l'autre une ligne avec des pipe.

Je pense m'orienter vers le @()

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

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