如何在Windows Server 2008中转储进程

我想转储内存的Windows进程只使用命令行,没有第三方工具。 如果我们认为所有必要的特权都已经获得,那么这是可能的

也许有可能使用PowerShell? 我发现它可能使用procdump实用程序,但这是从sysinternals imho。

您可以使用PowerShell的Out-Minidumpfunction:

Out-Minidump将所有进程内存的进程转储文件写入磁盘。 这与使用'-ma'开关运行procdump.exe类似。

基本用法:

  • 通过Set-ExecutionPolicy cmdlet启用PowerShell脚本执行。 它应该是BypassUnrestricted或者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 
  • 现在,您可以使用以下语法实际创build进程的转储:
 Get-Process 'notepad.exe' | Out-Minidump -DumpFilePath C:\temp 
  • 要获得帮助,请运行以下命令:
 Get-Help Out-Minidump -Full