Я хочу сбросить память процесса Windows, используя только командную строку и без сторонних инструментов. Возможно ли это, если предположить, что все необходимые привилегии приобретены.
Может, можно сделать с помощью PowerShell? Я счел возможным использовать procdump
утилита, но это от sysinternals imho.
Ты можешь использовать Out-Minidump функция для PowerShell:
Out-Minidump записывает файл дампа процесса со всей памятью процесса на диск. Это похоже на запуск procdump.exe с ключом -ma.
Основное использование:
Включить выполнение скрипта PowerShell через Set-ExecutionPolicy командлет. Так должно быть Bypass
, Unrestricted
или RemoteSigned
. подробности:
Если вы (или полезный администратор) запускаете Set-ExecutionPolicy от имени администратора, политика будет установлена для всех пользователей. (Я бы предложил «remoteSigned», а не «неограниченный» в качестве меры безопасности.)
NB .: В 64-битной ОС вам нужно запускать Set-ExecutionPolicy для 32-битной и 64-битной PowerShell отдельно.
Скачать Out-Minidump.ps1
Разблокируйте его, используя свойства файла в проводнике (альтернативные пути)
Запустите PowerShell и точечный источник функция от Out-Minidump.ps1
(обратите внимание на первую точку):
. c:\path\to\Out-Minidump.ps1
Get-Process 'notepad.exe' | Out-Minidump -DumpFilePath C:\temp
Get-Help Out-Minidump -Full