使用Powershell监视正在运行的应用程序

时间:2014-03-01 21:42:05

标签: powershell

我正在编写一个需要知道程序何时打开的脚本(Internet Explorer)。 有没有办法运行PowerShell脚本,以便您可以监视正在运行的程序?或者我必须将我的程序作为服务运行吗?

1 个答案:

答案 0 :(得分:0)

是的,你可以使用Register-WMIEvent。注册事件后,如果在Action参数中指定一个事件,它将执行任意scriptblock

这是一个简单的示例,只要创建了名为iexpore.exe的进程,scriptblock就会只写入控制台:

Register-WMIEvent -query "Select * From __InstanceCreationEvent within 3 Where TargetInstance ISA 'Win32_Process' and TargetInstance.Name ='iexplore.exe'" `
-sourceIdentifier "New IE Process" `
-action {Write-Host "A new Internet Explorer process has started!"}

如果您有兴趣进一步阅读,这是一个有用的Scripting Guy post concerning Event Monitoring。请注意,Get-PSEvent现在称为Get-Event