windows - 在没有 WMI 的情况下在 VBScript 中检索进程的完整路径
问题描述
我正在编写一个 VBScript,它需要检索与每个正在运行的进程相对应的可执行文件的完整路径。
tasklist
只给出部分信息,我发现的所有其他解决方案都涉及使用 WMI,我不能假设它在我的目标系统上可用。
因此,我的问题与此类似,只是我需要明确支持 WMI 不可用(即禁用)的情况。
是否可以在香草 VBScript 中做到这一点?还是我需要编译一个可以调用 Win32 API 函数的本机可执行文件,然后从我的 VBScript 调用它?
解决方案
大概是这样的吧?你明白了……
Option Explicit
Dim strPSCommand, strDOSCommand, objShell, objExec, strPSResults, strText
strPSCommand = "Get-Process | where { $_.Path -ne $null -and $_.Path -ne '' } | Select Path -Unique"
strDOSCommand = "powershell -executionpolicy bypass -command " & strPSCommand & ""
Set objShell = CreateObject("Wscript.Shell")
Set objExec = objShell.Exec(strDOSCommand)
Do While Not objExec.StdOut.AtEndOfStream
strText = objExec.StdOut.ReadLine()
Wscript.Echo strText
Loop
Set objShell = Nothing
Set objExec = Nothing
推荐阅读
- python - 如何从父子目录导入模块
- c# - 如何从 MainWindows.xaml.cs 中的 ViewModel 使用 ObservableCollection
- html - 如何在 IE 中打印页面,带有背景颜色的边缘
- sql - sql server 将表示日期时间的字符串转换为日期
- laravel - Laravel 5.8 从两个不同的表中显示、更新、删除记录
- amazon-web-services - APIgateway + Lamba 测试有效,但部署的 API 导致 Lambda 超时
- c++ - 我怎样才能简化这个程序(字谜)?
- sql - 如何根据具有最大值的列过滤行?
- java - 嵌套的自动装配字段在 JUNIT 测试中保持为空
- javascript - 使用 Stripe V3 为卡创建条带令牌,但不使用前端的条带元素