我想转储内存的Windows进程只使用命令行,没有第三方工具。 如果我们认为所有必要的特权都已经获得,那么这是可能的
也许有可能使用PowerShell? 我发现它可能使用procdump实用程序,但这是从sysinternals imho。
您可以使用PowerShell的Out-Minidumpfunction:
Out-Minidump将所有进程内存的进程转储文件写入磁盘。 这与使用'-ma'开关运行procdump.exe类似。
基本用法:
通过Set-ExecutionPolicy cmdlet启用PowerShell脚本执行。 它应该是Bypass , Unrestricted或者RemoteSigned 。 详情 :
如果您(或有帮助的pipe理员)以pipe理员身份运行Set-ExecutionPolicy,则将为所有用户设置策略。 (我build议“remoteSigned”而不是“无限制”作为安全措施。)
注意:在64位操作系统上,需要分别为32位和64位PowerShell运行Set-ExecutionPolicy。
下载Out-Minidump.ps1
使用资源pipe理器中的文件属性解锁它(以其他方式 )

从Out-Minidump.ps1启动PowerShell和点源function(注意第一个点):
. c:\path\to\Out-Minidump.ps1
Get-Process 'notepad.exe' | Out-Minidump -DumpFilePath C:\temp
Get-Help Out-Minidump -Full