Вывести в текстовый файл список свойств процесса
Формат TEXTTABLE позволяет получить информацию в табличном виде, где каждая колонка соответствует определенному свойству класса WMI, причем числовые значения форматируются в соответствии с региональными настройками Windows.
Формат TEXTTABLEWSYS также позволяет получить таблицу аналогичной структуры, однако числовые значения здесь выводятся без дополнительного форматирования.
С помощью формата TEXTVALUELIST можно для каждого возвращаемого экземпляра класса WMI получить список пар вида свойство=значение .
Вывод в CSV-файл
Стандартный формат вывода CSV позволяет преобразовывать информацию, возвращаемую командами WMIC, в формат файла с разделителями, при этом в качестве разделителя выступает запятая. Данные файлы потом могут быть легко открыты, например, с помощью программы Microsoft Excel.
Для примера выполним следующую команду:
В результате на диске C формируется текстовый файл klop.csv, в первой строке которого будут записаны разделенные запятыми названия свойств псевдонима PROCESS , а в остальных строках — значения этих свойств для всех процессов, запущенных в системе:
Примеры команд WMIC
В данном разделе приведены примеры команд, которые позволяют из среды WMIC выполнять повседневные администраторские задачи, связанные с управлением компьютером, получением сведений о состоянии оборудования и операционной системы и т. д.
Завершение сеанса пользователя
Для того чтобы принудительно завершить сеанс пользователя, можно воспользоваться методом Win32ShutDown псевдонима OS. Этот метод имеет один обязательный параметр, задающий действие, которое нужно произвести при завершении работы пользователя (это может быть завершение сеанса, перезагрузка или выключение компьютера). Для завершения сеанса пользователя значение этого параметра должно быть равно нулю.
Отметим, что метод Win32ShutDown нельзя вызвать, не указав с помощью оператора WHERE конкретный экземпляр псевдонима OS, причем даже в том случае, когда у псевдонима OS имеется единственный экземпляр, поэтому обязательно нужно применить оператор WHERE , задав в качестве условия, скажем, совпадение значения свойства CSNAME с именем компьютера, на котором вызывается метод. Например:
Перезагрузка и выключение компьютера
Для перезагрузки компьютера нужно вызвать метод Win32ShutDown с параметром 2. Например:
Выключение компьютера производится путем запуска метода Win32ShutDown с параметром 1. Например:
Для выполнения метода Win32ShutDown у пользователя должен быть установлен режим использования всех привилегий ( /PRIVILEGES:ENABLE ).
Вывод информации о BIOS
Для получения информации о BIOS (версия, серийный номер, дата выпуска и т. д.) следует вывести свойства псевдонима BIOS:
В этом примере данные выводятся в текстовый файл bios.txt, содержимое которого представлено в листинге 15.1.
Изменять значения свойств у псевдонима BIOS нельзя.
Просмотр параметров загрузки
Информация о параметрах загрузки системы (путь к загрузочным файлам, каталогу для хранения временных файлов, буква последнего диска в системе и т. д.) может быть получена с помощью псевдонима BOOTCONFIG :
Иногда может показаться, что на вашем компьютере запущено так много процессов, что вы не уверены, какие из них в порядке, а какие могут быть подозрительными или вредоносными.
Хорошим первым шагом является создание списка запущенных процессов в текстовом файле, чтобы вы могли проанализировать, какие процессы запущены. Обычно люди используют диспетчер задач для просмотра всех процессов, но он не позволяет распечатать список процессов.
К счастью, сохранить список запущенных процессов в текстовом файле в Windows очень просто. Вы сможете сохранить как идентификатор процесса (PID), так и объем памяти, используемый каждым процессом.
ЗаписьСледующие шаги для сохранения процессов в файл работают для всех версий Windows, включая Windows XP, Windows 7, Windows 8 и Windows 10.
Процессы вывода из команды Tasklist
Для этого выберите меню «Пуск» и введите «команда», затем наведите указатель мыши на командную строку, чтобы она была выделена, и выберите «Запуск от имени администратора» справа.
Примечание. Вам может потребоваться выбрать «Да» во всплывающем окне, чтобы подтвердить запуск командной строки от имени администратора.
Как только откроется командная строка, введите tasklist и нажмите ввод, чтобы увидеть список процессов, запущенных в вашей системе.
Это полезно, но не предоставляет вам список запущенных процессов в текстовом файле. Чтобы сохранить процессы в файл, повторите процесс выше, но на этот раз введите команду:
список задач> c: process_list.txt
Это выведет текстовый файл с именем process_list.txt на ваш диск C :. Вы можете изменить C: на любой другой путь, куда вы хотите поместить файл, если хотите.
Чтобы просмотреть файл, просто откройте проводник Windows и перейдите к месту, в котором вы сохранили файл списка процессов.
Чтобы просмотреть этот список процессов в Блокноте, щелкните файл правой кнопкой мыши, выберите «Открыть с помощью» и выберите «Блокнот».
Это самый быстрый и простой способ увидеть запущенные процессы в Windows через текстовый файл. Он покажет вам PID, имя сеанса, номер сеанса и использование памяти.
Сохранить процессы в файл с помощью Powershell
Powershell включает команду «get-process», которая предоставляет список всех активных процессов, запущенных на вашем локальном компьютере. Чтобы увидеть это в действии, запустите Powershell, выбрав в меню «Пуск» команду «Powershell».
Когда откроется синее окно Powershell, введите get-process и нажмите Enter. Это отобразит список всех активных процессов в вашей системе Windows.
Это обеспечивает немного больше информации о процессах, чем список задач. Тем не менее, вы должны знать, что означают заголовки.
- Дескрипторы: количество дескрипторов, открытых процессом
- NPM (K): нестраничная память, используемая процессом (в килобайтах)
- PM (K): Pageable память, используемая процессом (в килобайтах)
- WS (K): страницы в памяти, недавно использованные процессом (в килобайтах)
- VM (M): виртуальная память, используемая процессом (в мегабайтах)
- CPU (s): время процессора, используемое процессом для всех процессоров (в секундах)
- ID: идентификатор процесса
- ProcessName: имя процесса
Это здорово, но вся эта информация отображается на экране, а не в файл. Чтобы вывести эту информацию в файл, вам нужно добавить параметр Out-File в команду Get-Process.
Вернувшись на экран Powershell, введите команду Get-Process | Out-File -FilePath. Process_list.txt и нажмите Enter.
Параметр. Process_list.txt помещает файл в путь, в котором вы запускаете команду, поэтому запишите этот путь, чтобы вы знали, где найти файл списка процессов. После запуска команды используйте тот же процесс, что и выше, чтобы открыть файл списка процессов в Блокноте.
Вы заметите, что данные в файле выглядят идентично выводу Get-Process в предыдущем окне Powershell.
Сохранить процессы в файл с помощью WMIC
Команды WMIC можно использовать только в том случае, если вы запускаете командную строку в качестве локального администратора. Для этого выполните шаги, описанные в первом разделе этой статьи, чтобы запустить командную строку Windows от имени администратора.
WMIC предоставляет вам больше информации об активных процессах, чем любая другая команда или инструмент в Windows. Если вы просто запустите команду WMIC Process в командной строке, вы увидите до 44 параметров процесса, возвращаемых для каждого активного процесса.
Проблема с запуском команды в командной строке заключается в том, что выходные данные с разделителями-пробелами выглядят беспорядочными и неорганизованными.
Команда WMIC является прекрасным примером того, когда полезен выходной файл. Вы можете вывести список процессов WMIC в файл с помощью команды: wmic /OUTPUT:C:ProcessList.txt PROCESS get / all.
Это выведет весь список в текстовый файл на диске C: с именем ProcessList.txt. Вместо того, чтобы открывать этот файл в Блокноте, вы хотите открыть его с помощью Excel, поскольку Excel может правильно отформатировать файл с разделителями табуляции.
- Откройте Excel
- Выберите Открыть, чтобы открыть новый файл.
- Выберите Обзор и перейдите к файлу ProcessList.txt.
- Выберите файл и выберите Открыть (если вы не видите файл, измените тип файла на Все файлы)
- В окне «Импорт текста» выберите «С разделителями», выберите «Мои данные имеют заголовки» и нажмите «Далее», чтобы продолжить.
- На следующем экране мастера установите флажок «Пробел» в разделе «Разделители» и установите флажок «Обрабатывать последовательные разделители как один». Нажмите Далее, чтобы продолжить.
- Выберите Готово, чтобы завершить работу мастера.
Теперь вы увидите практически все, что вам захочется узнать о каждом активном процессе в вашей системе Windows.
Заголовок каждого столбца описывает, что это за элемент данных. Вы найдете такие вещи, как путь к исполняемому файлу, дескриптор, дата установки, сбои страниц, использование файла подкачки, идентификатор процесса и многое другое.
Теперь, когда вы знаете несколько способов сохранить список запущенных процессов в текстовом файле в Windows, вам остается только выбрать тот, который подходит именно вам!
Знаете ли вы какие-либо другие способы сохранения процессов в файл? Поделитесь своими мыслями в разделе комментариев ниже.
Люди часто стремятся максимально использовать свои компьютеры. И при этом очень вероятно, что компьютер может столкнуться с проблемами. Эти проблемы могут быть связаны с общей производительностью компьютера или даже создавать нестабильную среду для выполнения задач. Все эти проблемы часто просматриваются в процессах внутри Диспетчера задач. Некоторые опытные пользователи также используют сторонние приложения, такие как Process Explorer или TaskSchedulerView, чтобы сделать то же самое, потому что они предоставляют некоторые дополнительные функции, которые помогают им выполнять свою работу очень легко. Таким образом, эти сторонние компании помогают этим пользователям легко устранять проблемы. Но когда дело доходит до обмена этими списками процессов с другими, чтобы следить за любыми необычными действиями, люди часто склонны к какой-то борьбе. Но Microsoft вас охватила. Microsoft отправила инструмент под названием TaskList внутри Windows, который поможет вам сохранить этот список этих процессов в текстовом файле или даже просмотреть его внутри командной строки.
Есть некоторые дополнительные вещи, такие как фильтрация процессов, которые вы можете сделать с этим, о чем мы поговорим в этой статье.
TaskList для сохранения процессов Windows в файл
TaskList отображает список текущих запущенных процессов на локальном компьютере или на удаленном компьютере.
Прежде всего, вам нужно будет открыть командную строку. Вы можете сделать это, выполнив команду «Командная строка» в окне поиска Cortana или просто нажав комбинацию кнопок WINKEY + X и нажмите «Командная строка». Для этого вам не нужно запускать командную строку с правами администратора.
Теперь просто введите список задач. При этом будут перечислены все задачи с идентификаторами процесса, типом сеанса, именем, использованием памяти и номером сеанса.
Вы можете перемещаться по вертикали внутри командной строки, чтобы проверить все эти процессы.
Теперь настало время, когда вам нужно поделиться этим списком с другими или просто сохранить его для своего использования в будущем.
Для этого просто введите следующую команду,
Эта команда может быть разделена как: tasklist > <путь>
Стоит отметить, что вы не сможете сохранить этот файл в любом месте, расположенном в разделе C: \ или в главном разделе операционной системы, до тех пор, пока вы не запустите Командную строку с правами уровня администратора.
Не только TXT, но и эта программа также поддерживает сохранение этих процессов в различных расширениях файлов. Вы можете использовать команды типа tasklist / fo csv, чтобы вместо этого отображать список процессов в формате, разделенном запятыми.
Иногда вам просто нужно отфильтровать, что вы сохраняете в TXT-файле. Возможно, вам нужно увидеть процессы, которые используют память на определенном пороге, или, возможно, те, у которых идентификатор процесса превышает 500 и более. Таким образом, вы тоже можете это сделать.
Вот несколько команд, которые можно использовать для фильтрации материалов во всем большом списке задач:
Эти команды фильтрации также могут быть объединены с различными параметрами, чтобы отфильтровать еще больше. Например,
tasklist /s BasementComp /svc /fi "MEMUSAGE gt 2048
Эта команда поможет пользователям перечислить все процессы на удаленном компьютере под названием BaseComp, которые используют более 2 МБ ОЗУ. Кроме того, вы можете просто сохранить все эти отфильтрованные процессы в TXT-файл, используя команду> <PATH> для любых команд фильтрации.
Обычно в процессе работы PowerShell генерируются некоторые выходные данные. Для вывода этих данных существуют специальные Out-командлеты (командлеты, название которых начинается с Out-). Когда выполняемая команда PowerShell возвращает данные, они передаются по конвейеру на вход Out-командлета, который обрабатывает их и отправляет в устройство вывода (на экран, в файл, на принтер и т.п.).
Для просмотра этих командлетов выполним команду:
Get-Command -Verb Out
Out-Host
Командлет Out-Host служит для вывода данных на экран. Например:
Get-Process powershell | Out-Host
Впрочем, добавлять Out-Host в конец команды совсем необязательно. В конце конвейера по умолчанию находится командлет Out-Default, который и перенаправляет все в Out-Host. Т.е. предыдущая команда эквивалентна команде:
Get-Process powershell | Out-Default
которая в свою очередь эквивалентна команде:
На самом деле механизм вывода еще запутаннее. Как вы помните, результатом работы PowerShell являются объекты. Out-командлеты не умеют работать с любыми объектами, а только со специальным типом объектов форматирования, поэтому при получении объекта вызывают один из командлетов форматирования (Format-*). Format-командлет предоставляет Out-командлету объекты форматирования, описывающие порядок построения выходных данных, а Out-командлет отправляет их в нужное устройство. Т.е. при выполнении команды:
в действительности отрабатывает команда:
Get-Process powershell | Format-Table | Out-Host
Хотя добавлять Out-Host в конец команды необязательно, но в некоторых случаях удобно. К примеру он имеет ключ Paging, с помощью которого можно организовать постраничный вывод:
Get-Process | Out-Host -Paging
Out-File
Командлет Out-File перенаправляет выходные данные в указанный файл, например:
Get-Process powershell | Out-File proc.txt
По умолчанию данные в файле перезаписываются. Запретить перезапись существующего файла можно, указав ключ NoClobber, а если необходимо дописывать данные в существующий файл, то можно использовать ключ Append, который добавляет данные в конец файла:
Get-Process powershell | Out-File proc.txt -Append
Для вывода в файл можно использовать сокращенный синтаксис. Например для записи:
Get-Process powershell >proc.txt
или для добавления в конец файла:
Get-Process powershell >>proc.txt
Out-GridView
Командлет Out-GridView выводит данные в виде графической таблицы, в которой их можно отфильтровать и отсортировать по нужному признаку. Для наглядности можно указать ключ Title, который будет отображаться в заголовке:
Get-Process | Out-GridView -Title processes
Начиная стретьей версии PowerShell Out-GridView поддерживает ключ PassThru, позволяющий передать полученные данные дальше по конвейеру. Например, можно вывести список процессов, в графической оснастке отобрать нужные и передать их командлету Stop-Process, который остановит выбранные процессы:
Get-Process | Out-GridView -PassThru | Stop-Process
Out-Null
Командлет Out-Null используется в том случае, если выходные данные отображать не нужно. Он отправляет полученные данные в устройство NULL, т.е. удаляет их. Для примера возьмем такую команду:
$process = Get-WmiObject win32_process -Filter ″Name = ′Notepad.exe′″
$process.Terminate()
Помимо основного действия (остановка процесса) она выводит много лишней информации. Чтобы избавится от нее, отправим вывод в Out-Null, например так:
Out-String
Командлет Out-String преобразует входные данные в массив строк. По сути Out-String преобразует объекты PowerShell в строки, с которыми дальше можно работать как с обычным текстом (форматировать, производить поиск и т.п.).
Для примера выведем процесс, сохраним его в переменную $a и посмотрим тип данных:
$a = Get-Process powershell
$a.GetType()
Затем скормим содержимое Out-String а вывод сохраним в переменную $b:
$b = $a | Out-String
$b.Get-Type()
Как видно из примера, на входе Out-String тип данных Process, а на выходе String.
Out-String принципиально отличается от остальных out-командлетов. Поскольку обычные out-командлеты работают с конечным результатом предыдущих команд, то сами они не производят никаких выходных данных. Именно поэтому out-командлет обычно ставится последним в командной строке, ведь после него в конвейере не остается ничего, с чем могут работать другие командлеты.
В отличие от них Out-String принимает объекты, преобразует их в массив строк и передает дальше по конвейеру. По умолчанию данные накапливаются и возвращаются одной строкой, но с помощью ключа Stream можно указать вывод по отдельной строке для каждого объекта.
Для примера выведем список системных служб со всеми свойствами и отформатируем его в виде таблицы:
Get-Service | Format-Table -Property * -AutoSize
Поскольку ширина консоли граничена 80 символами, то большинство данных будет обрезано, что не очень здорово.
Чтобы не обрезать вывод, направим его в Out-String и увеличим ширину:
Get-Service | Format-Table -Property * -AutoSize | Out-String -Width 1024
Теперь все данные попали на экран, но все равно выглядит не очень.
Исправим положение, передав вывод Out-String командлету Out-File:
Get-Service | Format-Table -Property * -AutoSize | Out-String -Width 1024 | Out-File service.txt
На выходе получаем файл с таблицей нужной ширины, а для просмотра есть полоса прокрутки. Таким образом можно создавать и просматривать таблицы практически любой ширины.
Out-Printer
Командлет Out-Printer перенаправляет вывод на принтер. Например:
Get-Service | Format-Table -Property * -AutoSize | Out-File service.txt -Width 1024
Get-Content service.txt | Out-Printer
Вывод отправляется на принтер, заданный в системе по умолчанию. Для указания альтернативного принтера можно использовать ключ Name.
Читайте также: