0 Pluspunkte 0 Minuspunkte
Wie kann ich mit Powershell einen String an einen Syslog Server schicken?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Das kannst du mit einer ganz normalen TCP oder UDP Verbindung, je nachdem worauf dein Syslog Server lauscht. 

$Server = <server-ip>
$Port = <server-port> # gewöhnlich 514
$Message = "Testnachricht von PowerShell"

try {
    $Client = New-Object System.Net.Sockets.TcpClient
    $Client.Connect($Server, $Port)
    $Stream = $Client.GetStream()
    $Writer = New-Object System.IO.StreamWriter($Stream)
    $Writer.WriteLine($Message)
    $Writer.Flush()
    $Client.Close()
} catch {
    Write-Host "Fehler beim Senden der Nachricht: $_"
}

Hier ist noch ein Beispiel mit UDP

$Server = <server-ip>
$Port = <server-port> # gewöhnlich 5044
$Message = "Testnachricht von PowerShell"

$Client = New-Object System.Net.Sockets.UdpClient
$Client.Connect($Server, $Port)
$Bytes = [System.Text.Encoding]::ASCII.GetBytes($Message)
$Client.Send($Bytes, $Bytes.Length)
$Client.Close()
von (706 Punkte)