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