如何测试什么启动了 powershell 脚本
How to test what started a powershell script
我有一个 PowerShell 脚本,可以通过
启动
- 运行在桌面上创建一个快捷方式,或者
- 作为来自 windows 任务计划程序的计划作业。
脚本本身是否有任何方法可以识别它是如何启动的?在实践中,每种方法都会在屏幕上生成一个缓慢滚动的命令 window,一旦它 运行ning 我就无法知道它是如何启动的。该脚本已经记录了一些关于自身的数据(名称、日期、时间和 $PID),但到目前为止我还没有找到如何测试启动方法,即任务调度程序或手动 运行.
Task Scheduler 运行 的脚本有一个名称为 svchost
的父进程,因此您可以在脚本中使用以下代码来检测:
'svchost' -eq (Get-Process -Id (Get-CimInstance Win32_Process -Filter "ProcessID = $pid").ParentProcessId).Name
我有一个 PowerShell 脚本,可以通过
启动- 运行在桌面上创建一个快捷方式,或者
- 作为来自 windows 任务计划程序的计划作业。
脚本本身是否有任何方法可以识别它是如何启动的?在实践中,每种方法都会在屏幕上生成一个缓慢滚动的命令 window,一旦它 运行ning 我就无法知道它是如何启动的。该脚本已经记录了一些关于自身的数据(名称、日期、时间和 $PID),但到目前为止我还没有找到如何测试启动方法,即任务调度程序或手动 运行.
Task Scheduler 运行 的脚本有一个名称为 svchost
的父进程,因此您可以在脚本中使用以下代码来检测:
'svchost' -eq (Get-Process -Id (Get-CimInstance Win32_Process -Filter "ProcessID = $pid").ParentProcessId).Name