|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Получение списка всех процессов |
|
CMD/BAT - [решено] Получение списка всех процессов
|
Пользователь Сообщения: 63 |
Подскажите как получить список ВСЕХ процессов с "временем запуска"?
Получить дату и время запуска всех процессов в текстовый файл. По возможности не на PowerShell. cmd,bat. |
|
Отправлено: 05:56, 03-01-2020 |
fascinating rhythm Сообщения: 6621
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 09:49, 03-01-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:21, 03-01-2020 | #3 |
fascinating rhythm Сообщения: 6621
|
Профиль | Отправить PM | Цитировать Iska, а формат даты можно как-нибудь подкрутить?
|
------- Отправлено: 10:27, 03-01-2020 | #4 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать DJ Mogarych, я догадываюсь, что топикстартеру, всё едино: что водка, что пулемёт - лишь бы с ног валило
и самому мне нравится PowerShell, но давайте всё же придерживаться заданной тематики PoSh - не панацея: 1. Он не всегда есть - в том же PE, контейнерах 2. Он тяжело запускается - "примитивный" healthcheck, реализованный подобным образом, выжирает нереально много ресурсов |
|
Отправлено: 10:55, 03-01-2020 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать DJ Mogarych, напрямую — боюсь, что нет. Возможно, этого можно добиться, поковырявшись во внутренностях C:\Windows\System32\wbem, но я не жажду
![]() Кроме того, можно разобрать вывод wmic.exe посредством for /f, и там слепить, что потребно. Наподобие: Скрытый текст
@echo off setlocal enableextensions enabledelayedexpansion >"c:\temp\processlist.txt" ( echo Creation Date/Time Name for /f "usebackq skip=2 tokens=1,2" %%i in (`wmic.exe Process get Name^, CreationDate ^| findstr.exe /i /r /c:"^[0-9]"`) do ( set sDateTime=%%i echo !sDateTime:~6,2!.!sDateTime:~4,2!.!sDateTime:~0,4! !sDateTime:~8,2!:!sDateTime:~10,2!:!sDateTime:~12,2! %%~j ) ) endlocal exit /b 0 |
Отправлено: 11:03, 03-01-2020 | #6 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать VBS. Добавил еще полный путь к исполняемому файлу процесса
With CreateObject("Scripting.FileSystemObject").CreateTextFile("Z:\Box_Out\process.txt", True)
Out = "Creation Date Caption and ExecutablePath"
For Each iProc In GetObject("winmgmts:").ExecQuery("Select * From Win32_Process")
With iProc
DT = CStr(.CreationDate)
Out = Out + vbCrLf + Mid(DT, 1, 4) + "." + Mid(DT, 5, 2) + "." + Mid(DT, 7, 2) + " " + Mid(DT, 9, 2) + ":" + Mid(DT, 11, 2) + ":" + Mid(DT, 13, 2) + " " + .Caption
If Not IsNull(.ExecutablePath) Then Out = Out + " " + .ExecutablePath
End With
Next
.Write Out
.Close
End With
|
------- Последний раз редактировалось megaloman, 04-01-2020 в 07:48. Отправлено: 15:15, 03-01-2020 | #7 |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать Круто! Спасибо большое! всё работает!
Конечный результат выглядит так: (???) powershell -command "Get-Process |select name,starttime |Out-File c:\temp\processlist.txt" @echo off setlocal enableextensions enabledelayedexpansion >"c:\temp\processlist.txt" ( echo Creation Date/Time Name for /f "usebackq skip=2 tokens=1,2" %%i in (`wmic.exe Process get Name^, CreationDate ^| findstr.exe /i /r /c:"^[0-9]"`) do ( set sDateTime=%%i echo !sDateTime:~6,2!.!sDateTime:~4,2!.!sDateTime:~0,4! !sDateTime:~8,2!:!sDateTime:~10,2!:!sDateTime:~12,2! %%~j ) ) endlocal exit /b 0 |
Последний раз редактировалось NLOLegion, 03-01-2020 в 15:51. Отправлено: 15:28, 03-01-2020 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата NLOLegion:
Цитата megaloman:
Скрытый текст
Option Explicit Dim objSWbemServicesEx Dim objSWbemDateTime Dim objSWbemObjectEx Set objSWbemServicesEx = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2") Set objSWbemDateTime = WScript.CreateObject("WbemScripting.SWbemDateTime") WScript.Echo "Creation Date/Time" & vbTab & "Name" For Each objSWbemObjectEx In objSWbemServicesEx.ExecQuery("SELECT Name, CreationDate FROM Win32_Process") objSWbemDateTime.Value = objSWbemObjectEx.CreationDate WScript.Echo objSWbemDateTime.GetVarDate() & vbTab & objSWbemObjectEx.Name Next Set objSWbemDateTime = Nothing Set objSWbemServicesEx = Nothing WScript.Quit 0 |
||
Отправлено: 15:58, 03-01-2020 | #9 |
fascinating rhythm Сообщения: 6621
|
Профиль | Отправить PM | Цитировать Ещё вариант:
powershell -command "gcim win32_process |select name,creationdate |Out-File c:\temp\processlist.txt" powershell -command "gwmi win32_process |select name,@{n='starttime';e={$_.converttodatetime($_.creationdate)}} |Out-File c:\temp\processlist.txt" Цитата Busla:
|
|
------- Отправлено: 16:15, 03-01-2020 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Получение списка пользователей | guxjloqpoc | Скриптовые языки администрирования Windows | 4 | 14-11-2016 10:27 | |
V. 2010 - [решено] Получение списка всех smtp-адресов сервера | Riiku | Microsoft Exchange Server | 3 | 31-07-2012 18:10 | |
[решено] Получение списка установленных программ | TERMINAL | AutoIt | 1 | 17-08-2011 13:28 | |
[решено] Получение списка неизвестных ключей реестра | morgan1991 | AutoIt | 5 | 07-03-2009 00:18 | |
[решено] Получение списка хендлов к файлу | Raistlin | Программирование и базы данных | 13 | 21-10-2005 16:59 |
|