Question Exporter le résultat d'un script Write-Host

Plus d'informations
il y a 4 ans 3 mois #29565 par Pierre_oum90
Bonjour,

J'ai crée un script PowerShell permettant de récupérer les connexions sur des serveurs Citrix (le nom d'utilisateur et la date de connexion).

Voici le code :

[code:1]Get-WinEvent -MaxEvents 10 -FilterHashtable @{LogName = 'Application'

ID = 1}| Select-Object -Property Message, TimeCreated |ForEach-Object {
$Message = $_.Message
$TimeCreated=$_.TimeCreated

if( $Message.Contains(\"Nomdudomaine\"«»)) {
$Length = ($Message.ToCharArray() | Where-Object {$_} | Measure-Object).Count
$Message = $_
Write-Host $TimeCreated.ToString() $Message.Message.Substring(45, $Length - 47)

}}

[/code:1]

Cela fonctionne parfaitement ainsi, le problème est que j'aimerai maintenant exporter ces résultats dans un fichier .Txt ou un .Csv, or j'ai essayé en vain la fonction Export-Csv (qui génére un fichier .Csv vide).

Quelqu'un aurait une idée pour pouvoir me permettre d'exporter facilement mes résultats ?

Merci d'avance :)<br><br>Message édité par: Pierre_oum90, à: 18/12/19 12:11

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

Plus d'informations
il y a 4 ans 3 mois #29566 par Troxsa
Bonjour,

ou pouvez faire

[code:1]Write-Output $TimeCreated.ToString() $Message.Message.Substring(45, $Length - 47) | Out-File .\toto2.txt -Append[/code:1]

Votre chaine n'est pas une chaine de type string la mise en en forme ne va pas être top

Votre bout de script est a mon gout trop encapsuler vous devriez le faire en le décomposant un peut plus
attention a la redéfinition des variables cela pourrais avoir des problèmes de traitement ou avoir des relectures difficile

voila comment j'aurais fait

[code:1] $Event = Get-WinEvent -MaxEvents 10 -FilterHashtable @{ LogName = 'Application'; ID = 1} | Select-Object -Property Message, TimeCreated

$OutFileLog = @()
$Event | % {
$Message = $_.Message
$TimeCreated=$_.TimeCreated

if( $Message.Contains(\&quot;DomaineGroup\&quot;«»))
{
#Write-Output $TimeCreated.ToString() $Message.Substring(45, ($Message.Length) - 47) | Out-File .\toto2.txt -Append

$OutFileLog += [pscustomobject]@{
TimeCreated = $TimeCreated.ToString()
Message = $Message.Substring(45, ($Message.Length) - 47)
}
}
}

$OutFileLog | Export-Csv .\outfile.csv -Encoding Default -NoTypeInformation -Append[/code:1]

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

Plus d'informations
il y a 4 ans 3 mois #29573 par Pierre_oum90
Bonjour,

Merci, cela fonctionne parfaitement ;)

A+

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

Plus d'informations
il y a 4 ans 2 mois #29586 par Pierre_oum90
<br><br>Message édité par: Pierre_oum90, à: 2/01/20 09:58

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

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