ConanTheGerbil
ConanTheGerbil

Reputation: 777

How to test what started a powershell script

I have a PowerShell script that can be started either by

Is there any way within the script itself of identifying how it was started? In practice each method produces a slowly scrolling command window on screen, and once it's running I have no way of knowing how it was initiated. The script already logs some data about itself (name, date, time and $PID) but so far I've not found how to test the launch method i.e. task scheduler or manual run.

Upvotes: 2

Views: 942

Answers (1)

mklement0
mklement0

Reputation: 438208

A script that is run by Task Scheduler has a parent process whose name is svchost, so you can use the following code in your script to detect this:

'svchost' -eq (Get-Process -Id (Get-CimInstance Win32_Process -Filter "ProcessID = $pid").ParentProcessId).Name

Upvotes: 2

Related Questions