J'utilise Powershell 4 et j'essaie d'analyser un journal d'événements archivés dans un fichier csv qui contient toutes les données et qui contient des en-têtes associés. Le plus proche que je suis en mesure de venir est en utilisant la commande suivante:Powershell analyse get-winevent dans csv avec en-têtes y compris tous les objets enfants
Get-WinEvent -Path .\Security.evtx |Select-Object TimeCreated, ProviderName, Id, Message, Level, Keyword, UserID, Data, Subject, SubjectUserSid, SubjectUserName, SubjectLogonId, ComputerName | Export-Csv .\Logging.csv
Cela me donne toutes les informations d'en-tête pour tous les champs dans le fichier csv, mais les seuls champs qui contiennent des données sont TimeCreated, ProviderName, ID, Level, & Message. J'essaie d'obtenir aussi les données manquantes dans les colonnes mais ne réussissant pas. Alors qu'est-ce que je fais mal ici?
Content de vous voir trouvé une solution. Pourriez-vous copier cela à une réponse pour votre propre question et marquer comme la réponse acceptée; De cette façon, cette question sera signalée comme résolue. Merci d'avance. – JohnLBevan
J'aurais supposé '' | Select-Object -Property * 'aurait fait l'affaire –
' | L'objet Select-Object -Property * 'ne le ferait pas car vous pourriez également rediriger les objets concernés (qui contiennent des propriétés avec plusieurs lignes, y compris les nouveaux caractères de ligne comme' Carriage Return' et 'Line Feed') vers un autre objet supportant * plusieurs champs de ligne (pensez aux cmdlets comme '| Out-GridView',' | ConvertTo-JSON' ou presque n'importe quelle autre fonction ou cmdlet). ** Les fichiers CSV ** ne prennent pas en charge les champs multilignes en raison de leur format de texte brut. – iRon