Hi.
We are running Splunk Enterprise version 7.2.0.
On this version and also on 6.6, we find that when we have more than one scheduled powershell input, the second fails with the following message in splunk-powershell.ps1.log:
ERROR User script exception: : The WriteObject and WriteError methods cannot be called from outside the overrides of the BeginProcessing, ProcessRecord, and EndProcessing methods, and they can only be called from within the same thread. Validate that the cmdlet makes these calls correctly, or contact Microsoft Customer Support Services.
If any of the inputs are the only scheduled they run as expected.
The inputs are:
[powershell://FetchMachineCache_Contents_DMZ_Prod]
host = XXXX
index = looper
interval = 900
script = . "$SPLUNKHOME\bin\scripts\FetchMachineCache_Contents_DMZ_Prod.ps1"
disabled = 0
[powershell://FetchMachineCache_Contents_Prod]
host = XXXX
index = looper
interval = 180
script = . "$SPLUNKHOME\bin\scripts\FetchMachineCache_Contents_Prod.ps1"
disabled = 0
Update:
It turned out that the issue was that the powershell scripts used Invoke-Sqlcmd
which is not thread-safe.
That caused the scripts to fail with the mentioned error.
@forca, If your problem is resolved, please add some details to your answer to help others that might have the same problem. Then accept the answer.