i am trying to create an add on that runs a powershell script to perform some actions. Since i dont want to hardcode a path i would like to access $SPLUNK_HOME within my powershell script.
afaik $SPLUNK_HOME gets set as environment variable upon script start. so im using (get-item env:\SPLUNK_HOME).value
Is there a way to "test run" my scripts with a splunk environment set?
Jeah that link is known to me, but it does not address my question if it is possible to test a script by running it with splunk context.
for the path issue, im well aware of the possibillities of eg $PSScriptRoot and then adjusting path.
yes you can manage a Powershell script as a scripted input, described in the above document.
In few words, you have to:
Usually Splunk is used to run a script that's already tested, but you could also use Splunk in testing.
About the use of system variables, I'm not sure, the only way is to test it.
i seem to have found an answer to my question:
Test Scripts using Splunk CMD
To see the output of a script as if it was run by the Splunk system, use the following:
/Applications/Splunk/bin/splunk cmd python
/Applications/Splunk/etc/apps/<your app>/bin/<your script>
C:\Program Files\Splunk\bin\splunk.exe cmd C:\Program
Files\Splunk\etc\apps\<your app>\bin\<your script>
More useful command line tools to use with Splunk can be found here ->
di you already see this document https://docs.splunk.com/Documentation/Splunk/latest/Data/MonitorWindowsdatawithPowerShellscripts ?
Anyway, answering to your question, you can use a relative path starting from the App home path.