Назад | Перейти на главную страницу

Запись всех запущенных служб в файл .csv с помощью WS2003

Я хочу перечислить все текущие запущенные службы и вывести их в файл .csv. Кто-нибудь знает как это сделать?

Могу ли я быть злым и предложить вариант Cygwin:

net start | sed -e '1,2d' -e ':a' -e N -e 's/\n  /,/' -e ta > services.csv

Немного Старый добрый сценарий оболочки:

@echo off
setlocal
set SERVICES=
for /f "skip=1 tokens=*" %%S in ('%SystemRoot%\System32\net.exe start') do call :ADD_SERVICE %%S
echo Running services are : [%SERVICES%]
endlocal
goto END

:ADD_SERVICE
set SERVICE=%*
if "%SERVICE%" == "" goto END
if "%SERVICE%" == "The command completed successfully." goto END
set SERVICES=%SERVICES%%SERVICE%,
goto END

:END

У меня есть более простая команда, чем в приведенных выше примерах. WMI устанавливается по умолчанию в Windows XP или Windows 2k3 и выше, хотя для использования программы wmic.exe может потребоваться инициализация машины перед локальной работой. В командной строке введите команду:

WMIC path Win32_Service where state='Running' get /format:csv

или для машины в сети:

WMIC /node:myserver Win32_Service where state='Running' get /format:csv

Перенаправьте вывод в файл по вашему выбору.

Изменение / format: csv на / format: list делает вывод читабельным. Один из моих серверов дает это для службы HP Insight:

AcceptPause=TRUE
AcceptStop=TRUE
Caption=HP Insight Storage Agents
CheckPoint=0
CreationClassName=Win32_Service
Description=HP Insight Storage Agents
DesktopInteract=FALSE
DisplayName=HP Insight Storage Agents
ErrorControl=Normal
ExitCode=0
InstallDate=
Name=CqMgStor
PathName=C:\WINDOWS\system32\CpqMgmt\cqmgstor\cqmgstor.exe
ProcessId=1836
ServiceSpecificExitCode=0
ServiceType=Own Process
Started=TRUE
StartMode=Auto
StartName=LocalSystem
State=Running
Status=OK
SystemCreationClassName=Win32_ComputerSystem
SystemName=CRL500
TagId=0
WaitHint=0

Скорее всего, вас не интересуют многие из этих атрибутов и значений. Предполагая, что вам нужны только Name, Caption и Pathname для каждого запущенного процесса, вы можете выполнить следующую команду, указав только эти атрибуты:

WMIC /node:myserver path Win32_Service where state='Running' get name,caption,pathname /format:csv

Роб

самый простой способ сделать это:

чистый старт> services.csv

Sysinternals имеет множество инструментов, которые предоставят более детальную подробную информацию из ваших процессов. Например, PsService, та же функция, которая передает результат в файл, при необходимости будет экспортировать "> filename.extension"