Splunk Dev

How to send logs in Windows

bee
New Member

Hi, 

I try to send logs my Windows server to Splunk via Powershell but I have this type of error :   Cannot convert value to type System.String.

This is my code :

# Function to send log files with HEC
function Send-LogToSplunk {
param (
[string]$filePath
)

$logContent = Get-Content -Path $filePath -Raw
$fileName = [System.IO.Path]::GetFileName($filePath)
$fileDirectory = [System.IO.Path]::GetDirectoryName($filePath)

$splunkServer = "$splunkHost/services/collector/event"
$header = @{"Authorization" = "Splunk $splunkToken"}

$payload = @{
event = $logContent
host = $env:COMPUTERNAME
sourcetype = "log"
source = $filePath
} | ConvertTo-Json


#Write-Host "Log Content $logContent";
#Write-Host "Payload to be sent: $payload";
Write-Host "FileDirectory $fileDirectory";

try {

$response = Invoke-RestMethod -Method Post -Uri $splunkServer -Headers $header -Body $payload

Write-Host "Log sent successfully: $fileName"
} catch {
Write-Host "Failed to send log: $filePath Code Error: '$global:errorConnectionCode'"
Write-Host "Error details: $_"
Exit $global:errorConnectionCode
}
}

Thanks in advance

Labels (1)
Tags (1)
0 Karma

PickleRick
SplunkTrust
SplunkTrust

1. It's more of a PowerShell question than a Splunk one.

2. For simple file monitoring it's easier to use UF (or other solutions capable of writing to a HEC endpoint if you find UF "too big" or "too closed source").

3. You haven't even told us at which point this error is raised.

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Persistent Queue at TcpOut — One of Splunk's Most Practical Features

Splunk introduced persistent queueing at the tcpout layer as one of the most practical resilience features in ...

Skip the Awkward Silence: Have a .conf-ersation at .conf26

Picture this. You arrive at .conf26 already having your socializing and networking plans mapped out. No ...

Rethinking Zero Trust: From Product Purchases to Logical Control Evidence

Implementing Zero Trust (ZT) across complex environments often falters at the very beginning due to a ...