Pet*_*y87 15 windows-server-2003 windows-services cmd.exe
这个问题的重点在后半部分。
我知道如何提取所有服务的列表以及如何过滤它们的状态。但是,我不确定该怎么做是提取服务设置为“运行方式”的用户帐户。
我没有使用 PowerShell 的选项(不幸的是),所以我正在寻找本机 CMD 方式。我假设有一种方法可以使用 sc 查询命令,但所有这些列表是:
SERVICE_NAME
TYPE
STATE
WIN32_EXIT_CODE
SERVICE_EXIT_CODE
CHECKPOINT
WAIT_HINT
Run Code Online (Sandbox Code Playgroud)
仅供参考 - 操作系统是 WINdows 2003 SP2,我需要所有服务的这些信息,所以如果我必须为每个服务手动完成,这是一个漫长的过程。
wmz*_*wmz 22
wmic:
所有服务的名称和帐户:
wmic service get name,startname
仅启动服务:
wmic service where started=true get name, startname
名称中具有特定模式的服务:
wmic service where 'name like "%sql%"' get name, startname
很好地格式化为 html 表(然后在浏览器中打开):
(wmic service where 'name like "%sql%"' get name, startname /format:htable >out.html) && out.html
完整语法在这里:https : //msdn.microsoft.com/en-us/library/aa394531%28v=vs.85%29.aspx
您可以分两步完成此操作:
sc \\localhost query | findstr SERVICE_NAME
sc \\localhost qc
+ SERVICE_NAME + | findstr SERVICE_START_NAME
我会推荐这样的批处理脚本:
@echo off
setlocal EnableDelayedExpansion
sc \\localhost query | findstr SERVICE_NAME > services.lst
for /f "tokens=1,2" %%A in (services.lst) do (
echo %%B
sc \\localhost qc %%B | findstr SERVICE_START_NAME
)
del services.lst
Run Code Online (Sandbox Code Playgroud)
这会给你一个这样的输出:
当然,您可以进一步清理该输出或以您喜欢的任何方式写入 CSV 文件。
归档时间: |
|
查看次数: |
66507 次 |
最近记录: |