| # Copied from GStreamer project | |
| # Author: Seungha Yang <seungha.yang@navercorp.com> | |
| # Xavier Claessens <xclaesse@gmail.com> | |
| $i=1 | |
| $ppid=$PID | |
| do { | |
| $ppid=(Get-CimInstance Win32_Process -Filter "ProcessId=$ppid").parentprocessid | |
| $pname=(Get-Process -id $ppid).Name | |
| if($pname -eq "cmd" -Or $pname -eq "powershell" -Or $pname -eq "pwsh") { | |
| Write-Host ("{0}.exe" -f $pname) | |
| Break | |
| } | |
| # not found yet, find grand parent | |
| # 10 times iteration seems to be sufficient | |
| $i++ | |
| } while ($i -lt 10) |