You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否从内存恢复正在运行的已删除PowerShell脚本

从运行中PowerShell进程内存恢复已删除脚本的方法

好消息——因为你的两个脚本目前仍在运行,这是关键转机:进程内存里大概率还保留着脚本的完整内容,下面是几种实操性强的方法,按难度从易到难排序:

方法1:用PowerShell自带调试命令(无额外工具)

这是最省心的方法,不需要下载任何工具,用PowerShell本身就能搞定:

  1. 先找到目标进程的PID(进程ID):
    • 打开任务管理器,找到对应的powershell.exe进程(可以通过内存占用、启动时间判断哪个是运行脚本的进程);
    • 或者在新的PowerShell窗口运行Get-Process powershell,输出里的Id列就是PID。
  2. 以管理员身份打开一个新的PowerShell窗口,附加到目标进程并暂停它:
    Debug-Process -Id <你的目标PID> -Break
    
  3. 查看当前进程的运行空间:
    Get-Runspace
    
    通常脚本运行在Id为1的运行空间里,你可以通过Name或State字段确认。
  4. 切换到目标运行空间:
    Enter-Runspace -Id <运行空间ID>
    
  5. 现在就能访问脚本的内容了:
    • 如果脚本是通过文件执行的,试试$MyInvocation.MyCommand.Definition,虽然文件被删了,但内存里可能还存着脚本的文本内容;
    • 如果脚本里定义了函数,直接输入函数名(比如Get-MyCustomFunction)就能查看函数体;
    • 也可以用Get-ChildItem function:列出所有函数,逐个找回你的代码。
  6. 完成后,退出运行空间并让原进程继续运行:
    Exit-Runspace
    Debug-Process -Id <你的目标PID> -Continue
    

方法2:用进程内存转储工具(适合复杂脚本)

如果自带命令没找到完整内容,可以用微软官方的Sysinternals工具procdump来生成进程内存快照:

  1. 下载procdump(微软官网可直接获取,无需安装),放到任意目录。
  2. 以管理员身份打开命令提示符,运行以下命令生成完整内存转储:
    procdump -ma <你的目标PID> script_dump.dmp
    
    这个命令会生成一个包含进程所有内存内容的dump文件。
  3. 用WinDbg或Visual Studio打开这个dump文件,通过搜索关键词(比如你记得的脚本里的变量名、函数名)找到脚本内容,复制出来即可。

方法3:调用Windows API读取进程内存(进阶玩法)

如果你有一定编程基础,可以用PowerShell直接调用Windows API读取进程内存,但步骤相对复杂:

  • 核心思路是打开目标进程的内存句柄,遍历内存区域,搜索文本内容。以下是简化示例(需管理员权限):
    $targetPid = <你的目标PID>
    $process = Get-Process -Id $targetPid
    # 调用OpenProcess获取进程句柄
    $openProcess = Add-Type -MemberDefinition @"
    [DllImport("kernel32.dll")]
    public static extern IntPtr OpenProcess(uint dwDesiredAccess, bool bInheritHandle, int dwProcessId);
    "@ -Name "Win32OpenProcess" -Namespace Win32Functions -PassThru
    $handle = $openProcess::OpenProcess(0x1F0FFF, $false, $targetPid)
    # 后续需要遍历内存区域、读取内容并搜索关键词,这部分需要更多内存知识
    
    这种方法适合需要精准定位内存内容的场景,建议先尝试前两种方法。

关键注意事项

  • 绝对不要关闭运行中的PowerShell进程!一旦进程退出,内存里的内容会被系统立即释放,再也找不回来。
  • 操作过程中尽量避免在系统上做大量写入操作(比如安装软件、下载文件),防止内存被新的数据覆盖。
  • 如果脚本包含敏感信息,处理dump文件时要注意安全,不要随意分享。

内容的提问来源于stack exchange,提问作者MichaelH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 17:07:43